shen-ruby 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -47,206 +47,206 @@
47
47
  * explains this license in full. *
48
48
  * *
49
49
  *****************************************************************************************
50
- "(defun shen.<defprolog> (V898) (let Result (let Parse_shen.<predicate*> (shen.<predicate*> V898) (if (not (= (fail) Parse_shen.<predicate*>)) (let Parse_shen.<clauses*> (shen.<clauses*> Parse_shen.<predicate*>) (if (not (= (fail) Parse_shen.<clauses*>)) (shen.pair (hd Parse_shen.<clauses*>) (hd (shen.prolog->shen (map (lambda Parse_X (shen.insert-predicate (shen.hdtl Parse_shen.<predicate*>) Parse_X)) (shen.hdtl Parse_shen.<clauses*>))))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
50
+ "(defun shen.<defprolog> (V927) (let Result (let Parse_shen.<predicate*> (shen.<predicate*> V927) (if (not (= (fail) Parse_shen.<predicate*>)) (let Parse_shen.<clauses*> (shen.<clauses*> Parse_shen.<predicate*>) (if (not (= (fail) Parse_shen.<clauses*>)) (shen.pair (hd Parse_shen.<clauses*>) (hd (shen.prolog->shen (map (lambda Parse_X (shen.insert-predicate (shen.hdtl Parse_shen.<predicate*>) Parse_X)) (shen.hdtl Parse_shen.<clauses*>))))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
51
51
 
52
- (defun shen.prolog-error (V905 V906) (cond ((and (cons? V906) (and (cons? (tl V906)) (= () (tl (tl V906))))) (simple-error (cn "prolog syntax error in " (shen.app V905 (cn " here:
52
+ (defun shen.prolog-error (V934 V935) (cond ((and (cons? V935) (and (cons? (tl V935)) (= () (tl (tl V935))))) (simple-error (cn "prolog syntax error in " (shen.app V934 (cn " here:
53
53
 
54
- " (shen.app (shen.next-50 50 (hd V906)) "
55
- " shen.a)) shen.a)))) (true (simple-error (cn "prolog syntax error in " (shen.app V905 "
54
+ " (shen.app (shen.next-50 50 (hd V935)) "
55
+ " shen.a)) shen.a)))) (true (simple-error (cn "prolog syntax error in " (shen.app V934 "
56
56
  " shen.a))))))
57
57
 
58
- (defun shen.next-50 (V911 V912) (cond ((= () V912) "") ((= 0 V911) "") ((cons? V912) (cn (shen.decons-string (hd V912)) (shen.next-50 (- V911 1) (tl V912)))) (true (shen.sys-error shen.next-50))))
58
+ (defun shen.next-50 (V940 V941) (cond ((= () V941) "") ((= 0 V940) "") ((cons? V941) (cn (shen.decons-string (hd V941)) (shen.next-50 (- V940 1) (tl V941)))) (true (shen.sys-error shen.next-50))))
59
59
 
60
- (defun shen.decons-string (V913) (cond ((and (cons? V913) (and (= cons (hd V913)) (and (cons? (tl V913)) (and (cons? (tl (tl V913))) (= () (tl (tl (tl V913)))))))) (shen.app (shen.eval-cons V913) " " shen.s)) (true (shen.app V913 " " shen.r))))
60
+ (defun shen.decons-string (V942) (cond ((and (cons? V942) (and (= cons (hd V942)) (and (cons? (tl V942)) (and (cons? (tl (tl V942))) (= () (tl (tl (tl V942)))))))) (shen.app (shen.eval-cons V942) " " shen.s)) (true (shen.app V942 " " shen.r))))
61
61
 
62
- (defun shen.insert-predicate (V914 V915) (cond ((and (cons? V915) (and (cons? (tl V915)) (= () (tl (tl V915))))) (cons (cons V914 (hd V915)) (cons :- (tl V915)))) (true (shen.sys-error shen.insert-predicate))))
62
+ (defun shen.insert-predicate (V943 V944) (cond ((and (cons? V944) (and (cons? (tl V944)) (= () (tl (tl V944))))) (cons (cons V943 (hd V944)) (cons :- (tl V944)))) (true (shen.sys-error shen.insert-predicate))))
63
63
 
64
- (defun shen.<predicate*> (V920) (let Result (if (cons? (hd V920)) (let Parse_X (hd (hd V920)) (shen.pair (hd (shen.pair (tl (hd V920)) (shen.hdtl V920))) Parse_X)) (fail)) (if (= Result (fail)) (fail) Result)))
64
+ (defun shen.<predicate*> (V949) (let Result (if (cons? (hd V949)) (let Parse_X (hd (hd V949)) (shen.pair (hd (shen.pair (tl (hd V949)) (shen.hdtl V949))) Parse_X)) (fail)) (if (= Result (fail)) (fail) Result)))
65
65
 
66
- (defun shen.<clauses*> (V925) (let Result (let Parse_shen.<clause*> (shen.<clause*> V925) (if (not (= (fail) Parse_shen.<clause*>)) (let Parse_shen.<clauses*> (shen.<clauses*> Parse_shen.<clause*>) (if (not (= (fail) Parse_shen.<clauses*>)) (shen.pair (hd Parse_shen.<clauses*>) (cons (shen.hdtl Parse_shen.<clause*>) (shen.hdtl Parse_shen.<clauses*>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V925) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (append (shen.hdtl Parse_<e>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
66
+ (defun shen.<clauses*> (V954) (let Result (let Parse_shen.<clause*> (shen.<clause*> V954) (if (not (= (fail) Parse_shen.<clause*>)) (let Parse_shen.<clauses*> (shen.<clauses*> Parse_shen.<clause*>) (if (not (= (fail) Parse_shen.<clauses*>)) (shen.pair (hd Parse_shen.<clauses*>) (cons (shen.hdtl Parse_shen.<clause*>) (shen.hdtl Parse_shen.<clauses*>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V954) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (append (shen.hdtl Parse_<e>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
67
67
 
68
- (defun shen.<clause*> (V930) (let Result (let Parse_shen.<head*> (shen.<head*> V930) (if (not (= (fail) Parse_shen.<head*>)) (if (and (cons? (hd Parse_shen.<head*>)) (= <-- (hd (hd Parse_shen.<head*>)))) (let Parse_shen.<body*> (shen.<body*> (shen.pair (tl (hd Parse_shen.<head*>)) (shen.hdtl Parse_shen.<head*>))) (if (not (= (fail) Parse_shen.<body*>)) (let Parse_shen.<end*> (shen.<end*> Parse_shen.<body*>) (if (not (= (fail) Parse_shen.<end*>)) (shen.pair (hd Parse_shen.<end*>) (cons (shen.hdtl Parse_shen.<head*>) (cons (shen.hdtl Parse_shen.<body*>) ()))) (fail))) (fail))) (fail)) (fail))) (if (= Result (fail)) (fail) Result)))
68
+ (defun shen.<clause*> (V959) (let Result (let Parse_shen.<head*> (shen.<head*> V959) (if (not (= (fail) Parse_shen.<head*>)) (if (and (cons? (hd Parse_shen.<head*>)) (= <-- (hd (hd Parse_shen.<head*>)))) (let Parse_shen.<body*> (shen.<body*> (shen.pair (tl (hd Parse_shen.<head*>)) (shen.hdtl Parse_shen.<head*>))) (if (not (= (fail) Parse_shen.<body*>)) (let Parse_shen.<end*> (shen.<end*> Parse_shen.<body*>) (if (not (= (fail) Parse_shen.<end*>)) (shen.pair (hd Parse_shen.<end*>) (cons (shen.hdtl Parse_shen.<head*>) (cons (shen.hdtl Parse_shen.<body*>) ()))) (fail))) (fail))) (fail)) (fail))) (if (= Result (fail)) (fail) Result)))
69
69
 
70
- (defun shen.<head*> (V935) (let Result (let Parse_shen.<term*> (shen.<term*> V935) (if (not (= (fail) Parse_shen.<term*>)) (let Parse_shen.<head*> (shen.<head*> Parse_shen.<term*>) (if (not (= (fail) Parse_shen.<head*>)) (shen.pair (hd Parse_shen.<head*>) (cons (shen.hdtl Parse_shen.<term*>) (shen.hdtl Parse_shen.<head*>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V935) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (append (shen.hdtl Parse_<e>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
70
+ (defun shen.<head*> (V964) (let Result (let Parse_shen.<term*> (shen.<term*> V964) (if (not (= (fail) Parse_shen.<term*>)) (let Parse_shen.<head*> (shen.<head*> Parse_shen.<term*>) (if (not (= (fail) Parse_shen.<head*>)) (shen.pair (hd Parse_shen.<head*>) (cons (shen.hdtl Parse_shen.<term*>) (shen.hdtl Parse_shen.<head*>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V964) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (append (shen.hdtl Parse_<e>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
71
71
 
72
- (defun shen.<term*> (V940) (let Result (if (cons? (hd V940)) (let Parse_X (hd (hd V940)) (if (and (not (= <-- Parse_X)) (shen.legitimate-term? Parse_X)) (shen.pair (hd (shen.pair (tl (hd V940)) (shen.hdtl V940))) (shen.eval-cons Parse_X)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
72
+ (defun shen.<term*> (V969) (let Result (if (cons? (hd V969)) (let Parse_X (hd (hd V969)) (if (and (not (= <-- Parse_X)) (shen.legitimate-term? Parse_X)) (shen.pair (hd (shen.pair (tl (hd V969)) (shen.hdtl V969))) (shen.eval-cons Parse_X)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
73
73
 
74
- (defun shen.legitimate-term? (V945) (cond ((and (cons? V945) (and (= cons (hd V945)) (and (cons? (tl V945)) (and (cons? (tl (tl V945))) (= () (tl (tl (tl V945)))))))) (and (shen.legitimate-term? (hd (tl V945))) (shen.legitimate-term? (hd (tl (tl V945)))))) ((and (cons? V945) (and (= mode (hd V945)) (and (cons? (tl V945)) (and (cons? (tl (tl V945))) (and (= + (hd (tl (tl V945)))) (= () (tl (tl (tl V945))))))))) (shen.legitimate-term? (hd (tl V945)))) ((and (cons? V945) (and (= mode (hd V945)) (and (cons? (tl V945)) (and (cons? (tl (tl V945))) (and (= - (hd (tl (tl V945)))) (= () (tl (tl (tl V945))))))))) (shen.legitimate-term? (hd (tl V945)))) ((cons? V945) false) (true true)))
74
+ (defun shen.legitimate-term? (V974) (cond ((and (cons? V974) (and (= cons (hd V974)) (and (cons? (tl V974)) (and (cons? (tl (tl V974))) (= () (tl (tl (tl V974)))))))) (and (shen.legitimate-term? (hd (tl V974))) (shen.legitimate-term? (hd (tl (tl V974)))))) ((and (cons? V974) (and (= mode (hd V974)) (and (cons? (tl V974)) (and (cons? (tl (tl V974))) (and (= + (hd (tl (tl V974)))) (= () (tl (tl (tl V974))))))))) (shen.legitimate-term? (hd (tl V974)))) ((and (cons? V974) (and (= mode (hd V974)) (and (cons? (tl V974)) (and (cons? (tl (tl V974))) (and (= - (hd (tl (tl V974)))) (= () (tl (tl (tl V974))))))))) (shen.legitimate-term? (hd (tl V974)))) ((cons? V974) false) (true true)))
75
75
 
76
- (defun shen.eval-cons (V946) (cond ((and (cons? V946) (and (= cons (hd V946)) (and (cons? (tl V946)) (and (cons? (tl (tl V946))) (= () (tl (tl (tl V946)))))))) (cons (shen.eval-cons (hd (tl V946))) (shen.eval-cons (hd (tl (tl V946)))))) ((and (cons? V946) (and (= mode (hd V946)) (and (cons? (tl V946)) (and (cons? (tl (tl V946))) (= () (tl (tl (tl V946)))))))) (cons mode (cons (shen.eval-cons (hd (tl V946))) (tl (tl V946))))) (true V946)))
76
+ (defun shen.eval-cons (V975) (cond ((and (cons? V975) (and (= cons (hd V975)) (and (cons? (tl V975)) (and (cons? (tl (tl V975))) (= () (tl (tl (tl V975)))))))) (cons (shen.eval-cons (hd (tl V975))) (shen.eval-cons (hd (tl (tl V975)))))) ((and (cons? V975) (and (= mode (hd V975)) (and (cons? (tl V975)) (and (cons? (tl (tl V975))) (= () (tl (tl (tl V975)))))))) (cons mode (cons (shen.eval-cons (hd (tl V975))) (tl (tl V975))))) (true V975)))
77
77
 
78
- (defun shen.<body*> (V951) (let Result (let Parse_shen.<literal*> (shen.<literal*> V951) (if (not (= (fail) Parse_shen.<literal*>)) (let Parse_shen.<body*> (shen.<body*> Parse_shen.<literal*>) (if (not (= (fail) Parse_shen.<body*>)) (shen.pair (hd Parse_shen.<body*>) (cons (shen.hdtl Parse_shen.<literal*>) (shen.hdtl Parse_shen.<body*>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V951) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (append (shen.hdtl Parse_<e>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
78
+ (defun shen.<body*> (V980) (let Result (let Parse_shen.<literal*> (shen.<literal*> V980) (if (not (= (fail) Parse_shen.<literal*>)) (let Parse_shen.<body*> (shen.<body*> Parse_shen.<literal*>) (if (not (= (fail) Parse_shen.<body*>)) (shen.pair (hd Parse_shen.<body*>) (cons (shen.hdtl Parse_shen.<literal*>) (shen.hdtl Parse_shen.<body*>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V980) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (append (shen.hdtl Parse_<e>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
79
79
 
80
- (defun shen.<literal*> (V956) (let Result (if (and (cons? (hd V956)) (= ! (hd (hd V956)))) (shen.pair (hd (shen.pair (tl (hd V956)) (shen.hdtl V956))) (cons cut (cons (intern "Throwcontrol") ()))) (fail)) (if (= Result (fail)) (let Result (if (cons? (hd V956)) (let Parse_X (hd (hd V956)) (if (cons? Parse_X) (shen.pair (hd (shen.pair (tl (hd V956)) (shen.hdtl V956))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)) Result)))
80
+ (defun shen.<literal*> (V985) (let Result (if (and (cons? (hd V985)) (= ! (hd (hd V985)))) (shen.pair (hd (shen.pair (tl (hd V985)) (shen.hdtl V985))) (cons cut (cons (intern "Throwcontrol") ()))) (fail)) (if (= Result (fail)) (let Result (if (cons? (hd V985)) (let Parse_X (hd (hd V985)) (if (cons? Parse_X) (shen.pair (hd (shen.pair (tl (hd V985)) (shen.hdtl V985))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)) Result)))
81
81
 
82
- (defun shen.<end*> (V961) (let Result (if (cons? (hd V961)) (let Parse_X (hd (hd V961)) (if (= Parse_X ;) (shen.pair (hd (shen.pair (tl (hd V961)) (shen.hdtl V961))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
82
+ (defun shen.<end*> (V990) (let Result (if (cons? (hd V990)) (let Parse_X (hd (hd V990)) (if (= Parse_X ;) (shen.pair (hd (shen.pair (tl (hd V990)) (shen.hdtl V990))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
83
83
 
84
- (defun cut (V962 V963 V964) (let Result (thaw V964) (if (= Result false) V962 Result)))
84
+ (defun cut (V991 V992 V993) (let Result (thaw V993) (if (= Result false) V991 Result)))
85
85
 
86
- (defun shen.insert_modes (V965) (cond ((and (cons? V965) (and (= mode (hd V965)) (and (cons? (tl V965)) (and (cons? (tl (tl V965))) (= () (tl (tl (tl V965)))))))) V965) ((= () V965) ()) ((cons? V965) (cons (cons mode (cons (hd V965) (cons + ()))) (cons mode (cons (shen.insert_modes (tl V965)) (cons - ()))))) (true V965)))
86
+ (defun shen.insert_modes (V994) (cond ((and (cons? V994) (and (= mode (hd V994)) (and (cons? (tl V994)) (and (cons? (tl (tl V994))) (= () (tl (tl (tl V994)))))))) V994) ((= () V994) ()) ((cons? V994) (cons (cons mode (cons (hd V994) (cons + ()))) (cons mode (cons (shen.insert_modes (tl V994)) (cons - ()))))) (true V994)))
87
87
 
88
- (defun shen.s-prolog (V966) (map (lambda V892 (eval V892)) (shen.prolog->shen V966)))
88
+ (defun shen.s-prolog (V995) (map (lambda V921 (eval V921)) (shen.prolog->shen V995)))
89
89
 
90
- (defun shen.prolog->shen (V967) (map shen.compile_prolog_procedure (shen.group_clauses (map shen.s-prolog_clause (mapcan shen.head_abstraction V967)))))
90
+ (defun shen.prolog->shen (V996) (map shen.compile_prolog_procedure (shen.group_clauses (map shen.s-prolog_clause (mapcan shen.head_abstraction V996)))))
91
91
 
92
- (defun shen.s-prolog_clause (V968) (cond ((and (cons? V968) (and (cons? (tl V968)) (and (= :- (hd (tl V968))) (and (cons? (tl (tl V968))) (= () (tl (tl (tl V968)))))))) (cons (hd V968) (cons :- (cons (map shen.s-prolog_literal (hd (tl (tl V968)))) ())))) (true (shen.sys-error shen.s-prolog_clause))))
92
+ (defun shen.s-prolog_clause (V997) (cond ((and (cons? V997) (and (cons? (tl V997)) (and (= :- (hd (tl V997))) (and (cons? (tl (tl V997))) (= () (tl (tl (tl V997)))))))) (cons (hd V997) (cons :- (cons (map shen.s-prolog_literal (hd (tl (tl V997)))) ())))) (true (shen.sys-error shen.s-prolog_clause))))
93
93
 
94
- (defun shen.head_abstraction (V969) (cond ((and (cons? V969) (and (cons? (tl V969)) (and (= :- (hd (tl V969))) (and (cons? (tl (tl V969))) (and (= () (tl (tl (tl V969)))) (< (shen.complexity_head (hd V969)) (value shen.*maxcomplexity*))))))) (cons V969 ())) ((and (cons? V969) (and (cons? (hd V969)) (and (cons? (tl V969)) (and (= :- (hd (tl V969))) (and (cons? (tl (tl V969))) (= () (tl (tl (tl V969))))))))) (let Terms (map (lambda Y (gensym V)) (tl (hd V969))) (let XTerms (shen.rcons_form (shen.remove_modes (tl (hd V969)))) (let Literal (cons unify (cons (shen.cons_form Terms) (cons XTerms ()))) (let Clause (cons (cons (hd (hd V969)) Terms) (cons :- (cons (cons Literal (hd (tl (tl V969)))) ()))) (cons Clause ())))))) (true (shen.sys-error shen.head_abstraction))))
94
+ (defun shen.head_abstraction (V998) (cond ((and (cons? V998) (and (cons? (tl V998)) (and (= :- (hd (tl V998))) (and (cons? (tl (tl V998))) (and (= () (tl (tl (tl V998)))) (< (shen.complexity_head (hd V998)) (value shen.*maxcomplexity*))))))) (cons V998 ())) ((and (cons? V998) (and (cons? (hd V998)) (and (cons? (tl V998)) (and (= :- (hd (tl V998))) (and (cons? (tl (tl V998))) (= () (tl (tl (tl V998))))))))) (let Terms (map (lambda Y (gensym V)) (tl (hd V998))) (let XTerms (shen.rcons_form (shen.remove_modes (tl (hd V998)))) (let Literal (cons unify (cons (shen.cons_form Terms) (cons XTerms ()))) (let Clause (cons (cons (hd (hd V998)) Terms) (cons :- (cons (cons Literal (hd (tl (tl V998)))) ()))) (cons Clause ())))))) (true (shen.sys-error shen.head_abstraction))))
95
95
 
96
- (defun shen.complexity_head (V974) (cond ((cons? V974) (shen.product (map shen.complexity (tl V974)))) (true (shen.sys-error shen.complexity_head))))
96
+ (defun shen.complexity_head (V1003) (cond ((cons? V1003) (shen.product (map shen.complexity (tl V1003)))) (true (shen.sys-error shen.complexity_head))))
97
97
 
98
- (defun shen.complexity (V982) (cond ((and (cons? V982) (and (= mode (hd V982)) (and (cons? (tl V982)) (and (cons? (hd (tl V982))) (and (= mode (hd (hd (tl V982)))) (and (cons? (tl (hd (tl V982)))) (and (cons? (tl (tl (hd (tl V982))))) (and (= () (tl (tl (tl (hd (tl V982)))))) (and (cons? (tl (tl V982))) (= () (tl (tl (tl V982))))))))))))) (shen.complexity (hd (tl V982)))) ((and (cons? V982) (and (= mode (hd V982)) (and (cons? (tl V982)) (and (cons? (hd (tl V982))) (and (cons? (tl (tl V982))) (and (= + (hd (tl (tl V982)))) (= () (tl (tl (tl V982)))))))))) (* 2 (* (shen.complexity (cons mode (cons (hd (hd (tl V982))) (tl (tl V982))))) (shen.complexity (cons mode (cons (tl (hd (tl V982))) (tl (tl V982)))))))) ((and (cons? V982) (and (= mode (hd V982)) (and (cons? (tl V982)) (and (cons? (hd (tl V982))) (and (cons? (tl (tl V982))) (and (= - (hd (tl (tl V982)))) (= () (tl (tl (tl V982)))))))))) (* (shen.complexity (cons mode (cons (hd (hd (tl V982))) (tl (tl V982))))) (shen.complexity (cons mode (cons (tl (hd (tl V982))) (tl (tl V982))))))) ((and (cons? V982) (and (= mode (hd V982)) (and (cons? (tl V982)) (and (cons? (tl (tl V982))) (and (= () (tl (tl (tl V982)))) (variable? (hd (tl V982)))))))) 1) ((and (cons? V982) (and (= mode (hd V982)) (and (cons? (tl V982)) (and (cons? (tl (tl V982))) (and (= + (hd (tl (tl V982)))) (= () (tl (tl (tl V982))))))))) 2) ((and (cons? V982) (and (= mode (hd V982)) (and (cons? (tl V982)) (and (cons? (tl (tl V982))) (and (= - (hd (tl (tl V982)))) (= () (tl (tl (tl V982))))))))) 1) (true (shen.complexity (cons mode (cons V982 (cons + ())))))))
98
+ (defun shen.complexity (V1011) (cond ((and (cons? V1011) (and (= mode (hd V1011)) (and (cons? (tl V1011)) (and (cons? (hd (tl V1011))) (and (= mode (hd (hd (tl V1011)))) (and (cons? (tl (hd (tl V1011)))) (and (cons? (tl (tl (hd (tl V1011))))) (and (= () (tl (tl (tl (hd (tl V1011)))))) (and (cons? (tl (tl V1011))) (= () (tl (tl (tl V1011))))))))))))) (shen.complexity (hd (tl V1011)))) ((and (cons? V1011) (and (= mode (hd V1011)) (and (cons? (tl V1011)) (and (cons? (hd (tl V1011))) (and (cons? (tl (tl V1011))) (and (= + (hd (tl (tl V1011)))) (= () (tl (tl (tl V1011)))))))))) (* 2 (* (shen.complexity (cons mode (cons (hd (hd (tl V1011))) (tl (tl V1011))))) (shen.complexity (cons mode (cons (tl (hd (tl V1011))) (tl (tl V1011)))))))) ((and (cons? V1011) (and (= mode (hd V1011)) (and (cons? (tl V1011)) (and (cons? (hd (tl V1011))) (and (cons? (tl (tl V1011))) (and (= - (hd (tl (tl V1011)))) (= () (tl (tl (tl V1011)))))))))) (* (shen.complexity (cons mode (cons (hd (hd (tl V1011))) (tl (tl V1011))))) (shen.complexity (cons mode (cons (tl (hd (tl V1011))) (tl (tl V1011))))))) ((and (cons? V1011) (and (= mode (hd V1011)) (and (cons? (tl V1011)) (and (cons? (tl (tl V1011))) (and (= () (tl (tl (tl V1011)))) (variable? (hd (tl V1011)))))))) 1) ((and (cons? V1011) (and (= mode (hd V1011)) (and (cons? (tl V1011)) (and (cons? (tl (tl V1011))) (and (= + (hd (tl (tl V1011)))) (= () (tl (tl (tl V1011))))))))) 2) ((and (cons? V1011) (and (= mode (hd V1011)) (and (cons? (tl V1011)) (and (cons? (tl (tl V1011))) (and (= - (hd (tl (tl V1011)))) (= () (tl (tl (tl V1011))))))))) 1) (true (shen.complexity (cons mode (cons V1011 (cons + ())))))))
99
99
 
100
- (defun shen.product (V983) (cond ((= () V983) 1) ((cons? V983) (* (hd V983) (shen.product (tl V983)))) (true (shen.sys-error shen.product))))
100
+ (defun shen.product (V1012) (cond ((= () V1012) 1) ((cons? V1012) (* (hd V1012) (shen.product (tl V1012)))) (true (shen.sys-error shen.product))))
101
101
 
102
- (defun shen.s-prolog_literal (V984) (cond ((and (cons? V984) (and (= is (hd V984)) (and (cons? (tl V984)) (and (cons? (tl (tl V984))) (= () (tl (tl (tl V984)))))))) (cons bind (cons (hd (tl V984)) (cons (shen.insert_deref (hd (tl (tl V984)))) ())))) ((and (cons? V984) (and (= when (hd V984)) (and (cons? (tl V984)) (= () (tl (tl V984)))))) (cons fwhen (cons (shen.insert_deref (hd (tl V984))) ()))) ((and (cons? V984) (and (= bind (hd V984)) (and (cons? (tl V984)) (and (cons? (tl (tl V984))) (= () (tl (tl (tl V984)))))))) (cons bind (cons (hd (tl V984)) (cons (shen.insert_lazyderef (hd (tl (tl V984)))) ())))) ((and (cons? V984) (and (= fwhen (hd V984)) (and (cons? (tl V984)) (= () (tl (tl V984)))))) (cons fwhen (cons (shen.insert_lazyderef (hd (tl V984))) ()))) ((cons? V984) (cons (shen.m_prolog_to_s-prolog_predicate (hd V984)) (tl V984))) (true (shen.sys-error shen.s-prolog_literal))))
102
+ (defun shen.s-prolog_literal (V1013) (cond ((and (cons? V1013) (and (= is (hd V1013)) (and (cons? (tl V1013)) (and (cons? (tl (tl V1013))) (= () (tl (tl (tl V1013)))))))) (cons bind (cons (hd (tl V1013)) (cons (shen.insert_deref (hd (tl (tl V1013)))) ())))) ((and (cons? V1013) (and (= when (hd V1013)) (and (cons? (tl V1013)) (= () (tl (tl V1013)))))) (cons fwhen (cons (shen.insert_deref (hd (tl V1013))) ()))) ((and (cons? V1013) (and (= bind (hd V1013)) (and (cons? (tl V1013)) (and (cons? (tl (tl V1013))) (= () (tl (tl (tl V1013)))))))) (cons bind (cons (hd (tl V1013)) (cons (shen.insert_lazyderef (hd (tl (tl V1013)))) ())))) ((and (cons? V1013) (and (= fwhen (hd V1013)) (and (cons? (tl V1013)) (= () (tl (tl V1013)))))) (cons fwhen (cons (shen.insert_lazyderef (hd (tl V1013))) ()))) ((cons? V1013) (cons (shen.m_prolog_to_s-prolog_predicate (hd V1013)) (tl V1013))) (true (shen.sys-error shen.s-prolog_literal))))
103
103
 
104
- (defun shen.insert_deref (V985) (cond ((variable? V985) (cons shen.deref (cons V985 (cons ProcessN ())))) ((cons? V985) (cons (shen.insert_deref (hd V985)) (shen.insert_deref (tl V985)))) (true V985)))
104
+ (defun shen.insert_deref (V1014) (cond ((variable? V1014) (cons shen.deref (cons V1014 (cons ProcessN ())))) ((cons? V1014) (cons (shen.insert_deref (hd V1014)) (shen.insert_deref (tl V1014)))) (true V1014)))
105
105
 
106
- (defun shen.insert_lazyderef (V986) (cond ((variable? V986) (cons shen.lazyderef (cons V986 (cons ProcessN ())))) ((cons? V986) (cons (shen.insert_lazyderef (hd V986)) (shen.insert_lazyderef (tl V986)))) (true V986)))
106
+ (defun shen.insert_lazyderef (V1015) (cond ((variable? V1015) (cons shen.lazyderef (cons V1015 (cons ProcessN ())))) ((cons? V1015) (cons (shen.insert_lazyderef (hd V1015)) (shen.insert_lazyderef (tl V1015)))) (true V1015)))
107
107
 
108
- (defun shen.m_prolog_to_s-prolog_predicate (V987) (cond ((= = V987) unify) ((= =! V987) unify!) ((= == V987) identical) (true V987)))
108
+ (defun shen.m_prolog_to_s-prolog_predicate (V1016) (cond ((= = V1016) unify) ((= =! V1016) unify!) ((= == V1016) identical) (true V1016)))
109
109
 
110
- (defun shen.group_clauses (V988) (cond ((= () V988) ()) ((cons? V988) (let Group (shen.collect (lambda X (shen.same_predicate? (hd V988) X)) V988) (let Rest (difference V988 Group) (cons Group (shen.group_clauses Rest))))) (true (shen.sys-error shen.group_clauses))))
110
+ (defun shen.group_clauses (V1017) (cond ((= () V1017) ()) ((cons? V1017) (let Group (shen.collect (lambda X (shen.same_predicate? (hd V1017) X)) V1017) (let Rest (difference V1017 Group) (cons Group (shen.group_clauses Rest))))) (true (shen.sys-error shen.group_clauses))))
111
111
 
112
- (defun shen.collect (V991 V992) (cond ((= () V992) ()) ((cons? V992) (if (V991 (hd V992)) (cons (hd V992) (shen.collect V991 (tl V992))) (shen.collect V991 (tl V992)))) (true (shen.sys-error shen.collect))))
112
+ (defun shen.collect (V1020 V1021) (cond ((= () V1021) ()) ((cons? V1021) (if (V1020 (hd V1021)) (cons (hd V1021) (shen.collect V1020 (tl V1021))) (shen.collect V1020 (tl V1021)))) (true (shen.sys-error shen.collect))))
113
113
 
114
- (defun shen.same_predicate? (V1009 V1010) (cond ((and (cons? V1009) (and (cons? (hd V1009)) (and (cons? V1010) (cons? (hd V1010))))) (= (hd (hd V1009)) (hd (hd V1010)))) (true (shen.sys-error shen.same_predicate?))))
114
+ (defun shen.same_predicate? (V1038 V1039) (cond ((and (cons? V1038) (and (cons? (hd V1038)) (and (cons? V1039) (cons? (hd V1039))))) (= (hd (hd V1038)) (hd (hd V1039)))) (true (shen.sys-error shen.same_predicate?))))
115
115
 
116
- (defun shen.compile_prolog_procedure (V1011) (let F (shen.procedure_name V1011) (let Shen (shen.clauses-to-shen F V1011) Shen)))
116
+ (defun shen.compile_prolog_procedure (V1040) (let F (shen.procedure_name V1040) (let Shen (shen.clauses-to-shen F V1040) Shen)))
117
117
 
118
- (defun shen.procedure_name (V1024) (cond ((and (cons? V1024) (and (cons? (hd V1024)) (cons? (hd (hd V1024))))) (hd (hd (hd V1024)))) (true (shen.sys-error shen.procedure_name))))
118
+ (defun shen.procedure_name (V1053) (cond ((and (cons? V1053) (and (cons? (hd V1053)) (cons? (hd (hd V1053))))) (hd (hd (hd V1053)))) (true (shen.sys-error shen.procedure_name))))
119
119
 
120
- (defun shen.clauses-to-shen (V1025 V1026) (let Linear (map shen.linearise-clause V1026) (let Arity (shen.prolog-aritycheck V1025 (map (lambda V893 (head V893)) V1026)) (let Parameters (shen.parameters Arity) (let AUM_instructions (map (lambda X (shen.aum X Parameters)) Linear) (let Code (shen.catch-cut (shen.nest-disjunct (map shen.aum_to_shen AUM_instructions))) (let ShenDef (cons define (cons V1025 (append Parameters (append (cons ProcessN (cons Continuation ())) (cons -> (cons Code ())))))) ShenDef)))))))
120
+ (defun shen.clauses-to-shen (V1054 V1055) (let Linear (map shen.linearise-clause V1055) (let Arity (shen.prolog-aritycheck V1054 (map (lambda V922 (head V922)) V1055)) (let Parameters (shen.parameters Arity) (let AUM_instructions (map (lambda X (shen.aum X Parameters)) Linear) (let Code (shen.catch-cut (shen.nest-disjunct (map shen.aum_to_shen AUM_instructions))) (let ShenDef (cons define (cons V1054 (append Parameters (append (cons ProcessN (cons Continuation ())) (cons -> (cons Code ())))))) ShenDef)))))))
121
121
 
122
- (defun shen.catch-cut (V1027) (cond ((not (shen.occurs? cut V1027)) V1027) (true (cons let (cons Throwcontrol (cons (cons shen.catchpoint ()) (cons (cons shen.cutpoint (cons Throwcontrol (cons V1027 ()))) ())))))))
122
+ (defun shen.catch-cut (V1056) (cond ((not (shen.occurs? cut V1056)) V1056) (true (cons let (cons Throwcontrol (cons (cons shen.catchpoint ()) (cons (cons shen.cutpoint (cons Throwcontrol (cons V1056 ()))) ())))))))
123
123
 
124
124
  (defun shen.catchpoint () (set shen.*catch* (+ 1 (value shen.*catch*))))
125
125
 
126
- (defun shen.cutpoint (V1032 V1033) (cond ((= V1033 V1032) false) (true V1033)))
126
+ (defun shen.cutpoint (V1061 V1062) (cond ((= V1062 V1061) false) (true V1062)))
127
127
 
128
- (defun shen.nest-disjunct (V1035) (cond ((and (cons? V1035) (= () (tl V1035))) (hd V1035)) ((cons? V1035) (shen.lisp-or (hd V1035) (shen.nest-disjunct (tl V1035)))) (true (shen.sys-error shen.nest-disjunct))))
128
+ (defun shen.nest-disjunct (V1064) (cond ((and (cons? V1064) (= () (tl V1064))) (hd V1064)) ((cons? V1064) (shen.lisp-or (hd V1064) (shen.nest-disjunct (tl V1064)))) (true (shen.sys-error shen.nest-disjunct))))
129
129
 
130
- (defun shen.lisp-or (V1036 V1037) (cons let (cons Case (cons V1036 (cons (cons if (cons (cons = (cons Case (cons false ()))) (cons V1037 (cons Case ())))) ())))))
130
+ (defun shen.lisp-or (V1065 V1066) (cons let (cons Case (cons V1065 (cons (cons if (cons (cons = (cons Case (cons false ()))) (cons V1066 (cons Case ())))) ())))))
131
131
 
132
- (defun shen.prolog-aritycheck (V1040 V1041) (cond ((and (cons? V1041) (= () (tl V1041))) (- (length (hd V1041)) 1)) ((and (cons? V1041) (cons? (tl V1041))) (if (= (length (hd V1041)) (length (hd (tl V1041)))) (shen.prolog-aritycheck V1040 (tl V1041)) (simple-error (cn "arity error in prolog procedure " (shen.app (cons V1040 ()) "
132
+ (defun shen.prolog-aritycheck (V1069 V1070) (cond ((and (cons? V1070) (= () (tl V1070))) (- (length (hd V1070)) 1)) ((and (cons? V1070) (cons? (tl V1070))) (if (= (length (hd V1070)) (length (hd (tl V1070)))) (shen.prolog-aritycheck V1069 (tl V1070)) (simple-error (cn "arity error in prolog procedure " (shen.app (cons V1069 ()) "
133
133
  " shen.a))))) (true (shen.sys-error shen.prolog-aritycheck))))
134
134
 
135
- (defun shen.linearise-clause (V1042) (cond ((and (cons? V1042) (and (cons? (tl V1042)) (and (= :- (hd (tl V1042))) (and (cons? (tl (tl V1042))) (= () (tl (tl (tl V1042)))))))) (let Linear (shen.linearise (cons (hd V1042) (tl (tl V1042)))) (shen.clause_form Linear))) (true (shen.sys-error shen.linearise-clause))))
135
+ (defun shen.linearise-clause (V1071) (cond ((and (cons? V1071) (and (cons? (tl V1071)) (and (= :- (hd (tl V1071))) (and (cons? (tl (tl V1071))) (= () (tl (tl (tl V1071)))))))) (let Linear (shen.linearise (cons (hd V1071) (tl (tl V1071)))) (shen.clause_form Linear))) (true (shen.sys-error shen.linearise-clause))))
136
136
 
137
- (defun shen.clause_form (V1043) (cond ((and (cons? V1043) (and (cons? (tl V1043)) (= () (tl (tl V1043))))) (cons (shen.explicit_modes (hd V1043)) (cons :- (cons (shen.cf_help (hd (tl V1043))) ())))) (true (shen.sys-error shen.clause_form))))
137
+ (defun shen.clause_form (V1072) (cond ((and (cons? V1072) (and (cons? (tl V1072)) (= () (tl (tl V1072))))) (cons (shen.explicit_modes (hd V1072)) (cons :- (cons (shen.cf_help (hd (tl V1072))) ())))) (true (shen.sys-error shen.clause_form))))
138
138
 
139
- (defun shen.explicit_modes (V1044) (cond ((cons? V1044) (cons (hd V1044) (map shen.em_help (tl V1044)))) (true (shen.sys-error shen.explicit_modes))))
139
+ (defun shen.explicit_modes (V1073) (cond ((cons? V1073) (cons (hd V1073) (map shen.em_help (tl V1073)))) (true (shen.sys-error shen.explicit_modes))))
140
140
 
141
- (defun shen.em_help (V1045) (cond ((and (cons? V1045) (and (= mode (hd V1045)) (and (cons? (tl V1045)) (and (cons? (tl (tl V1045))) (= () (tl (tl (tl V1045)))))))) V1045) (true (cons mode (cons V1045 (cons + ()))))))
141
+ (defun shen.em_help (V1074) (cond ((and (cons? V1074) (and (= mode (hd V1074)) (and (cons? (tl V1074)) (and (cons? (tl (tl V1074))) (= () (tl (tl (tl V1074)))))))) V1074) (true (cons mode (cons V1074 (cons + ()))))))
142
142
 
143
- (defun shen.cf_help (V1046) (cond ((and (cons? V1046) (and (= where (hd V1046)) (and (cons? (tl V1046)) (and (cons? (hd (tl V1046))) (and (= = (hd (hd (tl V1046)))) (and (cons? (tl (hd (tl V1046)))) (and (cons? (tl (tl (hd (tl V1046))))) (and (= () (tl (tl (tl (hd (tl V1046)))))) (and (cons? (tl (tl V1046))) (= () (tl (tl (tl V1046))))))))))))) (cons (cons (if (value shen.*occurs*) unify! unify) (tl (hd (tl V1046)))) (shen.cf_help (hd (tl (tl V1046)))))) (true V1046)))
143
+ (defun shen.cf_help (V1075) (cond ((and (cons? V1075) (and (= where (hd V1075)) (and (cons? (tl V1075)) (and (cons? (hd (tl V1075))) (and (= = (hd (hd (tl V1075)))) (and (cons? (tl (hd (tl V1075)))) (and (cons? (tl (tl (hd (tl V1075))))) (and (= () (tl (tl (tl (hd (tl V1075)))))) (and (cons? (tl (tl V1075))) (= () (tl (tl (tl V1075))))))))))))) (cons (cons (if (value shen.*occurs*) unify! unify) (tl (hd (tl V1075)))) (shen.cf_help (hd (tl (tl V1075)))))) (true V1075)))
144
144
 
145
- (defun occurs-check (V1051) (cond ((= + V1051) (set shen.*occurs* true)) ((= - V1051) (set shen.*occurs* false)) (true (simple-error "occurs-check expects + or -
145
+ (defun occurs-check (V1080) (cond ((= + V1080) (set shen.*occurs* true)) ((= - V1080) (set shen.*occurs* false)) (true (simple-error "occurs-check expects + or -
146
146
  "))))
147
147
 
148
- (defun shen.aum (V1052 V1053) (cond ((and (cons? V1052) (and (cons? (hd V1052)) (and (cons? (tl V1052)) (and (= :- (hd (tl V1052))) (and (cons? (tl (tl V1052))) (= () (tl (tl (tl V1052))))))))) (let MuApplication (shen.make_mu_application (cons shen.mu (cons (tl (hd V1052)) (cons (shen.continuation_call (tl (hd V1052)) (hd (tl (tl V1052)))) ()))) V1053) (shen.mu_reduction MuApplication +))) (true (shen.sys-error shen.aum))))
148
+ (defun shen.aum (V1081 V1082) (cond ((and (cons? V1081) (and (cons? (hd V1081)) (and (cons? (tl V1081)) (and (= :- (hd (tl V1081))) (and (cons? (tl (tl V1081))) (= () (tl (tl (tl V1081))))))))) (let MuApplication (shen.make_mu_application (cons shen.mu (cons (tl (hd V1081)) (cons (shen.continuation_call (tl (hd V1081)) (hd (tl (tl V1081)))) ()))) V1082) (shen.mu_reduction MuApplication +))) (true (shen.sys-error shen.aum))))
149
149
 
150
- (defun shen.continuation_call (V1054 V1055) (let VTerms (cons ProcessN (shen.extract_vars V1054)) (let VBody (shen.extract_vars V1055) (let Free (remove Throwcontrol (difference VBody VTerms)) (shen.cc_help Free V1055)))))
150
+ (defun shen.continuation_call (V1083 V1084) (let VTerms (cons ProcessN (shen.extract_vars V1083)) (let VBody (shen.extract_vars V1084) (let Free (remove Throwcontrol (difference VBody VTerms)) (shen.cc_help Free V1084)))))
151
151
 
152
- (defun remove (V1056 V1057) (shen.remove-h V1056 V1057 ()))
152
+ (defun remove (V1085 V1086) (shen.remove-h V1085 V1086 ()))
153
153
 
154
- (defun shen.remove-h (V1060 V1061 V1062) (cond ((= () V1061) (reverse V1062)) ((and (cons? V1061) (= (hd V1061) V1060)) (shen.remove-h (hd V1061) (tl V1061) V1062)) ((cons? V1061) (shen.remove-h V1060 (tl V1061) (cons (hd V1061) V1062))) (true (shen.sys-error shen.remove-h))))
154
+ (defun shen.remove-h (V1089 V1090 V1091) (cond ((= () V1090) (reverse V1091)) ((and (cons? V1090) (= (hd V1090) V1089)) (shen.remove-h (hd V1090) (tl V1090) V1091)) ((cons? V1090) (shen.remove-h V1089 (tl V1090) (cons (hd V1090) V1091))) (true (shen.sys-error shen.remove-h))))
155
155
 
156
- (defun shen.cc_help (V1064 V1065) (cond ((and (= () V1064) (= () V1065)) (cons shen.pop (cons shen.the (cons shen.stack ())))) ((= () V1065) (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons V1064 (cons and (cons shen.then (cons (cons shen.pop (cons shen.the (cons shen.stack ()))) ()))))))))) ((= () V1064) (cons call (cons shen.the (cons shen.continuation (cons V1065 ()))))) (true (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons V1064 (cons and (cons shen.then (cons (cons call (cons shen.the (cons shen.continuation (cons V1065 ())))) ())))))))))))
156
+ (defun shen.cc_help (V1093 V1094) (cond ((and (= () V1093) (= () V1094)) (cons shen.pop (cons shen.the (cons shen.stack ())))) ((= () V1094) (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons V1093 (cons and (cons shen.then (cons (cons shen.pop (cons shen.the (cons shen.stack ()))) ()))))))))) ((= () V1093) (cons call (cons shen.the (cons shen.continuation (cons V1094 ()))))) (true (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons V1093 (cons and (cons shen.then (cons (cons call (cons shen.the (cons shen.continuation (cons V1094 ())))) ())))))))))))
157
157
 
158
- (defun shen.make_mu_application (V1066 V1067) (cond ((and (cons? V1066) (and (= shen.mu (hd V1066)) (and (cons? (tl V1066)) (and (= () (hd (tl V1066))) (and (cons? (tl (tl V1066))) (and (= () (tl (tl (tl V1066)))) (= () V1067))))))) (hd (tl (tl V1066)))) ((and (cons? V1066) (and (= shen.mu (hd V1066)) (and (cons? (tl V1066)) (and (cons? (hd (tl V1066))) (and (cons? (tl (tl V1066))) (and (= () (tl (tl (tl V1066)))) (cons? V1067))))))) (cons (cons shen.mu (cons (hd (hd (tl V1066))) (cons (shen.make_mu_application (cons shen.mu (cons (tl (hd (tl V1066))) (tl (tl V1066)))) (tl V1067)) ()))) (cons (hd V1067) ()))) (true (shen.sys-error shen.make_mu_application))))
158
+ (defun shen.make_mu_application (V1095 V1096) (cond ((and (cons? V1095) (and (= shen.mu (hd V1095)) (and (cons? (tl V1095)) (and (= () (hd (tl V1095))) (and (cons? (tl (tl V1095))) (and (= () (tl (tl (tl V1095)))) (= () V1096))))))) (hd (tl (tl V1095)))) ((and (cons? V1095) (and (= shen.mu (hd V1095)) (and (cons? (tl V1095)) (and (cons? (hd (tl V1095))) (and (cons? (tl (tl V1095))) (and (= () (tl (tl (tl V1095)))) (cons? V1096))))))) (cons (cons shen.mu (cons (hd (hd (tl V1095))) (cons (shen.make_mu_application (cons shen.mu (cons (tl (hd (tl V1095))) (tl (tl V1095)))) (tl V1096)) ()))) (cons (hd V1096) ()))) (true (shen.sys-error shen.make_mu_application))))
159
159
 
160
- (defun shen.mu_reduction (V1074 V1075) (cond ((and (cons? V1074) (and (cons? (hd V1074)) (and (= shen.mu (hd (hd V1074))) (and (cons? (tl (hd V1074))) (and (cons? (hd (tl (hd V1074)))) (and (= mode (hd (hd (tl (hd V1074))))) (and (cons? (tl (hd (tl (hd V1074))))) (and (cons? (tl (tl (hd (tl (hd V1074)))))) (and (= () (tl (tl (tl (hd (tl (hd V1074))))))) (and (cons? (tl (tl (hd V1074)))) (and (= () (tl (tl (tl (hd V1074))))) (and (cons? (tl V1074)) (= () (tl (tl V1074))))))))))))))) (shen.mu_reduction (cons (cons shen.mu (cons (hd (tl (hd (tl (hd V1074))))) (tl (tl (hd V1074))))) (tl V1074)) (hd (tl (tl (hd (tl (hd V1074)))))))) ((and (cons? V1074) (and (cons? (hd V1074)) (and (= shen.mu (hd (hd V1074))) (and (cons? (tl (hd V1074))) (and (cons? (tl (tl (hd V1074)))) (and (= () (tl (tl (tl (hd V1074))))) (and (cons? (tl V1074)) (and (= () (tl (tl V1074))) (= _ (hd (tl (hd V1074)))))))))))) (shen.mu_reduction (hd (tl (tl (hd V1074)))) V1075)) ((and (cons? V1074) (and (cons? (hd V1074)) (and (= shen.mu (hd (hd V1074))) (and (cons? (tl (hd V1074))) (and (cons? (tl (tl (hd V1074)))) (and (= () (tl (tl (tl (hd V1074))))) (and (cons? (tl V1074)) (and (= () (tl (tl V1074))) (shen.ephemeral_variable? (hd (tl (hd V1074))) (hd (tl V1074))))))))))) (subst (hd (tl V1074)) (hd (tl (hd V1074))) (shen.mu_reduction (hd (tl (tl (hd V1074)))) V1075))) ((and (cons? V1074) (and (cons? (hd V1074)) (and (= shen.mu (hd (hd V1074))) (and (cons? (tl (hd V1074))) (and (cons? (tl (tl (hd V1074)))) (and (= () (tl (tl (tl (hd V1074))))) (and (cons? (tl V1074)) (and (= () (tl (tl V1074))) (variable? (hd (tl (hd V1074)))))))))))) (cons let (cons (hd (tl (hd V1074))) (cons shen.be (cons (hd (tl V1074)) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V1074)))) V1075) ()))))))) ((and (cons? V1074) (and (cons? (hd V1074)) (and (= shen.mu (hd (hd V1074))) (and (cons? (tl (hd V1074))) (and (cons? (tl (tl (hd V1074)))) (and (= () (tl (tl (tl (hd V1074))))) (and (cons? (tl V1074)) (and (= () (tl (tl V1074))) (and (= - V1075) (shen.prolog_constant? (hd (tl (hd V1074))))))))))))) (let Z (gensym V) (cons let (cons Z (cons shen.be (cons (cons shen.the (cons shen.result (cons shen.of (cons shen.dereferencing (tl V1074))))) (cons in (cons (cons if (cons (cons Z (cons is (cons identical (cons shen.to (cons (hd (tl (hd V1074))) ()))))) (cons shen.then (cons (shen.mu_reduction (hd (tl (tl (hd V1074)))) -) (cons shen.else (cons shen.failed! ())))))) ())))))))) ((and (cons? V1074) (and (cons? (hd V1074)) (and (= shen.mu (hd (hd V1074))) (and (cons? (tl (hd V1074))) (and (cons? (tl (tl (hd V1074)))) (and (= () (tl (tl (tl (hd V1074))))) (and (cons? (tl V1074)) (and (= () (tl (tl V1074))) (and (= + V1075) (shen.prolog_constant? (hd (tl (hd V1074))))))))))))) (let Z (gensym V) (cons let (cons Z (cons shen.be (cons (cons shen.the (cons shen.result (cons shen.of (cons shen.dereferencing (tl V1074))))) (cons in (cons (cons if (cons (cons Z (cons is (cons identical (cons shen.to (cons (hd (tl (hd V1074))) ()))))) (cons shen.then (cons (shen.mu_reduction (hd (tl (tl (hd V1074)))) +) (cons shen.else (cons (cons if (cons (cons Z (cons is (cons shen.a (cons shen.variable ())))) (cons shen.then (cons (cons bind (cons Z (cons shen.to (cons (hd (tl (hd V1074))) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V1074)))) +) ())))))) (cons shen.else (cons shen.failed! ())))))) ())))))) ())))))))) ((and (cons? V1074) (and (cons? (hd V1074)) (and (= shen.mu (hd (hd V1074))) (and (cons? (tl (hd V1074))) (and (cons? (hd (tl (hd V1074)))) (and (cons? (tl (tl (hd V1074)))) (and (= () (tl (tl (tl (hd V1074))))) (and (cons? (tl V1074)) (and (= () (tl (tl V1074))) (= - V1075)))))))))) (let Z (gensym V) (cons let (cons Z (cons shen.be (cons (cons shen.the (cons shen.result (cons shen.of (cons shen.dereferencing (tl V1074))))) (cons in (cons (cons if (cons (cons Z (cons is (cons shen.a (cons shen.non-empty (cons list ()))))) (cons shen.then (cons (shen.mu_reduction (cons (cons shen.mu (cons (hd (hd (tl (hd V1074)))) (cons (cons (cons shen.mu (cons (tl (hd (tl (hd V1074)))) (tl (tl (hd V1074))))) (cons (cons shen.the (cons tail (cons shen.of (cons Z ())))) ())) ()))) (cons (cons shen.the (cons head (cons shen.of (cons Z ())))) ())) -) (cons shen.else (cons shen.failed! ())))))) ())))))))) ((and (cons? V1074) (and (cons? (hd V1074)) (and (= shen.mu (hd (hd V1074))) (and (cons? (tl (hd V1074))) (and (cons? (hd (tl (hd V1074)))) (and (cons? (tl (tl (hd V1074)))) (and (= () (tl (tl (tl (hd V1074))))) (and (cons? (tl V1074)) (and (= () (tl (tl V1074))) (= + V1075)))))))))) (let Z (gensym V) (cons let (cons Z (cons shen.be (cons (cons shen.the (cons shen.result (cons shen.of (cons shen.dereferencing (tl V1074))))) (cons in (cons (cons if (cons (cons Z (cons is (cons shen.a (cons shen.non-empty (cons list ()))))) (cons shen.then (cons (shen.mu_reduction (cons (cons shen.mu (cons (hd (hd (tl (hd V1074)))) (cons (cons (cons shen.mu (cons (tl (hd (tl (hd V1074)))) (tl (tl (hd V1074))))) (cons (cons shen.the (cons tail (cons shen.of (cons Z ())))) ())) ()))) (cons (cons shen.the (cons head (cons shen.of (cons Z ())))) ())) +) (cons shen.else (cons (cons if (cons (cons Z (cons is (cons shen.a (cons shen.variable ())))) (cons shen.then (cons (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons (shen.extract_vars (hd (tl (hd V1074)))) (cons and (cons shen.then (cons (cons bind (cons Z (cons shen.to (cons (shen.rcons_form (shen.remove_modes (hd (tl (hd V1074))))) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V1074)))) +) ())))))) ())))))))) (cons shen.else (cons shen.failed! ())))))) ())))))) ())))))))) (true V1074)))
160
+ (defun shen.mu_reduction (V1103 V1104) (cond ((and (cons? V1103) (and (cons? (hd V1103)) (and (= shen.mu (hd (hd V1103))) (and (cons? (tl (hd V1103))) (and (cons? (hd (tl (hd V1103)))) (and (= mode (hd (hd (tl (hd V1103))))) (and (cons? (tl (hd (tl (hd V1103))))) (and (cons? (tl (tl (hd (tl (hd V1103)))))) (and (= () (tl (tl (tl (hd (tl (hd V1103))))))) (and (cons? (tl (tl (hd V1103)))) (and (= () (tl (tl (tl (hd V1103))))) (and (cons? (tl V1103)) (= () (tl (tl V1103))))))))))))))) (shen.mu_reduction (cons (cons shen.mu (cons (hd (tl (hd (tl (hd V1103))))) (tl (tl (hd V1103))))) (tl V1103)) (hd (tl (tl (hd (tl (hd V1103)))))))) ((and (cons? V1103) (and (cons? (hd V1103)) (and (= shen.mu (hd (hd V1103))) (and (cons? (tl (hd V1103))) (and (cons? (tl (tl (hd V1103)))) (and (= () (tl (tl (tl (hd V1103))))) (and (cons? (tl V1103)) (and (= () (tl (tl V1103))) (= _ (hd (tl (hd V1103)))))))))))) (shen.mu_reduction (hd (tl (tl (hd V1103)))) V1104)) ((and (cons? V1103) (and (cons? (hd V1103)) (and (= shen.mu (hd (hd V1103))) (and (cons? (tl (hd V1103))) (and (cons? (tl (tl (hd V1103)))) (and (= () (tl (tl (tl (hd V1103))))) (and (cons? (tl V1103)) (and (= () (tl (tl V1103))) (shen.ephemeral_variable? (hd (tl (hd V1103))) (hd (tl V1103))))))))))) (subst (hd (tl V1103)) (hd (tl (hd V1103))) (shen.mu_reduction (hd (tl (tl (hd V1103)))) V1104))) ((and (cons? V1103) (and (cons? (hd V1103)) (and (= shen.mu (hd (hd V1103))) (and (cons? (tl (hd V1103))) (and (cons? (tl (tl (hd V1103)))) (and (= () (tl (tl (tl (hd V1103))))) (and (cons? (tl V1103)) (and (= () (tl (tl V1103))) (variable? (hd (tl (hd V1103)))))))))))) (cons let (cons (hd (tl (hd V1103))) (cons shen.be (cons (hd (tl V1103)) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V1103)))) V1104) ()))))))) ((and (cons? V1103) (and (cons? (hd V1103)) (and (= shen.mu (hd (hd V1103))) (and (cons? (tl (hd V1103))) (and (cons? (tl (tl (hd V1103)))) (and (= () (tl (tl (tl (hd V1103))))) (and (cons? (tl V1103)) (and (= () (tl (tl V1103))) (and (= - V1104) (shen.prolog_constant? (hd (tl (hd V1103))))))))))))) (let Z (gensym V) (cons let (cons Z (cons shen.be (cons (cons shen.the (cons shen.result (cons shen.of (cons shen.dereferencing (tl V1103))))) (cons in (cons (cons if (cons (cons Z (cons is (cons identical (cons shen.to (cons (hd (tl (hd V1103))) ()))))) (cons shen.then (cons (shen.mu_reduction (hd (tl (tl (hd V1103)))) -) (cons shen.else (cons shen.failed! ())))))) ())))))))) ((and (cons? V1103) (and (cons? (hd V1103)) (and (= shen.mu (hd (hd V1103))) (and (cons? (tl (hd V1103))) (and (cons? (tl (tl (hd V1103)))) (and (= () (tl (tl (tl (hd V1103))))) (and (cons? (tl V1103)) (and (= () (tl (tl V1103))) (and (= + V1104) (shen.prolog_constant? (hd (tl (hd V1103))))))))))))) (let Z (gensym V) (cons let (cons Z (cons shen.be (cons (cons shen.the (cons shen.result (cons shen.of (cons shen.dereferencing (tl V1103))))) (cons in (cons (cons if (cons (cons Z (cons is (cons identical (cons shen.to (cons (hd (tl (hd V1103))) ()))))) (cons shen.then (cons (shen.mu_reduction (hd (tl (tl (hd V1103)))) +) (cons shen.else (cons (cons if (cons (cons Z (cons is (cons shen.a (cons shen.variable ())))) (cons shen.then (cons (cons bind (cons Z (cons shen.to (cons (hd (tl (hd V1103))) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V1103)))) +) ())))))) (cons shen.else (cons shen.failed! ())))))) ())))))) ())))))))) ((and (cons? V1103) (and (cons? (hd V1103)) (and (= shen.mu (hd (hd V1103))) (and (cons? (tl (hd V1103))) (and (cons? (hd (tl (hd V1103)))) (and (cons? (tl (tl (hd V1103)))) (and (= () (tl (tl (tl (hd V1103))))) (and (cons? (tl V1103)) (and (= () (tl (tl V1103))) (= - V1104)))))))))) (let Z (gensym V) (cons let (cons Z (cons shen.be (cons (cons shen.the (cons shen.result (cons shen.of (cons shen.dereferencing (tl V1103))))) (cons in (cons (cons if (cons (cons Z (cons is (cons shen.a (cons shen.non-empty (cons list ()))))) (cons shen.then (cons (shen.mu_reduction (cons (cons shen.mu (cons (hd (hd (tl (hd V1103)))) (cons (cons (cons shen.mu (cons (tl (hd (tl (hd V1103)))) (tl (tl (hd V1103))))) (cons (cons shen.the (cons tail (cons shen.of (cons Z ())))) ())) ()))) (cons (cons shen.the (cons head (cons shen.of (cons Z ())))) ())) -) (cons shen.else (cons shen.failed! ())))))) ())))))))) ((and (cons? V1103) (and (cons? (hd V1103)) (and (= shen.mu (hd (hd V1103))) (and (cons? (tl (hd V1103))) (and (cons? (hd (tl (hd V1103)))) (and (cons? (tl (tl (hd V1103)))) (and (= () (tl (tl (tl (hd V1103))))) (and (cons? (tl V1103)) (and (= () (tl (tl V1103))) (= + V1104)))))))))) (let Z (gensym V) (cons let (cons Z (cons shen.be (cons (cons shen.the (cons shen.result (cons shen.of (cons shen.dereferencing (tl V1103))))) (cons in (cons (cons if (cons (cons Z (cons is (cons shen.a (cons shen.non-empty (cons list ()))))) (cons shen.then (cons (shen.mu_reduction (cons (cons shen.mu (cons (hd (hd (tl (hd V1103)))) (cons (cons (cons shen.mu (cons (tl (hd (tl (hd V1103)))) (tl (tl (hd V1103))))) (cons (cons shen.the (cons tail (cons shen.of (cons Z ())))) ())) ()))) (cons (cons shen.the (cons head (cons shen.of (cons Z ())))) ())) +) (cons shen.else (cons (cons if (cons (cons Z (cons is (cons shen.a (cons shen.variable ())))) (cons shen.then (cons (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons (shen.extract_vars (hd (tl (hd V1103)))) (cons and (cons shen.then (cons (cons bind (cons Z (cons shen.to (cons (shen.rcons_form (shen.remove_modes (hd (tl (hd V1103))))) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V1103)))) +) ())))))) ())))))))) (cons shen.else (cons shen.failed! ())))))) ())))))) ())))))))) (true V1103)))
161
161
 
162
- (defun shen.rcons_form (V1076) (cond ((cons? V1076) (cons cons (cons (shen.rcons_form (hd V1076)) (cons (shen.rcons_form (tl V1076)) ())))) (true V1076)))
162
+ (defun shen.rcons_form (V1105) (cond ((cons? V1105) (cons cons (cons (shen.rcons_form (hd V1105)) (cons (shen.rcons_form (tl V1105)) ())))) (true V1105)))
163
163
 
164
- (defun shen.remove_modes (V1077) (cond ((and (cons? V1077) (and (= mode (hd V1077)) (and (cons? (tl V1077)) (and (cons? (tl (tl V1077))) (and (= + (hd (tl (tl V1077)))) (= () (tl (tl (tl V1077))))))))) (shen.remove_modes (hd (tl V1077)))) ((and (cons? V1077) (and (= mode (hd V1077)) (and (cons? (tl V1077)) (and (cons? (tl (tl V1077))) (and (= - (hd (tl (tl V1077)))) (= () (tl (tl (tl V1077))))))))) (shen.remove_modes (hd (tl V1077)))) ((cons? V1077) (cons (shen.remove_modes (hd V1077)) (shen.remove_modes (tl V1077)))) (true V1077)))
164
+ (defun shen.remove_modes (V1106) (cond ((and (cons? V1106) (and (= mode (hd V1106)) (and (cons? (tl V1106)) (and (cons? (tl (tl V1106))) (and (= + (hd (tl (tl V1106)))) (= () (tl (tl (tl V1106))))))))) (shen.remove_modes (hd (tl V1106)))) ((and (cons? V1106) (and (= mode (hd V1106)) (and (cons? (tl V1106)) (and (cons? (tl (tl V1106))) (and (= - (hd (tl (tl V1106)))) (= () (tl (tl (tl V1106))))))))) (shen.remove_modes (hd (tl V1106)))) ((cons? V1106) (cons (shen.remove_modes (hd V1106)) (shen.remove_modes (tl V1106)))) (true V1106)))
165
165
 
166
- (defun shen.ephemeral_variable? (V1078 V1079) (and (variable? V1078) (variable? V1079)))
166
+ (defun shen.ephemeral_variable? (V1107 V1108) (and (variable? V1107) (variable? V1108)))
167
167
 
168
- (defun shen.prolog_constant? (V1088) (cond ((cons? V1088) false) (true true)))
168
+ (defun shen.prolog_constant? (V1117) (cond ((cons? V1117) false) (true true)))
169
169
 
170
- (defun shen.aum_to_shen (V1089) (cond ((and (cons? V1089) (and (= let (hd V1089)) (and (cons? (tl V1089)) (and (cons? (tl (tl V1089))) (and (= shen.be (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (cons? (tl (tl (tl (tl V1089))))) (and (= in (hd (tl (tl (tl (tl V1089)))))) (and (cons? (tl (tl (tl (tl (tl V1089)))))) (= () (tl (tl (tl (tl (tl (tl V1089)))))))))))))))) (cons let (cons (hd (tl V1089)) (cons (shen.aum_to_shen (hd (tl (tl (tl V1089))))) (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V1089))))))) ()))))) ((and (cons? V1089) (and (= shen.the (hd V1089)) (and (cons? (tl V1089)) (and (= shen.result (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.of (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (= shen.dereferencing (hd (tl (tl (tl V1089))))) (and (cons? (tl (tl (tl (tl V1089))))) (= () (tl (tl (tl (tl (tl V1089))))))))))))))) (cons shen.lazyderef (cons (shen.aum_to_shen (hd (tl (tl (tl (tl V1089)))))) (cons ProcessN ())))) ((and (cons? V1089) (and (= if (hd V1089)) (and (cons? (tl V1089)) (and (cons? (tl (tl V1089))) (and (= shen.then (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (cons? (tl (tl (tl (tl V1089))))) (and (= shen.else (hd (tl (tl (tl (tl V1089)))))) (and (cons? (tl (tl (tl (tl (tl V1089)))))) (= () (tl (tl (tl (tl (tl (tl V1089)))))))))))))))) (cons if (cons (shen.aum_to_shen (hd (tl V1089))) (cons (shen.aum_to_shen (hd (tl (tl (tl V1089))))) (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V1089))))))) ()))))) ((and (cons? V1089) (and (cons? (tl V1089)) (and (= is (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.a (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (= shen.variable (hd (tl (tl (tl V1089))))) (= () (tl (tl (tl (tl V1089)))))))))))) (cons shen.pvar? (cons (hd V1089) ()))) ((and (cons? V1089) (and (cons? (tl V1089)) (and (= is (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.a (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (= shen.non-empty (hd (tl (tl (tl V1089))))) (and (cons? (tl (tl (tl (tl V1089))))) (and (= list (hd (tl (tl (tl (tl V1089)))))) (= () (tl (tl (tl (tl (tl V1089))))))))))))))) (cons cons? (cons (hd V1089) ()))) ((and (cons? V1089) (and (= shen.rename (hd V1089)) (and (cons? (tl V1089)) (and (= shen.the (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.variables (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (= in (hd (tl (tl (tl V1089))))) (and (cons? (tl (tl (tl (tl V1089))))) (and (= () (hd (tl (tl (tl (tl V1089)))))) (and (cons? (tl (tl (tl (tl (tl V1089)))))) (and (= and (hd (tl (tl (tl (tl (tl V1089))))))) (and (cons? (tl (tl (tl (tl (tl (tl V1089))))))) (and (= shen.then (hd (tl (tl (tl (tl (tl (tl V1089)))))))) (and (cons? (tl (tl (tl (tl (tl (tl (tl V1089)))))))) (= () (tl (tl (tl (tl (tl (tl (tl (tl V1089)))))))))))))))))))))))) (shen.aum_to_shen (hd (tl (tl (tl (tl (tl (tl (tl V1089)))))))))) ((and (cons? V1089) (and (= shen.rename (hd V1089)) (and (cons? (tl V1089)) (and (= shen.the (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.variables (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (= in (hd (tl (tl (tl V1089))))) (and (cons? (tl (tl (tl (tl V1089))))) (and (cons? (hd (tl (tl (tl (tl V1089)))))) (and (cons? (tl (tl (tl (tl (tl V1089)))))) (and (= and (hd (tl (tl (tl (tl (tl V1089))))))) (and (cons? (tl (tl (tl (tl (tl (tl V1089))))))) (and (= shen.then (hd (tl (tl (tl (tl (tl (tl V1089)))))))) (and (cons? (tl (tl (tl (tl (tl (tl (tl V1089)))))))) (= () (tl (tl (tl (tl (tl (tl (tl (tl V1089)))))))))))))))))))))))) (cons let (cons (hd (hd (tl (tl (tl (tl V1089)))))) (cons (cons shen.newpv (cons ProcessN ())) (cons (shen.aum_to_shen (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons (tl (hd (tl (tl (tl (tl V1089)))))) (tl (tl (tl (tl (tl V1089))))))))))) ()))))) ((and (cons? V1089) (and (= bind (hd V1089)) (and (cons? (tl V1089)) (and (cons? (tl (tl V1089))) (and (= shen.to (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (cons? (tl (tl (tl (tl V1089))))) (and (= in (hd (tl (tl (tl (tl V1089)))))) (and (cons? (tl (tl (tl (tl (tl V1089)))))) (= () (tl (tl (tl (tl (tl (tl V1089)))))))))))))))) (cons do (cons (cons shen.bindv (cons (hd (tl V1089)) (cons (shen.chwild (hd (tl (tl (tl V1089))))) (cons ProcessN ())))) (cons (cons let (cons Result (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V1089))))))) (cons (cons do (cons (cons shen.unbindv (cons (hd (tl V1089)) (cons ProcessN ()))) (cons Result ()))) ())))) ())))) ((and (cons? V1089) (and (cons? (tl V1089)) (and (= is (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= identical (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (and (= shen.to (hd (tl (tl (tl V1089))))) (and (cons? (tl (tl (tl (tl V1089))))) (= () (tl (tl (tl (tl (tl V1089)))))))))))))) (cons = (cons (hd (tl (tl (tl (tl V1089))))) (cons (hd V1089) ())))) ((= shen.failed! V1089) false) ((and (cons? V1089) (and (= shen.the (hd V1089)) (and (cons? (tl V1089)) (and (= head (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.of (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (= () (tl (tl (tl (tl V1089)))))))))))) (cons hd (tl (tl (tl V1089))))) ((and (cons? V1089) (and (= shen.the (hd V1089)) (and (cons? (tl V1089)) (and (= tail (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.of (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (= () (tl (tl (tl (tl V1089)))))))))))) (cons tl (tl (tl (tl V1089))))) ((and (cons? V1089) (and (= shen.pop (hd V1089)) (and (cons? (tl V1089)) (and (= shen.the (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.stack (hd (tl (tl V1089)))) (= () (tl (tl (tl V1089)))))))))) (cons do (cons (cons shen.incinfs ()) (cons (cons thaw (cons Continuation ())) ())))) ((and (cons? V1089) (and (= call (hd V1089)) (and (cons? (tl V1089)) (and (= shen.the (hd (tl V1089))) (and (cons? (tl (tl V1089))) (and (= shen.continuation (hd (tl (tl V1089)))) (and (cons? (tl (tl (tl V1089)))) (= () (tl (tl (tl (tl V1089)))))))))))) (cons do (cons (cons shen.incinfs ()) (cons (shen.call_the_continuation (shen.chwild (hd (tl (tl (tl V1089))))) ProcessN Continuation) ())))) (true V1089)))
170
+ (defun shen.aum_to_shen (V1118) (cond ((and (cons? V1118) (and (= let (hd V1118)) (and (cons? (tl V1118)) (and (cons? (tl (tl V1118))) (and (= shen.be (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (cons? (tl (tl (tl (tl V1118))))) (and (= in (hd (tl (tl (tl (tl V1118)))))) (and (cons? (tl (tl (tl (tl (tl V1118)))))) (= () (tl (tl (tl (tl (tl (tl V1118)))))))))))))))) (cons let (cons (hd (tl V1118)) (cons (shen.aum_to_shen (hd (tl (tl (tl V1118))))) (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V1118))))))) ()))))) ((and (cons? V1118) (and (= shen.the (hd V1118)) (and (cons? (tl V1118)) (and (= shen.result (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.of (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (= shen.dereferencing (hd (tl (tl (tl V1118))))) (and (cons? (tl (tl (tl (tl V1118))))) (= () (tl (tl (tl (tl (tl V1118))))))))))))))) (cons shen.lazyderef (cons (shen.aum_to_shen (hd (tl (tl (tl (tl V1118)))))) (cons ProcessN ())))) ((and (cons? V1118) (and (= if (hd V1118)) (and (cons? (tl V1118)) (and (cons? (tl (tl V1118))) (and (= shen.then (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (cons? (tl (tl (tl (tl V1118))))) (and (= shen.else (hd (tl (tl (tl (tl V1118)))))) (and (cons? (tl (tl (tl (tl (tl V1118)))))) (= () (tl (tl (tl (tl (tl (tl V1118)))))))))))))))) (cons if (cons (shen.aum_to_shen (hd (tl V1118))) (cons (shen.aum_to_shen (hd (tl (tl (tl V1118))))) (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V1118))))))) ()))))) ((and (cons? V1118) (and (cons? (tl V1118)) (and (= is (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.a (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (= shen.variable (hd (tl (tl (tl V1118))))) (= () (tl (tl (tl (tl V1118)))))))))))) (cons shen.pvar? (cons (hd V1118) ()))) ((and (cons? V1118) (and (cons? (tl V1118)) (and (= is (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.a (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (= shen.non-empty (hd (tl (tl (tl V1118))))) (and (cons? (tl (tl (tl (tl V1118))))) (and (= list (hd (tl (tl (tl (tl V1118)))))) (= () (tl (tl (tl (tl (tl V1118))))))))))))))) (cons cons? (cons (hd V1118) ()))) ((and (cons? V1118) (and (= shen.rename (hd V1118)) (and (cons? (tl V1118)) (and (= shen.the (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.variables (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (= in (hd (tl (tl (tl V1118))))) (and (cons? (tl (tl (tl (tl V1118))))) (and (= () (hd (tl (tl (tl (tl V1118)))))) (and (cons? (tl (tl (tl (tl (tl V1118)))))) (and (= and (hd (tl (tl (tl (tl (tl V1118))))))) (and (cons? (tl (tl (tl (tl (tl (tl V1118))))))) (and (= shen.then (hd (tl (tl (tl (tl (tl (tl V1118)))))))) (and (cons? (tl (tl (tl (tl (tl (tl (tl V1118)))))))) (= () (tl (tl (tl (tl (tl (tl (tl (tl V1118)))))))))))))))))))))))) (shen.aum_to_shen (hd (tl (tl (tl (tl (tl (tl (tl V1118)))))))))) ((and (cons? V1118) (and (= shen.rename (hd V1118)) (and (cons? (tl V1118)) (and (= shen.the (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.variables (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (= in (hd (tl (tl (tl V1118))))) (and (cons? (tl (tl (tl (tl V1118))))) (and (cons? (hd (tl (tl (tl (tl V1118)))))) (and (cons? (tl (tl (tl (tl (tl V1118)))))) (and (= and (hd (tl (tl (tl (tl (tl V1118))))))) (and (cons? (tl (tl (tl (tl (tl (tl V1118))))))) (and (= shen.then (hd (tl (tl (tl (tl (tl (tl V1118)))))))) (and (cons? (tl (tl (tl (tl (tl (tl (tl V1118)))))))) (= () (tl (tl (tl (tl (tl (tl (tl (tl V1118)))))))))))))))))))))))) (cons let (cons (hd (hd (tl (tl (tl (tl V1118)))))) (cons (cons shen.newpv (cons ProcessN ())) (cons (shen.aum_to_shen (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons (tl (hd (tl (tl (tl (tl V1118)))))) (tl (tl (tl (tl (tl V1118))))))))))) ()))))) ((and (cons? V1118) (and (= bind (hd V1118)) (and (cons? (tl V1118)) (and (cons? (tl (tl V1118))) (and (= shen.to (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (cons? (tl (tl (tl (tl V1118))))) (and (= in (hd (tl (tl (tl (tl V1118)))))) (and (cons? (tl (tl (tl (tl (tl V1118)))))) (= () (tl (tl (tl (tl (tl (tl V1118)))))))))))))))) (cons do (cons (cons shen.bindv (cons (hd (tl V1118)) (cons (shen.chwild (hd (tl (tl (tl V1118))))) (cons ProcessN ())))) (cons (cons let (cons Result (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V1118))))))) (cons (cons do (cons (cons shen.unbindv (cons (hd (tl V1118)) (cons ProcessN ()))) (cons Result ()))) ())))) ())))) ((and (cons? V1118) (and (cons? (tl V1118)) (and (= is (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= identical (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (and (= shen.to (hd (tl (tl (tl V1118))))) (and (cons? (tl (tl (tl (tl V1118))))) (= () (tl (tl (tl (tl (tl V1118)))))))))))))) (cons = (cons (hd (tl (tl (tl (tl V1118))))) (cons (hd V1118) ())))) ((= shen.failed! V1118) false) ((and (cons? V1118) (and (= shen.the (hd V1118)) (and (cons? (tl V1118)) (and (= head (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.of (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (= () (tl (tl (tl (tl V1118)))))))))))) (cons hd (tl (tl (tl V1118))))) ((and (cons? V1118) (and (= shen.the (hd V1118)) (and (cons? (tl V1118)) (and (= tail (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.of (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (= () (tl (tl (tl (tl V1118)))))))))))) (cons tl (tl (tl (tl V1118))))) ((and (cons? V1118) (and (= shen.pop (hd V1118)) (and (cons? (tl V1118)) (and (= shen.the (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.stack (hd (tl (tl V1118)))) (= () (tl (tl (tl V1118)))))))))) (cons do (cons (cons shen.incinfs ()) (cons (cons thaw (cons Continuation ())) ())))) ((and (cons? V1118) (and (= call (hd V1118)) (and (cons? (tl V1118)) (and (= shen.the (hd (tl V1118))) (and (cons? (tl (tl V1118))) (and (= shen.continuation (hd (tl (tl V1118)))) (and (cons? (tl (tl (tl V1118)))) (= () (tl (tl (tl (tl V1118)))))))))))) (cons do (cons (cons shen.incinfs ()) (cons (shen.call_the_continuation (shen.chwild (hd (tl (tl (tl V1118))))) ProcessN Continuation) ())))) (true V1118)))
171
171
 
172
- (defun shen.chwild (V1090) (cond ((= V1090 _) (cons shen.newpv (cons ProcessN ()))) ((cons? V1090) (map shen.chwild V1090)) (true V1090)))
172
+ (defun shen.chwild (V1119) (cond ((= V1119 _) (cons shen.newpv (cons ProcessN ()))) ((cons? V1119) (map shen.chwild V1119)) (true V1119)))
173
173
 
174
- (defun shen.newpv (V1091) (let Count+1 (+ (<-address (value shen.*varcounter*) V1091) 1) (let IncVar (address-> (value shen.*varcounter*) V1091 Count+1) (let Vector (<-address (value shen.*prologvectors*) V1091) (let ResizeVectorIfNeeded (if (= Count+1 (limit Vector)) (shen.resizeprocessvector V1091 Count+1) shen.skip) (shen.mk-pvar Count+1))))))
174
+ (defun shen.newpv (V1120) (let Count+1 (+ (<-address (value shen.*varcounter*) V1120) 1) (let IncVar (address-> (value shen.*varcounter*) V1120 Count+1) (let Vector (<-address (value shen.*prologvectors*) V1120) (let ResizeVectorIfNeeded (if (= Count+1 (limit Vector)) (shen.resizeprocessvector V1120 Count+1) shen.skip) (shen.mk-pvar Count+1))))))
175
175
 
176
- (defun shen.resizeprocessvector (V1092 V1093) (let Vector (<-address (value shen.*prologvectors*) V1092) (let BigVector (shen.resize-vector Vector (+ V1093 V1093) shen.-null-) (address-> (value shen.*prologvectors*) V1092 BigVector))))
176
+ (defun shen.resizeprocessvector (V1121 V1122) (let Vector (<-address (value shen.*prologvectors*) V1121) (let BigVector (shen.resize-vector Vector (+ V1122 V1122) shen.-null-) (address-> (value shen.*prologvectors*) V1121 BigVector))))
177
177
 
178
- (defun shen.resize-vector (V1094 V1095 V1096) (let BigVector (address-> (absvector (+ 1 V1095)) 0 V1095) (shen.copy-vector V1094 BigVector (limit V1094) V1095 V1096)))
178
+ (defun shen.resize-vector (V1123 V1124 V1125) (let BigVector (address-> (absvector (+ 1 V1124)) 0 V1124) (shen.copy-vector V1123 BigVector (limit V1123) V1124 V1125)))
179
179
 
180
- (defun shen.copy-vector (V1097 V1098 V1099 V1100 V1101) (shen.copy-vector-stage-2 (+ 1 V1099) (+ V1100 1) V1101 (shen.copy-vector-stage-1 1 V1097 V1098 (+ 1 V1099))))
180
+ (defun shen.copy-vector (V1126 V1127 V1128 V1129 V1130) (shen.copy-vector-stage-2 (+ 1 V1128) (+ V1129 1) V1130 (shen.copy-vector-stage-1 1 V1126 V1127 (+ 1 V1128))))
181
181
 
182
- (defun shen.copy-vector-stage-1 (V1104 V1105 V1106 V1107) (cond ((= V1107 V1104) V1106) (true (shen.copy-vector-stage-1 (+ 1 V1104) V1105 (address-> V1106 V1104 (<-address V1105 V1104)) V1107))))
182
+ (defun shen.copy-vector-stage-1 (V1133 V1134 V1135 V1136) (cond ((= V1136 V1133) V1135) (true (shen.copy-vector-stage-1 (+ 1 V1133) V1134 (address-> V1135 V1133 (<-address V1134 V1133)) V1136))))
183
183
 
184
- (defun shen.copy-vector-stage-2 (V1111 V1112 V1113 V1114) (cond ((= V1112 V1111) V1114) (true (shen.copy-vector-stage-2 (+ V1111 1) V1112 V1113 (address-> V1114 V1111 V1113)))))
184
+ (defun shen.copy-vector-stage-2 (V1140 V1141 V1142 V1143) (cond ((= V1141 V1140) V1143) (true (shen.copy-vector-stage-2 (+ V1140 1) V1141 V1142 (address-> V1143 V1140 V1142)))))
185
185
 
186
- (defun shen.mk-pvar (V1116) (address-> (address-> (absvector 2) 0 shen.pvar) 1 V1116))
186
+ (defun shen.mk-pvar (V1145) (address-> (address-> (absvector 2) 0 shen.pvar) 1 V1145))
187
187
 
188
- (defun shen.pvar? (V1117) (and (absvector? V1117) (= (<-address V1117 0) shen.pvar)))
188
+ (defun shen.pvar? (V1146) (and (absvector? V1146) (= (<-address V1146 0) shen.pvar)))
189
189
 
190
- (defun shen.bindv (V1118 V1119 V1120) (let Vector (<-address (value shen.*prologvectors*) V1120) (address-> Vector (<-address V1118 1) V1119)))
190
+ (defun shen.bindv (V1147 V1148 V1149) (let Vector (<-address (value shen.*prologvectors*) V1149) (address-> Vector (<-address V1147 1) V1148)))
191
191
 
192
- (defun shen.unbindv (V1121 V1122) (let Vector (<-address (value shen.*prologvectors*) V1122) (address-> Vector (<-address V1121 1) shen.-null-)))
192
+ (defun shen.unbindv (V1150 V1151) (let Vector (<-address (value shen.*prologvectors*) V1151) (address-> Vector (<-address V1150 1) shen.-null-)))
193
193
 
194
194
  (defun shen.incinfs () (set shen.*infs* (+ 1 (value shen.*infs*))))
195
195
 
196
- (defun shen.call_the_continuation (V1123 V1124 V1125) (cond ((and (cons? V1123) (and (cons? (hd V1123)) (= () (tl V1123)))) (cons (hd (hd V1123)) (append (tl (hd V1123)) (cons V1124 (cons V1125 ()))))) ((and (cons? V1123) (cons? (hd V1123))) (let NewContinuation (shen.newcontinuation (tl V1123) V1124 V1125) (cons (hd (hd V1123)) (append (tl (hd V1123)) (cons V1124 (cons NewContinuation ())))))) (true (shen.sys-error shen.call_the_continuation))))
196
+ (defun shen.call_the_continuation (V1152 V1153 V1154) (cond ((and (cons? V1152) (and (cons? (hd V1152)) (= () (tl V1152)))) (cons (hd (hd V1152)) (append (tl (hd V1152)) (cons V1153 (cons V1154 ()))))) ((and (cons? V1152) (cons? (hd V1152))) (let NewContinuation (shen.newcontinuation (tl V1152) V1153 V1154) (cons (hd (hd V1152)) (append (tl (hd V1152)) (cons V1153 (cons NewContinuation ())))))) (true (shen.sys-error shen.call_the_continuation))))
197
197
 
198
- (defun shen.newcontinuation (V1126 V1127 V1128) (cond ((= () V1126) V1128) ((and (cons? V1126) (cons? (hd V1126))) (cons freeze (cons (cons (hd (hd V1126)) (append (tl (hd V1126)) (cons V1127 (cons (shen.newcontinuation (tl V1126) V1127 V1128) ())))) ()))) (true (shen.sys-error shen.newcontinuation))))
198
+ (defun shen.newcontinuation (V1155 V1156 V1157) (cond ((= () V1155) V1157) ((and (cons? V1155) (cons? (hd V1155))) (cons freeze (cons (cons (hd (hd V1155)) (append (tl (hd V1155)) (cons V1156 (cons (shen.newcontinuation (tl V1155) V1156 V1157) ())))) ()))) (true (shen.sys-error shen.newcontinuation))))
199
199
 
200
- (defun return (V1133 V1134 V1135) (shen.deref V1133 V1134))
200
+ (defun return (V1162 V1163 V1164) (shen.deref V1162 V1163))
201
201
 
202
- (defun shen.measure&return (V1140 V1141 V1142) (do (pr (shen.app (value shen.*infs*) " inferences
203
- " shen.a) (stoutput)) (shen.deref V1140 V1141)))
202
+ (defun shen.measure&return (V1169 V1170 V1171) (do (shen.prhush (shen.app (value shen.*infs*) " inferences
203
+ " shen.a) (stoutput)) (shen.deref V1169 V1170)))
204
204
 
205
- (defun unify (V1143 V1144 V1145 V1146) (shen.lzy= (shen.lazyderef V1143 V1145) (shen.lazyderef V1144 V1145) V1145 V1146))
205
+ (defun unify (V1172 V1173 V1174 V1175) (shen.lzy= (shen.lazyderef V1172 V1174) (shen.lazyderef V1173 V1174) V1174 V1175))
206
206
 
207
- (defun shen.lzy= (V1163 V1164 V1165 V1166) (cond ((= V1164 V1163) (thaw V1166)) ((shen.pvar? V1163) (bind V1163 V1164 V1165 V1166)) ((shen.pvar? V1164) (bind V1164 V1163 V1165 V1166)) ((and (cons? V1163) (cons? V1164)) (shen.lzy= (shen.lazyderef (hd V1163) V1165) (shen.lazyderef (hd V1164) V1165) V1165 (freeze (shen.lzy= (shen.lazyderef (tl V1163) V1165) (shen.lazyderef (tl V1164) V1165) V1165 V1166)))) (true false)))
207
+ (defun shen.lzy= (V1192 V1193 V1194 V1195) (cond ((= V1193 V1192) (thaw V1195)) ((shen.pvar? V1192) (bind V1192 V1193 V1194 V1195)) ((shen.pvar? V1193) (bind V1193 V1192 V1194 V1195)) ((and (cons? V1192) (cons? V1193)) (shen.lzy= (shen.lazyderef (hd V1192) V1194) (shen.lazyderef (hd V1193) V1194) V1194 (freeze (shen.lzy= (shen.lazyderef (tl V1192) V1194) (shen.lazyderef (tl V1193) V1194) V1194 V1195)))) (true false)))
208
208
 
209
- (defun shen.deref (V1168 V1169) (cond ((cons? V1168) (cons (shen.deref (hd V1168) V1169) (shen.deref (tl V1168) V1169))) (true (if (shen.pvar? V1168) (let Value (shen.valvector V1168 V1169) (if (= Value shen.-null-) V1168 (shen.deref Value V1169))) V1168))))
209
+ (defun shen.deref (V1197 V1198) (cond ((cons? V1197) (cons (shen.deref (hd V1197) V1198) (shen.deref (tl V1197) V1198))) (true (if (shen.pvar? V1197) (let Value (shen.valvector V1197 V1198) (if (= Value shen.-null-) V1197 (shen.deref Value V1198))) V1197))))
210
210
 
211
- (defun shen.lazyderef (V1170 V1171) (if (shen.pvar? V1170) (let Value (shen.valvector V1170 V1171) (if (= Value shen.-null-) V1170 (shen.lazyderef Value V1171))) V1170))
211
+ (defun shen.lazyderef (V1199 V1200) (if (shen.pvar? V1199) (let Value (shen.valvector V1199 V1200) (if (= Value shen.-null-) V1199 (shen.lazyderef Value V1200))) V1199))
212
212
 
213
- (defun shen.valvector (V1172 V1173) (<-address (<-address (value shen.*prologvectors*) V1173) (<-address V1172 1)))
213
+ (defun shen.valvector (V1201 V1202) (<-address (<-address (value shen.*prologvectors*) V1202) (<-address V1201 1)))
214
214
 
215
- (defun unify! (V1174 V1175 V1176 V1177) (shen.lzy=! (shen.lazyderef V1174 V1176) (shen.lazyderef V1175 V1176) V1176 V1177))
215
+ (defun unify! (V1203 V1204 V1205 V1206) (shen.lzy=! (shen.lazyderef V1203 V1205) (shen.lazyderef V1204 V1205) V1205 V1206))
216
216
 
217
- (defun shen.lzy=! (V1194 V1195 V1196 V1197) (cond ((= V1195 V1194) (thaw V1197)) ((and (shen.pvar? V1194) (not (shen.occurs? V1194 (shen.deref V1195 V1196)))) (bind V1194 V1195 V1196 V1197)) ((and (shen.pvar? V1195) (not (shen.occurs? V1195 (shen.deref V1194 V1196)))) (bind V1195 V1194 V1196 V1197)) ((and (cons? V1194) (cons? V1195)) (shen.lzy=! (shen.lazyderef (hd V1194) V1196) (shen.lazyderef (hd V1195) V1196) V1196 (freeze (shen.lzy=! (shen.lazyderef (tl V1194) V1196) (shen.lazyderef (tl V1195) V1196) V1196 V1197)))) (true false)))
217
+ (defun shen.lzy=! (V1223 V1224 V1225 V1226) (cond ((= V1224 V1223) (thaw V1226)) ((and (shen.pvar? V1223) (not (shen.occurs? V1223 (shen.deref V1224 V1225)))) (bind V1223 V1224 V1225 V1226)) ((and (shen.pvar? V1224) (not (shen.occurs? V1224 (shen.deref V1223 V1225)))) (bind V1224 V1223 V1225 V1226)) ((and (cons? V1223) (cons? V1224)) (shen.lzy=! (shen.lazyderef (hd V1223) V1225) (shen.lazyderef (hd V1224) V1225) V1225 (freeze (shen.lzy=! (shen.lazyderef (tl V1223) V1225) (shen.lazyderef (tl V1224) V1225) V1225 V1226)))) (true false)))
218
218
 
219
- (defun shen.occurs? (V1207 V1208) (cond ((= V1208 V1207) true) ((cons? V1208) (or (shen.occurs? V1207 (hd V1208)) (shen.occurs? V1207 (tl V1208)))) (true false)))
219
+ (defun shen.occurs? (V1236 V1237) (cond ((= V1237 V1236) true) ((cons? V1237) (or (shen.occurs? V1236 (hd V1237)) (shen.occurs? V1236 (tl V1237)))) (true false)))
220
220
 
221
- (defun identical (V1210 V1211 V1212 V1213) (shen.lzy== (shen.lazyderef V1210 V1212) (shen.lazyderef V1211 V1212) V1212 V1213))
221
+ (defun identical (V1239 V1240 V1241 V1242) (shen.lzy== (shen.lazyderef V1239 V1241) (shen.lazyderef V1240 V1241) V1241 V1242))
222
222
 
223
- (defun shen.lzy== (V1230 V1231 V1232 V1233) (cond ((= V1231 V1230) (thaw V1233)) ((and (cons? V1230) (cons? V1231)) (shen.lzy== (shen.lazyderef (hd V1230) V1232) (shen.lazyderef (hd V1231) V1232) V1232 (freeze (shen.lzy== (tl V1230) (tl V1231) V1232 V1233)))) (true false)))
223
+ (defun shen.lzy== (V1259 V1260 V1261 V1262) (cond ((= V1260 V1259) (thaw V1262)) ((and (cons? V1259) (cons? V1260)) (shen.lzy== (shen.lazyderef (hd V1259) V1261) (shen.lazyderef (hd V1260) V1261) V1261 (freeze (shen.lzy== (tl V1259) (tl V1260) V1261 V1262)))) (true false)))
224
224
 
225
- (defun shen.pvar (V1235) (cn "Var" (shen.app (<-address V1235 1) "" shen.a)))
225
+ (defun shen.pvar (V1264) (cn "Var" (shen.app (<-address V1264 1) "" shen.a)))
226
226
 
227
- (defun bind (V1236 V1237 V1238 V1239) (do (shen.bindv V1236 V1237 V1238) (let Result (thaw V1239) (do (shen.unbindv V1236 V1238) Result))))
227
+ (defun bind (V1265 V1266 V1267 V1268) (do (shen.bindv V1265 V1266 V1267) (let Result (thaw V1268) (do (shen.unbindv V1265 V1267) Result))))
228
228
 
229
- (defun fwhen (V1254 V1255 V1256) (cond ((= true V1254) (thaw V1256)) ((= false V1254) false) (true (simple-error (cn "fwhen expects a boolean: not " (shen.app V1254 "%" shen.s))))))
229
+ (defun fwhen (V1283 V1284 V1285) (cond ((= true V1283) (thaw V1285)) ((= false V1283) false) (true (simple-error (cn "fwhen expects a boolean: not " (shen.app V1283 "%" shen.s))))))
230
230
 
231
- (defun call (V1269 V1270 V1271) (cond ((cons? V1269) (shen.call-help (shen.m_prolog_to_s-prolog_predicate (shen.lazyderef (hd V1269) V1270)) (tl V1269) V1270 V1271)) (true false)))
231
+ (defun call (V1298 V1299 V1300) (cond ((cons? V1298) (shen.call-help (shen.m_prolog_to_s-prolog_predicate (shen.lazyderef (hd V1298) V1299)) (tl V1298) V1299 V1300)) (true false)))
232
232
 
233
- (defun shen.call-help (V1272 V1273 V1274 V1275) (cond ((= () V1273) (V1272 V1274 V1275)) ((cons? V1273) (shen.call-help (V1272 (hd V1273)) (tl V1273) V1274 V1275)) (true (shen.sys-error shen.call-help))))
233
+ (defun shen.call-help (V1301 V1302 V1303 V1304) (cond ((= () V1302) (V1301 V1303 V1304)) ((cons? V1302) (shen.call-help (V1301 (hd V1302)) (tl V1302) V1303 V1304)) (true (shen.sys-error shen.call-help))))
234
234
 
235
- (defun shen.intprolog (V1276) (cond ((and (cons? V1276) (cons? (hd V1276))) (let ProcessN (shen.start-new-prolog-process) (shen.intprolog-help (hd (hd V1276)) (shen.insert-prolog-variables (cons (tl (hd V1276)) (cons (tl V1276) ())) ProcessN) ProcessN))) (true (shen.sys-error shen.intprolog))))
235
+ (defun shen.intprolog (V1305) (cond ((and (cons? V1305) (cons? (hd V1305))) (let ProcessN (shen.start-new-prolog-process) (shen.intprolog-help (hd (hd V1305)) (shen.insert-prolog-variables (cons (tl (hd V1305)) (cons (tl V1305) ())) ProcessN) ProcessN))) (true (shen.sys-error shen.intprolog))))
236
236
 
237
- (defun shen.intprolog-help (V1277 V1278 V1279) (cond ((and (cons? V1278) (and (cons? (tl V1278)) (= () (tl (tl V1278))))) (shen.intprolog-help-help V1277 (hd V1278) (hd (tl V1278)) V1279)) (true (shen.sys-error shen.intprolog-help))))
237
+ (defun shen.intprolog-help (V1306 V1307 V1308) (cond ((and (cons? V1307) (and (cons? (tl V1307)) (= () (tl (tl V1307))))) (shen.intprolog-help-help V1306 (hd V1307) (hd (tl V1307)) V1308)) (true (shen.sys-error shen.intprolog-help))))
238
238
 
239
- (defun shen.intprolog-help-help (V1280 V1281 V1282 V1283) (cond ((= () V1281) (V1280 V1283 (freeze (shen.call-rest V1282 V1283)))) ((cons? V1281) (shen.intprolog-help-help (V1280 (hd V1281)) (tl V1281) V1282 V1283)) (true (shen.sys-error shen.intprolog-help-help))))
239
+ (defun shen.intprolog-help-help (V1309 V1310 V1311 V1312) (cond ((= () V1310) (V1309 V1312 (freeze (shen.call-rest V1311 V1312)))) ((cons? V1310) (shen.intprolog-help-help (V1309 (hd V1310)) (tl V1310) V1311 V1312)) (true (shen.sys-error shen.intprolog-help-help))))
240
240
 
241
- (defun shen.call-rest (V1286 V1287) (cond ((= () V1286) true) ((and (cons? V1286) (and (cons? (hd V1286)) (cons? (tl (hd V1286))))) (shen.call-rest (cons (cons ((hd (hd V1286)) (hd (tl (hd V1286)))) (tl (tl (hd V1286)))) (tl V1286)) V1287)) ((and (cons? V1286) (and (cons? (hd V1286)) (= () (tl (hd V1286))))) ((hd (hd V1286)) V1287 (freeze (shen.call-rest (tl V1286) V1287)))) (true (shen.sys-error shen.call-rest))))
241
+ (defun shen.call-rest (V1315 V1316) (cond ((= () V1315) true) ((and (cons? V1315) (and (cons? (hd V1315)) (cons? (tl (hd V1315))))) (shen.call-rest (cons (cons ((hd (hd V1315)) (hd (tl (hd V1315)))) (tl (tl (hd V1315)))) (tl V1315)) V1316)) ((and (cons? V1315) (and (cons? (hd V1315)) (= () (tl (hd V1315))))) ((hd (hd V1315)) V1316 (freeze (shen.call-rest (tl V1315) V1316)))) (true (shen.sys-error shen.call-rest))))
242
242
 
243
243
  (defun shen.start-new-prolog-process () (let IncrementProcessCounter (set shen.*process-counter* (+ 1 (value shen.*process-counter*))) (shen.initialise-prolog IncrementProcessCounter)))
244
244
 
245
- (defun shen.insert-prolog-variables (V1288 V1289) (shen.insert-prolog-variables-help V1288 (shen.flatten V1288) V1289))
245
+ (defun shen.insert-prolog-variables (V1317 V1318) (shen.insert-prolog-variables-help V1317 (shen.flatten V1317) V1318))
246
246
 
247
- (defun shen.insert-prolog-variables-help (V1294 V1295 V1296) (cond ((= () V1295) V1294) ((and (cons? V1295) (variable? (hd V1295))) (let V (shen.newpv V1296) (let XV/Y (subst V (hd V1295) V1294) (let Z-Y (remove (hd V1295) (tl V1295)) (shen.insert-prolog-variables-help XV/Y Z-Y V1296))))) ((cons? V1295) (shen.insert-prolog-variables-help V1294 (tl V1295) V1296)) (true (shen.sys-error shen.insert-prolog-variables-help))))
247
+ (defun shen.insert-prolog-variables-help (V1323 V1324 V1325) (cond ((= () V1324) V1323) ((and (cons? V1324) (variable? (hd V1324))) (let V (shen.newpv V1325) (let XV/Y (subst V (hd V1324) V1323) (let Z-Y (remove (hd V1324) (tl V1324)) (shen.insert-prolog-variables-help XV/Y Z-Y V1325))))) ((cons? V1324) (shen.insert-prolog-variables-help V1323 (tl V1324) V1325)) (true (shen.sys-error shen.insert-prolog-variables-help))))
248
248
 
249
- (defun shen.initialise-prolog (V1297) (let Vector (address-> (value shen.*prologvectors*) V1297 (shen.fillvector (vector 10) 1 10 shen.-null-)) (let Counter (address-> (value shen.*varcounter*) V1297 1) V1297)))
249
+ (defun shen.initialise-prolog (V1326) (let Vector (address-> (value shen.*prologvectors*) V1326 (shen.fillvector (vector 10) 1 10 shen.-null-)) (let Counter (address-> (value shen.*varcounter*) V1326 1) V1326)))
250
250
 
251
251
 
252
252
 
@@ -49,134 +49,142 @@
49
49
  *****************************************************************************************
50
50
  "(defun lineread () (shen.lineread-loop (read-byte (stinput)) ()))
51
51
 
52
- (defun shen.lineread-loop (V1300 V1301) (cond ((= V1300 (shen.hat)) (simple-error "line read aborted")) ((element? V1300 (cons (shen.newline) (cons (shen.carriage-return) ()))) (let Line (compile shen.<st_input> V1301 (lambda E shen.nextline)) (if (or (= Line shen.nextline) (empty? Line)) (shen.lineread-loop (read-byte (stinput)) (append V1301 (cons V1300 ()))) Line))) (true (shen.lineread-loop (read-byte (stinput)) (append V1301 (cons V1300 ()))))))
52
+ (defun shen.lineread-loop (V1329 V1330) (cond ((= V1329 (shen.hat)) (simple-error "line read aborted")) ((element? V1329 (cons (shen.newline) (cons (shen.carriage-return) ()))) (let Line (compile shen.<st_input> V1330 (lambda E shen.nextline)) (if (or (= Line shen.nextline) (empty? Line)) (shen.lineread-loop (read-byte (stinput)) (append V1330 (cons V1329 ()))) Line))) (true (shen.lineread-loop (read-byte (stinput)) (append V1330 (cons V1329 ()))))))
53
53
 
54
- (defun read-file (V1302) (let Bytelist (read-file-as-bytelist V1302) (compile shen.<st_input> Bytelist shen.read-error)))
54
+ (defun read-file (V1331) (let Bytelist (read-file-as-bytelist V1331) (compile shen.<st_input> Bytelist shen.read-error)))
55
55
 
56
- (defun shen.read-error (V1309) (cond ((and (cons? V1309) (and (cons? (hd V1309)) (and (cons? (tl V1309)) (= () (tl (tl V1309)))))) (simple-error (cn "read error here:
56
+ (defun shen.read-error (V1338) (cond ((and (cons? V1338) (and (cons? (hd V1338)) (and (cons? (tl V1338)) (= () (tl (tl V1338)))))) (simple-error (cn "read error here:
57
57
 
58
- " (shen.app (shen.compress-50 50 (hd V1309)) "
58
+ " (shen.app (shen.compress-50 50 (hd V1338)) "
59
59
  " shen.a)))) (true (simple-error "read error
60
60
  "))))
61
61
 
62
- (defun shen.compress-50 (V1314 V1315) (cond ((= () V1315) "") ((= 0 V1314) "") ((cons? V1315) (cn (n->string (hd V1315)) (shen.compress-50 (- V1314 1) (tl V1315)))) (true (shen.sys-error shen.compress-50))))
62
+ (defun shen.compress-50 (V1343 V1344) (cond ((= () V1344) "") ((= 0 V1343) "") ((cons? V1344) (cn (n->string (hd V1344)) (shen.compress-50 (- V1343 1) (tl V1344)))) (true (shen.sys-error shen.compress-50))))
63
63
 
64
- (defun shen.<st_input> (V1320) (let Result (let Parse_shen.<lsb> (shen.<lsb> V1320) (if (not (= (fail) Parse_shen.<lsb>)) (let Parse_shen.<st_input1> (shen.<st_input1> Parse_shen.<lsb>) (if (not (= (fail) Parse_shen.<st_input1>)) (let Parse_shen.<rsb> (shen.<rsb> Parse_shen.<st_input1>) (if (not (= (fail) Parse_shen.<rsb>)) (let Parse_shen.<st_input2> (shen.<st_input2> Parse_shen.<rsb>) (if (not (= (fail) Parse_shen.<st_input2>)) (shen.pair (hd Parse_shen.<st_input2>) (cons (macroexpand (shen.cons_form (shen.hdtl Parse_shen.<st_input1>))) (shen.hdtl Parse_shen.<st_input2>))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<lrb> (shen.<lrb> V1320) (if (not (= (fail) Parse_shen.<lrb>)) (let Parse_shen.<st_input1> (shen.<st_input1> Parse_shen.<lrb>) (if (not (= (fail) Parse_shen.<st_input1>)) (let Parse_shen.<rrb> (shen.<rrb> Parse_shen.<st_input1>) (if (not (= (fail) Parse_shen.<rrb>)) (let Parse_shen.<st_input2> (shen.<st_input2> Parse_shen.<rrb>) (if (not (= (fail) Parse_shen.<st_input2>)) (shen.pair (hd Parse_shen.<st_input2>) (shen.package-macro (macroexpand (shen.hdtl Parse_shen.<st_input1>)) (shen.hdtl Parse_shen.<st_input2>))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<lcurly> (shen.<lcurly> V1320) (if (not (= (fail) Parse_shen.<lcurly>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<lcurly>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons { (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<rcurly> (shen.<rcurly> V1320) (if (not (= (fail) Parse_shen.<rcurly>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<rcurly>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons } (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<bar> (shen.<bar> V1320) (if (not (= (fail) Parse_shen.<bar>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<bar>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons bar! (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<semicolon> (shen.<semicolon> V1320) (if (not (= (fail) Parse_shen.<semicolon>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<semicolon>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons ; (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1320) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<equal> (shen.<equal> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<equal>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<equal>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons := (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1320) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<minus> (shen.<minus> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons :- (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1320) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons : (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<comma> (shen.<comma> V1320) (if (not (= (fail) Parse_shen.<comma>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<comma>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons (intern ",") (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<comment> (shen.<comment> V1320) (if (not (= (fail) Parse_shen.<comment>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<comment>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<atom> (shen.<atom> V1320) (if (not (= (fail) Parse_shen.<atom>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<atom>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons (macroexpand (shen.hdtl Parse_shen.<atom>)) (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<whitespaces> (shen.<whitespaces> V1320) (if (not (= (fail) Parse_shen.<whitespaces>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<whitespaces>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1320) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)))
64
+ (defun shen.<st_input> (V1349) (let Result (let Parse_shen.<lsb> (shen.<lsb> V1349) (if (not (= (fail) Parse_shen.<lsb>)) (let Parse_shen.<st_input1> (shen.<st_input1> Parse_shen.<lsb>) (if (not (= (fail) Parse_shen.<st_input1>)) (let Parse_shen.<rsb> (shen.<rsb> Parse_shen.<st_input1>) (if (not (= (fail) Parse_shen.<rsb>)) (let Parse_shen.<st_input2> (shen.<st_input2> Parse_shen.<rsb>) (if (not (= (fail) Parse_shen.<st_input2>)) (shen.pair (hd Parse_shen.<st_input2>) (cons (macroexpand (shen.cons_form (shen.hdtl Parse_shen.<st_input1>))) (shen.hdtl Parse_shen.<st_input2>))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<lrb> (shen.<lrb> V1349) (if (not (= (fail) Parse_shen.<lrb>)) (let Parse_shen.<st_input1> (shen.<st_input1> Parse_shen.<lrb>) (if (not (= (fail) Parse_shen.<st_input1>)) (let Parse_shen.<rrb> (shen.<rrb> Parse_shen.<st_input1>) (if (not (= (fail) Parse_shen.<rrb>)) (let Parse_shen.<st_input2> (shen.<st_input2> Parse_shen.<rrb>) (if (not (= (fail) Parse_shen.<st_input2>)) (shen.pair (hd Parse_shen.<st_input2>) (shen.package-macro (macroexpand (shen.hdtl Parse_shen.<st_input1>)) (shen.hdtl Parse_shen.<st_input2>))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<lcurly> (shen.<lcurly> V1349) (if (not (= (fail) Parse_shen.<lcurly>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<lcurly>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons { (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<rcurly> (shen.<rcurly> V1349) (if (not (= (fail) Parse_shen.<rcurly>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<rcurly>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons } (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<bar> (shen.<bar> V1349) (if (not (= (fail) Parse_shen.<bar>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<bar>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons bar! (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<semicolon> (shen.<semicolon> V1349) (if (not (= (fail) Parse_shen.<semicolon>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<semicolon>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons ; (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1349) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<equal> (shen.<equal> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<equal>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<equal>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons := (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1349) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<minus> (shen.<minus> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons :- (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1349) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons : (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<comma> (shen.<comma> V1349) (if (not (= (fail) Parse_shen.<comma>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<comma>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons (intern ",") (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<comment> (shen.<comment> V1349) (if (not (= (fail) Parse_shen.<comment>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<comment>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<atom> (shen.<atom> V1349) (if (not (= (fail) Parse_shen.<atom>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<atom>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons (macroexpand (shen.hdtl Parse_shen.<atom>)) (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<whitespaces> (shen.<whitespaces> V1349) (if (not (= (fail) Parse_shen.<whitespaces>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<whitespaces>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1349) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)))
65
65
 
66
- (defun shen.<lsb> (V1325) (let Result (if (and (cons? (hd V1325)) (= 91 (hd (hd V1325)))) (shen.pair (hd (shen.pair (tl (hd V1325)) (shen.hdtl V1325))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
66
+ (defun shen.<lsb> (V1354) (let Result (if (and (cons? (hd V1354)) (= 91 (hd (hd V1354)))) (shen.pair (hd (shen.pair (tl (hd V1354)) (shen.hdtl V1354))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
67
67
 
68
- (defun shen.<rsb> (V1330) (let Result (if (and (cons? (hd V1330)) (= 93 (hd (hd V1330)))) (shen.pair (hd (shen.pair (tl (hd V1330)) (shen.hdtl V1330))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
68
+ (defun shen.<rsb> (V1359) (let Result (if (and (cons? (hd V1359)) (= 93 (hd (hd V1359)))) (shen.pair (hd (shen.pair (tl (hd V1359)) (shen.hdtl V1359))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
69
69
 
70
- (defun shen.<lcurly> (V1335) (let Result (if (and (cons? (hd V1335)) (= 123 (hd (hd V1335)))) (shen.pair (hd (shen.pair (tl (hd V1335)) (shen.hdtl V1335))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
70
+ (defun shen.<lcurly> (V1364) (let Result (if (and (cons? (hd V1364)) (= 123 (hd (hd V1364)))) (shen.pair (hd (shen.pair (tl (hd V1364)) (shen.hdtl V1364))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
71
71
 
72
- (defun shen.<rcurly> (V1340) (let Result (if (and (cons? (hd V1340)) (= 125 (hd (hd V1340)))) (shen.pair (hd (shen.pair (tl (hd V1340)) (shen.hdtl V1340))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
72
+ (defun shen.<rcurly> (V1369) (let Result (if (and (cons? (hd V1369)) (= 125 (hd (hd V1369)))) (shen.pair (hd (shen.pair (tl (hd V1369)) (shen.hdtl V1369))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
73
73
 
74
- (defun shen.<bar> (V1345) (let Result (if (and (cons? (hd V1345)) (= 124 (hd (hd V1345)))) (shen.pair (hd (shen.pair (tl (hd V1345)) (shen.hdtl V1345))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
74
+ (defun shen.<bar> (V1374) (let Result (if (and (cons? (hd V1374)) (= 124 (hd (hd V1374)))) (shen.pair (hd (shen.pair (tl (hd V1374)) (shen.hdtl V1374))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
75
75
 
76
- (defun shen.<semicolon> (V1350) (let Result (if (and (cons? (hd V1350)) (= 59 (hd (hd V1350)))) (shen.pair (hd (shen.pair (tl (hd V1350)) (shen.hdtl V1350))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
76
+ (defun shen.<semicolon> (V1379) (let Result (if (and (cons? (hd V1379)) (= 59 (hd (hd V1379)))) (shen.pair (hd (shen.pair (tl (hd V1379)) (shen.hdtl V1379))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
77
77
 
78
- (defun shen.<colon> (V1355) (let Result (if (and (cons? (hd V1355)) (= 58 (hd (hd V1355)))) (shen.pair (hd (shen.pair (tl (hd V1355)) (shen.hdtl V1355))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
78
+ (defun shen.<colon> (V1384) (let Result (if (and (cons? (hd V1384)) (= 58 (hd (hd V1384)))) (shen.pair (hd (shen.pair (tl (hd V1384)) (shen.hdtl V1384))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
79
79
 
80
- (defun shen.<comma> (V1360) (let Result (if (and (cons? (hd V1360)) (= 44 (hd (hd V1360)))) (shen.pair (hd (shen.pair (tl (hd V1360)) (shen.hdtl V1360))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
80
+ (defun shen.<comma> (V1389) (let Result (if (and (cons? (hd V1389)) (= 44 (hd (hd V1389)))) (shen.pair (hd (shen.pair (tl (hd V1389)) (shen.hdtl V1389))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
81
81
 
82
- (defun shen.<equal> (V1365) (let Result (if (and (cons? (hd V1365)) (= 61 (hd (hd V1365)))) (shen.pair (hd (shen.pair (tl (hd V1365)) (shen.hdtl V1365))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
82
+ (defun shen.<equal> (V1394) (let Result (if (and (cons? (hd V1394)) (= 61 (hd (hd V1394)))) (shen.pair (hd (shen.pair (tl (hd V1394)) (shen.hdtl V1394))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
83
83
 
84
- (defun shen.<minus> (V1370) (let Result (if (and (cons? (hd V1370)) (= 45 (hd (hd V1370)))) (shen.pair (hd (shen.pair (tl (hd V1370)) (shen.hdtl V1370))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
84
+ (defun shen.<minus> (V1399) (let Result (if (and (cons? (hd V1399)) (= 45 (hd (hd V1399)))) (shen.pair (hd (shen.pair (tl (hd V1399)) (shen.hdtl V1399))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
85
85
 
86
- (defun shen.<lrb> (V1375) (let Result (if (and (cons? (hd V1375)) (= 40 (hd (hd V1375)))) (shen.pair (hd (shen.pair (tl (hd V1375)) (shen.hdtl V1375))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
86
+ (defun shen.<lrb> (V1404) (let Result (if (and (cons? (hd V1404)) (= 40 (hd (hd V1404)))) (shen.pair (hd (shen.pair (tl (hd V1404)) (shen.hdtl V1404))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
87
87
 
88
- (defun shen.<rrb> (V1380) (let Result (if (and (cons? (hd V1380)) (= 41 (hd (hd V1380)))) (shen.pair (hd (shen.pair (tl (hd V1380)) (shen.hdtl V1380))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
88
+ (defun shen.<rrb> (V1409) (let Result (if (and (cons? (hd V1409)) (= 41 (hd (hd V1409)))) (shen.pair (hd (shen.pair (tl (hd V1409)) (shen.hdtl V1409))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
89
89
 
90
- (defun shen.<atom> (V1385) (let Result (let Parse_shen.<str> (shen.<str> V1385) (if (not (= (fail) Parse_shen.<str>)) (shen.pair (hd Parse_shen.<str>) (shen.control-chars (shen.hdtl Parse_shen.<str>))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<number> (shen.<number> V1385) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<sym> (shen.<sym> V1385) (if (not (= (fail) Parse_shen.<sym>)) (shen.pair (hd Parse_shen.<sym>) (if (= (shen.hdtl Parse_shen.<sym>) "<>") (cons vector (cons 0 ())) (intern (shen.hdtl Parse_shen.<sym>)))) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
90
+ (defun shen.<atom> (V1414) (let Result (let Parse_shen.<str> (shen.<str> V1414) (if (not (= (fail) Parse_shen.<str>)) (shen.pair (hd Parse_shen.<str>) (shen.control-chars (shen.hdtl Parse_shen.<str>))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<number> (shen.<number> V1414) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<sym> (shen.<sym> V1414) (if (not (= (fail) Parse_shen.<sym>)) (shen.pair (hd Parse_shen.<sym>) (if (= (shen.hdtl Parse_shen.<sym>) "<>") (cons vector (cons 0 ())) (intern (shen.hdtl Parse_shen.<sym>)))) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
91
91
 
92
- (defun shen.control-chars (V1386) (cond ((= () V1386) "") ((and (cons? V1386) (and (= "c" (hd V1386)) (and (cons? (tl V1386)) (= "#" (hd (tl V1386)))))) (let CodePoint (shen.code-point (tl (tl V1386))) (let AfterCodePoint (shen.after-codepoint (tl (tl V1386))) (@s (n->string (shen.decimalise CodePoint)) (shen.control-chars AfterCodePoint))))) ((cons? V1386) (@s (hd V1386) (shen.control-chars (tl V1386)))) (true (shen.sys-error shen.control-chars))))
92
+ (defun shen.control-chars (V1415) (cond ((= () V1415) "") ((and (cons? V1415) (and (= "c" (hd V1415)) (and (cons? (tl V1415)) (= "#" (hd (tl V1415)))))) (let CodePoint (shen.code-point (tl (tl V1415))) (let AfterCodePoint (shen.after-codepoint (tl (tl V1415))) (@s (n->string (shen.decimalise CodePoint)) (shen.control-chars AfterCodePoint))))) ((cons? V1415) (@s (hd V1415) (shen.control-chars (tl V1415)))) (true (shen.sys-error shen.control-chars))))
93
93
 
94
- (defun shen.code-point (V1389) (cond ((and (cons? V1389) (= ";" (hd V1389))) "") ((and (cons? V1389) (element? (hd V1389) (cons "0" (cons "1" (cons "2" (cons "3" (cons "4" (cons "5" (cons "6" (cons "7" (cons "8" (cons "9" (cons "0" ()))))))))))))) (cons (hd V1389) (shen.code-point (tl V1389)))) (true (simple-error (cn "code point parse error " (shen.app V1389 "
94
+ (defun shen.code-point (V1418) (cond ((and (cons? V1418) (= ";" (hd V1418))) "") ((and (cons? V1418) (element? (hd V1418) (cons "0" (cons "1" (cons "2" (cons "3" (cons "4" (cons "5" (cons "6" (cons "7" (cons "8" (cons "9" (cons "0" ()))))))))))))) (cons (hd V1418) (shen.code-point (tl V1418)))) (true (simple-error (cn "code point parse error " (shen.app V1418 "
95
95
  " shen.a))))))
96
96
 
97
- (defun shen.after-codepoint (V1394) (cond ((= () V1394) ()) ((and (cons? V1394) (= ";" (hd V1394))) (tl V1394)) ((cons? V1394) (shen.after-codepoint (tl V1394))) (true (shen.sys-error shen.after-codepoint))))
97
+ (defun shen.after-codepoint (V1423) (cond ((= () V1423) ()) ((and (cons? V1423) (= ";" (hd V1423))) (tl V1423)) ((cons? V1423) (shen.after-codepoint (tl V1423))) (true (shen.sys-error shen.after-codepoint))))
98
98
 
99
- (defun shen.decimalise (V1395) (shen.pre (reverse (shen.digits->integers V1395)) 0))
99
+ (defun shen.decimalise (V1424) (shen.pre (reverse (shen.digits->integers V1424)) 0))
100
100
 
101
- (defun shen.digits->integers (V1400) (cond ((and (cons? V1400) (= "0" (hd V1400))) (cons 0 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "1" (hd V1400))) (cons 1 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "2" (hd V1400))) (cons 2 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "3" (hd V1400))) (cons 3 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "4" (hd V1400))) (cons 4 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "5" (hd V1400))) (cons 5 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "6" (hd V1400))) (cons 6 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "7" (hd V1400))) (cons 7 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "8" (hd V1400))) (cons 8 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "9" (hd V1400))) (cons 9 (shen.digits->integers (tl V1400)))) (true ())))
101
+ (defun shen.digits->integers (V1429) (cond ((and (cons? V1429) (= "0" (hd V1429))) (cons 0 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "1" (hd V1429))) (cons 1 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "2" (hd V1429))) (cons 2 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "3" (hd V1429))) (cons 3 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "4" (hd V1429))) (cons 4 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "5" (hd V1429))) (cons 5 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "6" (hd V1429))) (cons 6 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "7" (hd V1429))) (cons 7 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "8" (hd V1429))) (cons 8 (shen.digits->integers (tl V1429)))) ((and (cons? V1429) (= "9" (hd V1429))) (cons 9 (shen.digits->integers (tl V1429)))) (true ())))
102
102
 
103
- (defun shen.<sym> (V1405) (let Result (let Parse_shen.<alpha> (shen.<alpha> V1405) (if (not (= (fail) Parse_shen.<alpha>)) (let Parse_shen.<alphanums> (shen.<alphanums> Parse_shen.<alpha>) (if (not (= (fail) Parse_shen.<alphanums>)) (shen.pair (hd Parse_shen.<alphanums>) (@s (shen.hdtl Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alphanums>))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
103
+ (defun shen.<sym> (V1434) (let Result (let Parse_shen.<alpha> (shen.<alpha> V1434) (if (not (= (fail) Parse_shen.<alpha>)) (let Parse_shen.<alphanums> (shen.<alphanums> Parse_shen.<alpha>) (if (not (= (fail) Parse_shen.<alphanums>)) (shen.pair (hd Parse_shen.<alphanums>) (@s (shen.hdtl Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alphanums>))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
104
104
 
105
- (defun shen.<alphanums> (V1410) (let Result (let Parse_shen.<alphanum> (shen.<alphanum> V1410) (if (not (= (fail) Parse_shen.<alphanum>)) (let Parse_shen.<alphanums> (shen.<alphanums> Parse_shen.<alphanum>) (if (not (= (fail) Parse_shen.<alphanums>)) (shen.pair (hd Parse_shen.<alphanums>) (@s (shen.hdtl Parse_shen.<alphanum>) (shen.hdtl Parse_shen.<alphanums>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1410) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) "") (fail))) (if (= Result (fail)) (fail) Result)) Result)))
105
+ (defun shen.<alphanums> (V1439) (let Result (let Parse_shen.<alphanum> (shen.<alphanum> V1439) (if (not (= (fail) Parse_shen.<alphanum>)) (let Parse_shen.<alphanums> (shen.<alphanums> Parse_shen.<alphanum>) (if (not (= (fail) Parse_shen.<alphanums>)) (shen.pair (hd Parse_shen.<alphanums>) (@s (shen.hdtl Parse_shen.<alphanum>) (shen.hdtl Parse_shen.<alphanums>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1439) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) "") (fail))) (if (= Result (fail)) (fail) Result)) Result)))
106
106
 
107
- (defun shen.<alphanum> (V1415) (let Result (let Parse_shen.<alpha> (shen.<alpha> V1415) (if (not (= (fail) Parse_shen.<alpha>)) (shen.pair (hd Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alpha>)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<num> (shen.<num> V1415) (if (not (= (fail) Parse_shen.<num>)) (shen.pair (hd Parse_shen.<num>) (shen.hdtl Parse_shen.<num>)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
107
+ (defun shen.<alphanum> (V1444) (let Result (let Parse_shen.<alpha> (shen.<alpha> V1444) (if (not (= (fail) Parse_shen.<alpha>)) (shen.pair (hd Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alpha>)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<num> (shen.<num> V1444) (if (not (= (fail) Parse_shen.<num>)) (shen.pair (hd Parse_shen.<num>) (shen.hdtl Parse_shen.<num>)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
108
108
 
109
- (defun shen.<num> (V1420) (let Result (if (cons? (hd V1420)) (let Parse_Byte (hd (hd V1420)) (if (shen.numbyte? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1420)) (shen.hdtl V1420))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
109
+ (defun shen.<num> (V1449) (let Result (if (cons? (hd V1449)) (let Parse_Byte (hd (hd V1449)) (if (shen.numbyte? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1449)) (shen.hdtl V1449))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
110
110
 
111
- (defun shen.numbyte? (V1425) (cond ((= 48 V1425) true) ((= 49 V1425) true) ((= 50 V1425) true) ((= 51 V1425) true) ((= 52 V1425) true) ((= 53 V1425) true) ((= 54 V1425) true) ((= 55 V1425) true) ((= 56 V1425) true) ((= 57 V1425) true) (true false)))
111
+ (defun shen.numbyte? (V1454) (cond ((= 48 V1454) true) ((= 49 V1454) true) ((= 50 V1454) true) ((= 51 V1454) true) ((= 52 V1454) true) ((= 53 V1454) true) ((= 54 V1454) true) ((= 55 V1454) true) ((= 56 V1454) true) ((= 57 V1454) true) (true false)))
112
112
 
113
- (defun shen.<alpha> (V1430) (let Result (if (cons? (hd V1430)) (let Parse_Byte (hd (hd V1430)) (if (shen.symbol-code? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1430)) (shen.hdtl V1430))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
113
+ (defun shen.<alpha> (V1459) (let Result (if (cons? (hd V1459)) (let Parse_Byte (hd (hd V1459)) (if (shen.symbol-code? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1459)) (shen.hdtl V1459))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
114
114
 
115
- (defun shen.symbol-code? (V1431) (or (= V1431 126) (or (and (> V1431 94) (< V1431 123)) (or (and (> V1431 59) (< V1431 91)) (or (and (> V1431 41) (and (< V1431 58) (not (= V1431 44)))) (or (and (> V1431 34) (< V1431 40)) (= V1431 33)))))))
115
+ (defun shen.symbol-code? (V1460) (or (= V1460 126) (or (and (> V1460 94) (< V1460 123)) (or (and (> V1460 59) (< V1460 91)) (or (and (> V1460 41) (and (< V1460 58) (not (= V1460 44)))) (or (and (> V1460 34) (< V1460 40)) (= V1460 33)))))))
116
116
 
117
- (defun shen.<str> (V1436) (let Result (let Parse_shen.<dbq> (shen.<dbq> V1436) (if (not (= (fail) Parse_shen.<dbq>)) (let Parse_shen.<strcontents> (shen.<strcontents> Parse_shen.<dbq>) (if (not (= (fail) Parse_shen.<strcontents>)) (let Parse_shen.<dbq> (shen.<dbq> Parse_shen.<strcontents>) (if (not (= (fail) Parse_shen.<dbq>)) (shen.pair (hd Parse_shen.<dbq>) (shen.hdtl Parse_shen.<strcontents>)) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
117
+ (defun shen.<str> (V1465) (let Result (let Parse_shen.<dbq> (shen.<dbq> V1465) (if (not (= (fail) Parse_shen.<dbq>)) (let Parse_shen.<strcontents> (shen.<strcontents> Parse_shen.<dbq>) (if (not (= (fail) Parse_shen.<strcontents>)) (let Parse_shen.<dbq> (shen.<dbq> Parse_shen.<strcontents>) (if (not (= (fail) Parse_shen.<dbq>)) (shen.pair (hd Parse_shen.<dbq>) (shen.hdtl Parse_shen.<strcontents>)) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
118
118
 
119
- (defun shen.<dbq> (V1441) (let Result (if (cons? (hd V1441)) (let Parse_Byte (hd (hd V1441)) (if (= Parse_Byte 34) (shen.pair (hd (shen.pair (tl (hd V1441)) (shen.hdtl V1441))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
119
+ (defun shen.<dbq> (V1470) (let Result (if (cons? (hd V1470)) (let Parse_Byte (hd (hd V1470)) (if (= Parse_Byte 34) (shen.pair (hd (shen.pair (tl (hd V1470)) (shen.hdtl V1470))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
120
120
 
121
- (defun shen.<strcontents> (V1446) (let Result (let Parse_shen.<strc> (shen.<strc> V1446) (if (not (= (fail) Parse_shen.<strc>)) (let Parse_shen.<strcontents> (shen.<strcontents> Parse_shen.<strc>) (if (not (= (fail) Parse_shen.<strcontents>)) (shen.pair (hd Parse_shen.<strcontents>) (cons (shen.hdtl Parse_shen.<strc>) (shen.hdtl Parse_shen.<strcontents>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1446) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
121
+ (defun shen.<strcontents> (V1475) (let Result (let Parse_shen.<strc> (shen.<strc> V1475) (if (not (= (fail) Parse_shen.<strc>)) (let Parse_shen.<strcontents> (shen.<strcontents> Parse_shen.<strc>) (if (not (= (fail) Parse_shen.<strcontents>)) (shen.pair (hd Parse_shen.<strcontents>) (cons (shen.hdtl Parse_shen.<strc>) (shen.hdtl Parse_shen.<strcontents>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1475) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
122
122
 
123
- (defun shen.<byte> (V1451) (let Result (if (cons? (hd V1451)) (let Parse_Byte (hd (hd V1451)) (shen.pair (hd (shen.pair (tl (hd V1451)) (shen.hdtl V1451))) (n->string Parse_Byte))) (fail)) (if (= Result (fail)) (fail) Result)))
123
+ (defun shen.<byte> (V1480) (let Result (if (cons? (hd V1480)) (let Parse_Byte (hd (hd V1480)) (shen.pair (hd (shen.pair (tl (hd V1480)) (shen.hdtl V1480))) (n->string Parse_Byte))) (fail)) (if (= Result (fail)) (fail) Result)))
124
124
 
125
- (defun shen.<strc> (V1456) (let Result (if (cons? (hd V1456)) (let Parse_Byte (hd (hd V1456)) (if (not (= Parse_Byte 34)) (shen.pair (hd (shen.pair (tl (hd V1456)) (shen.hdtl V1456))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
125
+ (defun shen.<strc> (V1485) (let Result (if (cons? (hd V1485)) (let Parse_Byte (hd (hd V1485)) (if (not (= Parse_Byte 34)) (shen.pair (hd (shen.pair (tl (hd V1485)) (shen.hdtl V1485))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
126
126
 
127
- (defun shen.<backslash> (V1461) (let Result (if (cons? (hd V1461)) (let Parse_Byte (hd (hd V1461)) (if (= Parse_Byte 92) (shen.pair (hd (shen.pair (tl (hd V1461)) (shen.hdtl V1461))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
127
+ (defun shen.<number> (V1490) (let Result (let Parse_shen.<minus> (shen.<minus> V1490) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<number> (shen.<number> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (- 0 (shen.hdtl Parse_shen.<number>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<plus> (shen.<plus> V1490) (if (not (= (fail) Parse_shen.<plus>)) (let Parse_shen.<number> (shen.<number> Parse_shen.<plus>) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<predigits> (shen.<predigits> V1490) (if (not (= (fail) Parse_shen.<predigits>)) (let Parse_shen.<stop> (shen.<stop> Parse_shen.<predigits>) (if (not (= (fail) Parse_shen.<stop>)) (let Parse_shen.<postdigits> (shen.<postdigits> Parse_shen.<stop>) (if (not (= (fail) Parse_shen.<postdigits>)) (let Parse_shen.<E> (shen.<E> Parse_shen.<postdigits>) (if (not (= (fail) Parse_shen.<E>)) (let Parse_shen.<log10> (shen.<log10> Parse_shen.<E>) (if (not (= (fail) Parse_shen.<log10>)) (shen.pair (hd Parse_shen.<log10>) (* (shen.expt 10 (shen.hdtl Parse_shen.<log10>)) (+ (shen.pre (reverse (shen.hdtl Parse_shen.<predigits>)) 0) (shen.post (shen.hdtl Parse_shen.<postdigits>) 1)))) (fail))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1490) (if (not (= (fail) Parse_shen.<digits>)) (let Parse_shen.<E> (shen.<E> Parse_shen.<digits>) (if (not (= (fail) Parse_shen.<E>)) (let Parse_shen.<log10> (shen.<log10> Parse_shen.<E>) (if (not (= (fail) Parse_shen.<log10>)) (shen.pair (hd Parse_shen.<log10>) (* (shen.expt 10 (shen.hdtl Parse_shen.<log10>)) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<predigits> (shen.<predigits> V1490) (if (not (= (fail) Parse_shen.<predigits>)) (let Parse_shen.<stop> (shen.<stop> Parse_shen.<predigits>) (if (not (= (fail) Parse_shen.<stop>)) (let Parse_shen.<postdigits> (shen.<postdigits> Parse_shen.<stop>) (if (not (= (fail) Parse_shen.<postdigits>)) (shen.pair (hd Parse_shen.<postdigits>) (+ (shen.pre (reverse (shen.hdtl Parse_shen.<predigits>)) 0) (shen.post (shen.hdtl Parse_shen.<postdigits>) 1))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1490) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)) Result)) Result)))
128
128
 
129
- (defun shen.<number> (V1466) (let Result (let Parse_shen.<minus> (shen.<minus> V1466) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<number> (shen.<number> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (- 0 (shen.hdtl Parse_shen.<number>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<plus> (shen.<plus> V1466) (if (not (= (fail) Parse_shen.<plus>)) (let Parse_shen.<number> (shen.<number> Parse_shen.<plus>) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<predigits> (shen.<predigits> V1466) (if (not (= (fail) Parse_shen.<predigits>)) (let Parse_shen.<stop> (shen.<stop> Parse_shen.<predigits>) (if (not (= (fail) Parse_shen.<stop>)) (let Parse_shen.<postdigits> (shen.<postdigits> Parse_shen.<stop>) (if (not (= (fail) Parse_shen.<postdigits>)) (let Parse_shen.<E> (shen.<E> Parse_shen.<postdigits>) (if (not (= (fail) Parse_shen.<E>)) (let Parse_shen.<log10> (shen.<log10> Parse_shen.<E>) (if (not (= (fail) Parse_shen.<log10>)) (shen.pair (hd Parse_shen.<log10>) (* (shen.expt 10 (shen.hdtl Parse_shen.<log10>)) (+ (shen.pre (reverse (shen.hdtl Parse_shen.<predigits>)) 0) (shen.post (shen.hdtl Parse_shen.<postdigits>) 1)))) (fail))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1466) (if (not (= (fail) Parse_shen.<digits>)) (let Parse_shen.<E> (shen.<E> Parse_shen.<digits>) (if (not (= (fail) Parse_shen.<E>)) (let Parse_shen.<log10> (shen.<log10> Parse_shen.<E>) (if (not (= (fail) Parse_shen.<log10>)) (shen.pair (hd Parse_shen.<log10>) (* (shen.expt 10 (shen.hdtl Parse_shen.<log10>)) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<predigits> (shen.<predigits> V1466) (if (not (= (fail) Parse_shen.<predigits>)) (let Parse_shen.<stop> (shen.<stop> Parse_shen.<predigits>) (if (not (= (fail) Parse_shen.<stop>)) (let Parse_shen.<postdigits> (shen.<postdigits> Parse_shen.<stop>) (if (not (= (fail) Parse_shen.<postdigits>)) (shen.pair (hd Parse_shen.<postdigits>) (+ (shen.pre (reverse (shen.hdtl Parse_shen.<predigits>)) 0) (shen.post (shen.hdtl Parse_shen.<postdigits>) 1))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1466) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)) Result)) Result)))
129
+ (defun shen.<E> (V1495) (let Result (if (and (cons? (hd V1495)) (= 101 (hd (hd V1495)))) (shen.pair (hd (shen.pair (tl (hd V1495)) (shen.hdtl V1495))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
130
130
 
131
- (defun shen.<E> (V1471) (let Result (if (and (cons? (hd V1471)) (= 101 (hd (hd V1471)))) (shen.pair (hd (shen.pair (tl (hd V1471)) (shen.hdtl V1471))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
131
+ (defun shen.<log10> (V1500) (let Result (let Parse_shen.<minus> (shen.<minus> V1500) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<digits> (shen.<digits> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (- 0 (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1500) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
132
132
 
133
- (defun shen.<log10> (V1476) (let Result (let Parse_shen.<minus> (shen.<minus> V1476) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<digits> (shen.<digits> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (- 0 (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1476) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
133
+ (defun shen.<plus> (V1505) (let Result (if (cons? (hd V1505)) (let Parse_Byte (hd (hd V1505)) (if (= Parse_Byte 43) (shen.pair (hd (shen.pair (tl (hd V1505)) (shen.hdtl V1505))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
134
134
 
135
- (defun shen.<plus> (V1481) (let Result (if (cons? (hd V1481)) (let Parse_Byte (hd (hd V1481)) (if (= Parse_Byte 43) (shen.pair (hd (shen.pair (tl (hd V1481)) (shen.hdtl V1481))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
135
+ (defun shen.<stop> (V1510) (let Result (if (cons? (hd V1510)) (let Parse_Byte (hd (hd V1510)) (if (= Parse_Byte 46) (shen.pair (hd (shen.pair (tl (hd V1510)) (shen.hdtl V1510))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
136
136
 
137
- (defun shen.<stop> (V1486) (let Result (if (cons? (hd V1486)) (let Parse_Byte (hd (hd V1486)) (if (= Parse_Byte 46) (shen.pair (hd (shen.pair (tl (hd V1486)) (shen.hdtl V1486))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
137
+ (defun shen.<predigits> (V1515) (let Result (let Parse_shen.<digits> (shen.<digits> V1515) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1515) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
138
138
 
139
- (defun shen.<predigits> (V1491) (let Result (let Parse_shen.<digits> (shen.<digits> V1491) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1491) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
139
+ (defun shen.<postdigits> (V1520) (let Result (let Parse_shen.<digits> (shen.<digits> V1520) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= Result (fail)) (fail) Result)))
140
140
 
141
- (defun shen.<postdigits> (V1496) (let Result (let Parse_shen.<digits> (shen.<digits> V1496) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= Result (fail)) (fail) Result)))
141
+ (defun shen.<digits> (V1525) (let Result (let Parse_shen.<digit> (shen.<digit> V1525) (if (not (= (fail) Parse_shen.<digit>)) (let Parse_shen.<digits> (shen.<digits> Parse_shen.<digit>) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (cons (shen.hdtl Parse_shen.<digit>) (shen.hdtl Parse_shen.<digits>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digit> (shen.<digit> V1525) (if (not (= (fail) Parse_shen.<digit>)) (shen.pair (hd Parse_shen.<digit>) (cons (shen.hdtl Parse_shen.<digit>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
142
142
 
143
- (defun shen.<digits> (V1501) (let Result (let Parse_shen.<digit> (shen.<digit> V1501) (if (not (= (fail) Parse_shen.<digit>)) (let Parse_shen.<digits> (shen.<digits> Parse_shen.<digit>) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (cons (shen.hdtl Parse_shen.<digit>) (shen.hdtl Parse_shen.<digits>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digit> (shen.<digit> V1501) (if (not (= (fail) Parse_shen.<digit>)) (shen.pair (hd Parse_shen.<digit>) (cons (shen.hdtl Parse_shen.<digit>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
143
+ (defun shen.<digit> (V1530) (let Result (if (cons? (hd V1530)) (let Parse_X (hd (hd V1530)) (if (shen.numbyte? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1530)) (shen.hdtl V1530))) (shen.byte->digit Parse_X)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
144
144
 
145
- (defun shen.<digit> (V1506) (let Result (if (cons? (hd V1506)) (let Parse_X (hd (hd V1506)) (if (shen.numbyte? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1506)) (shen.hdtl V1506))) (shen.byte->digit Parse_X)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
145
+ (defun shen.byte->digit (V1531) (cond ((= 48 V1531) 0) ((= 49 V1531) 1) ((= 50 V1531) 2) ((= 51 V1531) 3) ((= 52 V1531) 4) ((= 53 V1531) 5) ((= 54 V1531) 6) ((= 55 V1531) 7) ((= 56 V1531) 8) ((= 57 V1531) 9) (true (shen.sys-error shen.byte->digit))))
146
146
 
147
- (defun shen.byte->digit (V1507) (cond ((= 48 V1507) 0) ((= 49 V1507) 1) ((= 50 V1507) 2) ((= 51 V1507) 3) ((= 52 V1507) 4) ((= 53 V1507) 5) ((= 54 V1507) 6) ((= 55 V1507) 7) ((= 56 V1507) 8) ((= 57 V1507) 9) (true (shen.sys-error shen.byte->digit))))
147
+ (defun shen.pre (V1534 V1535) (cond ((= () V1534) 0) ((cons? V1534) (+ (* (shen.expt 10 V1535) (hd V1534)) (shen.pre (tl V1534) (+ V1535 1)))) (true (shen.sys-error shen.pre))))
148
148
 
149
- (defun shen.pre (V1510 V1511) (cond ((= () V1510) 0) ((cons? V1510) (+ (* (shen.expt 10 V1511) (hd V1510)) (shen.pre (tl V1510) (+ V1511 1)))) (true (shen.sys-error shen.pre))))
149
+ (defun shen.post (V1538 V1539) (cond ((= () V1538) 0) ((cons? V1538) (+ (* (shen.expt 10 (- 0 V1539)) (hd V1538)) (shen.post (tl V1538) (+ V1539 1)))) (true (shen.sys-error shen.post))))
150
150
 
151
- (defun shen.post (V1514 V1515) (cond ((= () V1514) 0) ((cons? V1514) (+ (* (shen.expt 10 (- 0 V1515)) (hd V1514)) (shen.post (tl V1514) (+ V1515 1)))) (true (shen.sys-error shen.post))))
151
+ (defun shen.expt (V1542 V1543) (cond ((= 0 V1543) 1) ((> V1543 0) (* V1542 (shen.expt V1542 (- V1543 1)))) (true (* 1 (/ (shen.expt V1542 (+ V1543 1)) V1542)))))
152
152
 
153
- (defun shen.expt (V1518 V1519) (cond ((= 0 V1519) 1) ((> V1519 0) (* V1518 (shen.expt V1518 (- V1519 1)))) (true (* 1 (/ (shen.expt V1518 (+ V1519 1)) V1518)))))
153
+ (defun shen.<st_input1> (V1548) (let Result (let Parse_shen.<st_input> (shen.<st_input> V1548) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (if (= Result (fail)) (fail) Result)))
154
154
 
155
- (defun shen.<st_input1> (V1524) (let Result (let Parse_shen.<st_input> (shen.<st_input> V1524) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (if (= Result (fail)) (fail) Result)))
155
+ (defun shen.<st_input2> (V1553) (let Result (let Parse_shen.<st_input> (shen.<st_input> V1553) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (if (= Result (fail)) (fail) Result)))
156
156
 
157
- (defun shen.<st_input2> (V1529) (let Result (let Parse_shen.<st_input> (shen.<st_input> V1529) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (if (= Result (fail)) (fail) Result)))
157
+ (defun shen.<comment> (V1558) (let Result (let Parse_shen.<singleline> (shen.<singleline> V1558) (if (not (= (fail) Parse_shen.<singleline>)) (shen.pair (hd Parse_shen.<singleline>) shen.skip) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<multiline> (shen.<multiline> V1558) (if (not (= (fail) Parse_shen.<multiline>)) (shen.pair (hd Parse_shen.<multiline>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
158
158
 
159
- (defun shen.<comment> (V1534) (let Result (let Parse_shen.<backslash> (shen.<backslash> V1534) (if (not (= (fail) Parse_shen.<backslash>)) (let Parse_shen.<times> (shen.<times> Parse_shen.<backslash>) (if (not (= (fail) Parse_shen.<times>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<times>) (if (not (= (fail) Parse_shen.<any>)) (let Parse_shen.<times> (shen.<times> Parse_shen.<any>) (if (not (= (fail) Parse_shen.<times>)) (let Parse_shen.<backslash> (shen.<backslash> Parse_shen.<times>) (if (not (= (fail) Parse_shen.<backslash>)) (shen.pair (hd Parse_shen.<backslash>) shen.skip) (fail))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
159
+ (defun shen.<singleline> (V1563) (let Result (let Parse_shen.<backslash> (shen.<backslash> V1563) (if (not (= (fail) Parse_shen.<backslash>)) (let Parse_shen.<backslash> (shen.<backslash> Parse_shen.<backslash>) (if (not (= (fail) Parse_shen.<backslash>)) (let Parse_shen.<anysingle> (shen.<anysingle> Parse_shen.<backslash>) (if (not (= (fail) Parse_shen.<anysingle>)) (let Parse_shen.<return> (shen.<return> Parse_shen.<anysingle>) (if (not (= (fail) Parse_shen.<return>)) (shen.pair (hd Parse_shen.<return>) shen.skip) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
160
160
 
161
- (defun shen.<times> (V1539) (let Result (if (cons? (hd V1539)) (let Parse_Byte (hd (hd V1539)) (if (= Parse_Byte 42) (shen.pair (hd (shen.pair (tl (hd V1539)) (shen.hdtl V1539))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
161
+ (defun shen.<backslash> (V1568) (let Result (if (and (cons? (hd V1568)) (= 92 (hd (hd V1568)))) (shen.pair (hd (shen.pair (tl (hd V1568)) (shen.hdtl V1568))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
162
162
 
163
- (defun shen.<any> (V1544) (let Result (let Parse_shen.<comment> (shen.<comment> V1544) (if (not (= (fail) Parse_shen.<comment>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<comment>) (if (not (= (fail) Parse_shen.<any>)) (shen.pair (hd Parse_shen.<any>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<blah> (shen.<blah> V1544) (if (not (= (fail) Parse_shen.<blah>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<blah>) (if (not (= (fail) Parse_shen.<any>)) (shen.pair (hd Parse_shen.<any>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1544) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
163
+ (defun shen.<anysingle> (V1573) (let Result (let Parse_shen.<non-return> (shen.<non-return> V1573) (if (not (= (fail) Parse_shen.<non-return>)) (let Parse_shen.<anysingle> (shen.<anysingle> Parse_shen.<non-return>) (if (not (= (fail) Parse_shen.<anysingle>)) (shen.pair (hd Parse_shen.<anysingle>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1573) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
164
164
 
165
- (defun shen.<blah> (V1557) (cond ((and (cons? V1557) (and (cons? (hd V1557)) (and (= 42 (hd (hd V1557))) (and (cons? (tl (hd V1557))) (= 92 (hd (tl (hd V1557)))))))) (fail)) ((and (cons? V1557) (and (cons? (hd V1557)) (and (cons? (tl V1557)) (= () (tl (tl V1557)))))) (cons (tl (hd V1557)) (cons shen.skip ()))) (true (fail))))
165
+ (defun shen.<non-return> (V1578) (let Result (if (cons? (hd V1578)) (let Parse_X (hd (hd V1578)) (if (not (element? Parse_X (cons 10 (cons 13 ())))) (shen.pair (hd (shen.pair (tl (hd V1578)) (shen.hdtl V1578))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
166
166
 
167
- (defun shen.<whitespaces> (V1562) (let Result (let Parse_shen.<whitespace> (shen.<whitespace> V1562) (if (not (= (fail) Parse_shen.<whitespace>)) (let Parse_shen.<whitespaces> (shen.<whitespaces> Parse_shen.<whitespace>) (if (not (= (fail) Parse_shen.<whitespaces>)) (shen.pair (hd Parse_shen.<whitespaces>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<whitespace> (shen.<whitespace> V1562) (if (not (= (fail) Parse_shen.<whitespace>)) (shen.pair (hd Parse_shen.<whitespace>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
167
+ (defun shen.<return> (V1583) (let Result (if (cons? (hd V1583)) (let Parse_X (hd (hd V1583)) (if (element? Parse_X (cons 10 (cons 13 ()))) (shen.pair (hd (shen.pair (tl (hd V1583)) (shen.hdtl V1583))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
168
168
 
169
- (defun shen.<whitespace> (V1567) (let Result (if (cons? (hd V1567)) (let Parse_X (hd (hd V1567)) (if (let Parse_Case Parse_X (or (= Parse_Case 32) (or (= Parse_Case 13) (or (= Parse_Case 10) (= Parse_Case 9))))) (shen.pair (hd (shen.pair (tl (hd V1567)) (shen.hdtl V1567))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
169
+ (defun shen.<multiline> (V1588) (let Result (let Parse_shen.<backslash> (shen.<backslash> V1588) (if (not (= (fail) Parse_shen.<backslash>)) (let Parse_shen.<times> (shen.<times> Parse_shen.<backslash>) (if (not (= (fail) Parse_shen.<times>)) (let Parse_shen.<anymulti> (shen.<anymulti> Parse_shen.<times>) (if (not (= (fail) Parse_shen.<anymulti>)) (shen.pair (hd Parse_shen.<anymulti>) shen.skip) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
170
170
 
171
- (defun shen.cons_form (V1568) (cond ((= () V1568) ()) ((and (cons? V1568) (and (cons? (tl V1568)) (and (cons? (tl (tl V1568))) (and (= () (tl (tl (tl V1568)))) (= (hd (tl V1568)) bar!))))) (cons cons (cons (hd V1568) (tl (tl V1568))))) ((cons? V1568) (cons cons (cons (hd V1568) (cons (shen.cons_form (tl V1568)) ())))) (true (shen.sys-error shen.cons_form))))
171
+ (defun shen.<times> (V1593) (let Result (if (and (cons? (hd V1593)) (= 42 (hd (hd V1593)))) (shen.pair (hd (shen.pair (tl (hd V1593)) (shen.hdtl V1593))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
172
172
 
173
- (defun shen.package-macro (V1571 V1572) (cond ((and (cons? V1571) (and (= $ (hd V1571)) (and (cons? (tl V1571)) (= () (tl (tl V1571)))))) (append (explode (hd (tl V1571))) V1572)) ((and (cons? V1571) (and (= package (hd V1571)) (and (cons? (tl V1571)) (and (= null (hd (tl V1571))) (cons? (tl (tl V1571))))))) (append (tl (tl (tl V1571))) V1572)) ((and (cons? V1571) (and (= package (hd V1571)) (and (cons? (tl V1571)) (cons? (tl (tl V1571)))))) (let ListofExceptions (shen.eval-without-macros (hd (tl (tl V1571)))) (let Record (shen.record-exceptions ListofExceptions (hd (tl V1571))) (let PackageNameDot (intern (cn (str (hd (tl V1571))) ".")) (append (shen.packageh PackageNameDot ListofExceptions (tl (tl (tl V1571)))) V1572))))) (true (cons V1571 V1572))))
173
+ (defun shen.<anymulti> (V1598) (let Result (let Parse_shen.<comment> (shen.<comment> V1598) (if (not (= (fail) Parse_shen.<comment>)) (let Parse_shen.<anymulti> (shen.<anymulti> Parse_shen.<comment>) (if (not (= (fail) Parse_shen.<anymulti>)) (shen.pair (hd Parse_shen.<anymulti>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<times> (shen.<times> V1598) (if (not (= (fail) Parse_shen.<times>)) (let Parse_shen.<backslash> (shen.<backslash> Parse_shen.<times>) (if (not (= (fail) Parse_shen.<backslash>)) (shen.pair (hd Parse_shen.<backslash>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (if (cons? (hd V1598)) (let Parse_X (hd (hd V1598)) (let Parse_shen.<anymulti> (shen.<anymulti> (shen.pair (tl (hd V1598)) (shen.hdtl V1598))) (if (not (= (fail) Parse_shen.<anymulti>)) (shen.pair (hd Parse_shen.<anymulti>) shen.skip) (fail)))) (fail)) (if (= Result (fail)) (fail) Result)) Result)) Result)))
174
174
 
175
- (defun shen.record-exceptions (V1573 V1574) (let CurrExceptions (trap-error (get V1574 shen.external-symbols (value *property-vector*)) (lambda E ())) (let AllExceptions (union V1573 CurrExceptions) (put V1574 shen.external-symbols AllExceptions (value *property-vector*)))))
175
+ (defun shen.<whitespaces> (V1603) (let Result (let Parse_shen.<whitespace> (shen.<whitespace> V1603) (if (not (= (fail) Parse_shen.<whitespace>)) (let Parse_shen.<whitespaces> (shen.<whitespaces> Parse_shen.<whitespace>) (if (not (= (fail) Parse_shen.<whitespaces>)) (shen.pair (hd Parse_shen.<whitespaces>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<whitespace> (shen.<whitespace> V1603) (if (not (= (fail) Parse_shen.<whitespace>)) (shen.pair (hd Parse_shen.<whitespace>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
176
176
 
177
- (defun shen.packageh (V1583 V1584 V1585) (cond ((cons? V1585) (cons (shen.packageh V1583 V1584 (hd V1585)) (shen.packageh V1583 V1584 (tl V1585)))) ((or (shen.sysfunc? V1585) (or (variable? V1585) (or (element? V1585 V1584) (or (shen.doubleunderline? V1585) (shen.singleunderline? V1585))))) V1585) ((and (symbol? V1585) (not (shen.prefix? (cons "s" (cons "h" (cons "e" (cons "n" (cons "." ()))))) (explode V1585)))) (concat V1583 V1585)) (true V1585)))
177
+ (defun shen.<whitespace> (V1608) (let Result (if (cons? (hd V1608)) (let Parse_X (hd (hd V1608)) (if (let Parse_Case Parse_X (or (= Parse_Case 32) (or (= Parse_Case 13) (or (= Parse_Case 10) (= Parse_Case 9))))) (shen.pair (hd (shen.pair (tl (hd V1608)) (shen.hdtl V1608))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
178
178
 
179
- (defun read-from-string (V1586) (let Ns (map (lambda V1298 (string->n V1298)) (explode V1586)) (compile shen.<st_input> Ns shen.read-error)))
179
+ (defun shen.cons_form (V1609) (cond ((= () V1609) ()) ((and (cons? V1609) (and (cons? (tl V1609)) (and (cons? (tl (tl V1609))) (and (= () (tl (tl (tl V1609)))) (= (hd (tl V1609)) bar!))))) (cons cons (cons (hd V1609) (tl (tl V1609))))) ((cons? V1609) (cons cons (cons (hd V1609) (cons (shen.cons_form (tl V1609)) ())))) (true (shen.sys-error shen.cons_form))))
180
+
181
+ (defun shen.package-macro (V1612 V1613) (cond ((and (cons? V1612) (and (= $ (hd V1612)) (and (cons? (tl V1612)) (= () (tl (tl V1612)))))) (append (explode (hd (tl V1612))) V1613)) ((and (cons? V1612) (and (= package (hd V1612)) (and (cons? (tl V1612)) (and (= null (hd (tl V1612))) (cons? (tl (tl V1612))))))) (append (tl (tl (tl V1612))) V1613)) ((and (cons? V1612) (and (= package (hd V1612)) (and (cons? (tl V1612)) (cons? (tl (tl V1612)))))) (let ListofExceptions (shen.eval-without-macros (hd (tl (tl V1612)))) (let Record (shen.record-exceptions ListofExceptions (hd (tl V1612))) (let PackageNameDot (intern (cn (str (hd (tl V1612))) ".")) (append (shen.packageh PackageNameDot ListofExceptions (tl (tl (tl V1612)))) V1613))))) (true (cons V1612 V1613))))
182
+
183
+ (defun shen.record-exceptions (V1614 V1615) (let CurrExceptions (trap-error (get V1615 shen.external-symbols (value *property-vector*)) (lambda E ())) (let AllExceptions (union V1614 CurrExceptions) (put V1615 shen.external-symbols AllExceptions (value *property-vector*)))))
184
+
185
+ (defun shen.packageh (V1624 V1625 V1626) (cond ((cons? V1626) (cons (shen.packageh V1624 V1625 (hd V1626)) (shen.packageh V1624 V1625 (tl V1626)))) ((or (shen.sysfunc? V1626) (or (variable? V1626) (or (element? V1626 V1625) (or (shen.doubleunderline? V1626) (shen.singleunderline? V1626))))) V1626) ((and (symbol? V1626) (not (shen.prefix? (cons "s" (cons "h" (cons "e" (cons "n" (cons "." ()))))) (explode V1626)))) (concat V1624 V1626)) (true V1626)))
186
+
187
+ (defun read-from-string (V1627) (let Ns (map (lambda V1327 (string->n V1327)) (explode V1627)) (compile shen.<st_input> Ns shen.read-error)))
180
188
 
181
189
 
182
190