shen-ruby 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,206 +23,206 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
23
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
24
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
25
25
 
26
- (defun shen.<defprolog> (V812) (let Parse_shen.<predicate*> (shen.<predicate*> V812) (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))))
26
+ (defun shen.<defprolog> (V837) (let Parse_shen.<predicate*> (shen.<predicate*> V837) (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))))
27
27
 
28
- (defun shen.prolog-error (V819 V820) (cond ((and (cons? V820) (and (cons? (tl V820)) (= () (tl (tl V820))))) (simple-error (cn "prolog syntax error in " (shen.app V819 (cn " here:
28
+ (defun shen.prolog-error (V844 V845) (cond ((and (cons? V845) (and (cons? (tl V845)) (= () (tl (tl V845))))) (simple-error (cn "prolog syntax error in " (shen.app V844 (cn " here:
29
29
 
30
- " (shen.app (shen.next-50 50 (hd V820)) "
31
- " shen.a)) shen.a)))) (true (simple-error (cn "prolog syntax error in " (shen.app V819 "
30
+ " (shen.app (shen.next-50 50 (hd V845)) "
31
+ " shen.a)) shen.a)))) (true (simple-error (cn "prolog syntax error in " (shen.app V844 "
32
32
  " shen.a))))))
33
33
 
34
- (defun shen.next-50 (V825 V826) (cond ((= () V826) "") ((= 0 V825) "") ((cons? V826) (cn (shen.decons-string (hd V826)) (shen.next-50 (- V825 1) (tl V826)))) (true (shen.f_error shen.next-50))))
34
+ (defun shen.next-50 (V850 V851) (cond ((= () V851) "") ((= 0 V850) "") ((cons? V851) (cn (shen.decons-string (hd V851)) (shen.next-50 (- V850 1) (tl V851)))) (true (shen.f_error shen.next-50))))
35
35
 
36
- (defun shen.decons-string (V827) (cond ((and (cons? V827) (and (= cons (hd V827)) (and (cons? (tl V827)) (and (cons? (tl (tl V827))) (= () (tl (tl (tl V827)))))))) (shen.app (shen.eval-cons V827) " " shen.s)) (true (shen.app V827 " " shen.r))))
36
+ (defun shen.decons-string (V852) (cond ((and (cons? V852) (and (= cons (hd V852)) (and (cons? (tl V852)) (and (cons? (tl (tl V852))) (= () (tl (tl (tl V852)))))))) (shen.app (shen.eval-cons V852) " " shen.s)) (true (shen.app V852 " " shen.r))))
37
37
 
38
- (defun shen.insert-predicate (V828 V829) (cond ((and (cons? V829) (and (cons? (tl V829)) (= () (tl (tl V829))))) (cons (cons V828 (hd V829)) (cons :- (tl V829)))) (true (shen.f_error shen.insert-predicate))))
38
+ (defun shen.insert-predicate (V853 V854) (cond ((and (cons? V854) (and (cons? (tl V854)) (= () (tl (tl V854))))) (cons (cons V853 (hd V854)) (cons :- (tl V854)))) (true (shen.f_error shen.insert-predicate))))
39
39
 
40
- (defun shen.<predicate*> (V830) (if (cons? (hd V830)) (let Parse_X (hd (hd V830)) (shen.pair (hd (shen.pair (tl (hd V830)) (shen.hdtl V830))) Parse_X)) (fail)))
40
+ (defun shen.<predicate*> (V855) (if (cons? (hd V855)) (let Parse_X (hd (hd V855)) (shen.pair (hd (shen.pair (tl (hd V855)) (shen.hdtl V855))) Parse_X)) (fail)))
41
41
 
42
- (defun shen.<clauses*> (V831) (let YaccParse (let Parse_shen.<clause*> (shen.<clause*> V831) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V831) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (shen.hdtl Parse_<e>)) (fail))) YaccParse)))
42
+ (defun shen.<clauses*> (V856) (let YaccParse (let Parse_shen.<clause*> (shen.<clause*> V856) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V856) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)))
43
43
 
44
- (defun shen.<clause*> (V832) (let Parse_shen.<head*> (shen.<head*> V832) (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))))
44
+ (defun shen.<clause*> (V857) (let Parse_shen.<head*> (shen.<head*> V857) (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))))
45
45
 
46
- (defun shen.<head*> (V833) (let YaccParse (let Parse_shen.<term*> (shen.<term*> V833) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V833) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (shen.hdtl Parse_<e>)) (fail))) YaccParse)))
46
+ (defun shen.<head*> (V858) (let YaccParse (let Parse_shen.<term*> (shen.<term*> V858) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V858) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)))
47
47
 
48
- (defun shen.<term*> (V834) (if (cons? (hd V834)) (let Parse_X (hd (hd V834)) (if (and (not (= <-- Parse_X)) (shen.legitimate-term? Parse_X)) (shen.pair (hd (shen.pair (tl (hd V834)) (shen.hdtl V834))) (shen.eval-cons Parse_X)) (fail))) (fail)))
48
+ (defun shen.<term*> (V859) (if (cons? (hd V859)) (let Parse_X (hd (hd V859)) (if (and (not (= <-- Parse_X)) (shen.legitimate-term? Parse_X)) (shen.pair (hd (shen.pair (tl (hd V859)) (shen.hdtl V859))) (shen.eval-cons Parse_X)) (fail))) (fail)))
49
49
 
50
- (defun shen.legitimate-term? (V839) (cond ((and (cons? V839) (and (= cons (hd V839)) (and (cons? (tl V839)) (and (cons? (tl (tl V839))) (= () (tl (tl (tl V839)))))))) (and (shen.legitimate-term? (hd (tl V839))) (shen.legitimate-term? (hd (tl (tl V839)))))) ((and (cons? V839) (and (= mode (hd V839)) (and (cons? (tl V839)) (and (cons? (tl (tl V839))) (and (= + (hd (tl (tl V839)))) (= () (tl (tl (tl V839))))))))) (shen.legitimate-term? (hd (tl V839)))) ((and (cons? V839) (and (= mode (hd V839)) (and (cons? (tl V839)) (and (cons? (tl (tl V839))) (and (= - (hd (tl (tl V839)))) (= () (tl (tl (tl V839))))))))) (shen.legitimate-term? (hd (tl V839)))) ((cons? V839) false) (true true)))
50
+ (defun shen.legitimate-term? (V864) (cond ((and (cons? V864) (and (= cons (hd V864)) (and (cons? (tl V864)) (and (cons? (tl (tl V864))) (= () (tl (tl (tl V864)))))))) (and (shen.legitimate-term? (hd (tl V864))) (shen.legitimate-term? (hd (tl (tl V864)))))) ((and (cons? V864) (and (= mode (hd V864)) (and (cons? (tl V864)) (and (cons? (tl (tl V864))) (and (= + (hd (tl (tl V864)))) (= () (tl (tl (tl V864))))))))) (shen.legitimate-term? (hd (tl V864)))) ((and (cons? V864) (and (= mode (hd V864)) (and (cons? (tl V864)) (and (cons? (tl (tl V864))) (and (= - (hd (tl (tl V864)))) (= () (tl (tl (tl V864))))))))) (shen.legitimate-term? (hd (tl V864)))) ((cons? V864) false) (true true)))
51
51
 
52
- (defun shen.eval-cons (V840) (cond ((and (cons? V840) (and (= cons (hd V840)) (and (cons? (tl V840)) (and (cons? (tl (tl V840))) (= () (tl (tl (tl V840)))))))) (cons (shen.eval-cons (hd (tl V840))) (shen.eval-cons (hd (tl (tl V840)))))) ((and (cons? V840) (and (= mode (hd V840)) (and (cons? (tl V840)) (and (cons? (tl (tl V840))) (= () (tl (tl (tl V840)))))))) (cons mode (cons (shen.eval-cons (hd (tl V840))) (tl (tl V840))))) (true V840)))
52
+ (defun shen.eval-cons (V865) (cond ((and (cons? V865) (and (= cons (hd V865)) (and (cons? (tl V865)) (and (cons? (tl (tl V865))) (= () (tl (tl (tl V865)))))))) (cons (shen.eval-cons (hd (tl V865))) (shen.eval-cons (hd (tl (tl V865)))))) ((and (cons? V865) (and (= mode (hd V865)) (and (cons? (tl V865)) (and (cons? (tl (tl V865))) (= () (tl (tl (tl V865)))))))) (cons mode (cons (shen.eval-cons (hd (tl V865))) (tl (tl V865))))) (true V865)))
53
53
 
54
- (defun shen.<body*> (V841) (let YaccParse (let Parse_shen.<literal*> (shen.<literal*> V841) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V841) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) (shen.hdtl Parse_<e>)) (fail))) YaccParse)))
54
+ (defun shen.<body*> (V866) (let YaccParse (let Parse_shen.<literal*> (shen.<literal*> V866) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V866) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)))
55
55
 
56
- (defun shen.<literal*> (V842) (let YaccParse (if (and (cons? (hd V842)) (= ! (hd (hd V842)))) (shen.pair (hd (shen.pair (tl (hd V842)) (shen.hdtl V842))) (cons cut (cons (intern "Throwcontrol") ()))) (fail)) (if (= YaccParse (fail)) (if (cons? (hd V842)) (let Parse_X (hd (hd V842)) (if (cons? Parse_X) (shen.pair (hd (shen.pair (tl (hd V842)) (shen.hdtl V842))) Parse_X) (fail))) (fail)) YaccParse)))
56
+ (defun shen.<literal*> (V867) (let YaccParse (if (and (cons? (hd V867)) (= ! (hd (hd V867)))) (shen.pair (hd (shen.pair (tl (hd V867)) (shen.hdtl V867))) (cons cut (cons (intern "Throwcontrol") ()))) (fail)) (if (= YaccParse (fail)) (if (cons? (hd V867)) (let Parse_X (hd (hd V867)) (if (cons? Parse_X) (shen.pair (hd (shen.pair (tl (hd V867)) (shen.hdtl V867))) Parse_X) (fail))) (fail)) YaccParse)))
57
57
 
58
- (defun shen.<end*> (V843) (if (cons? (hd V843)) (let Parse_X (hd (hd V843)) (if (= Parse_X ;) (shen.pair (hd (shen.pair (tl (hd V843)) (shen.hdtl V843))) Parse_X) (fail))) (fail)))
58
+ (defun shen.<end*> (V868) (if (cons? (hd V868)) (let Parse_X (hd (hd V868)) (if (= Parse_X ;) (shen.pair (hd (shen.pair (tl (hd V868)) (shen.hdtl V868))) Parse_X) (fail))) (fail)))
59
59
 
60
- (defun cut (V844 V845 V846) (let Result (thaw V846) (if (= Result false) V844 Result)))
60
+ (defun cut (V869 V870 V871) (let Result (thaw V871) (if (= Result false) V869 Result)))
61
61
 
62
- (defun shen.insert_modes (V847) (cond ((and (cons? V847) (and (= mode (hd V847)) (and (cons? (tl V847)) (and (cons? (tl (tl V847))) (= () (tl (tl (tl V847)))))))) V847) ((= () V847) ()) ((cons? V847) (cons (cons mode (cons (hd V847) (cons + ()))) (cons mode (cons (shen.insert_modes (tl V847)) (cons - ()))))) (true V847)))
62
+ (defun shen.insert_modes (V872) (cond ((and (cons? V872) (and (= mode (hd V872)) (and (cons? (tl V872)) (and (cons? (tl (tl V872))) (= () (tl (tl (tl V872)))))))) V872) ((= () V872) ()) ((cons? V872) (cons (cons mode (cons (hd V872) (cons + ()))) (cons mode (cons (shen.insert_modes (tl V872)) (cons - ()))))) (true V872)))
63
63
 
64
- (defun shen.s-prolog (V848) (map (lambda V810 (eval V810)) (shen.prolog->shen V848)))
64
+ (defun shen.s-prolog (V873) (map (lambda V826 (eval V826)) (shen.prolog->shen V873)))
65
65
 
66
- (defun shen.prolog->shen (V849) (map shen.compile_prolog_procedure (shen.group_clauses (map shen.s-prolog_clause (mapcan shen.head_abstraction V849)))))
66
+ (defun shen.prolog->shen (V874) (map (lambda V829 (shen.compile_prolog_procedure V829)) (shen.group_clauses (map (lambda V828 (shen.s-prolog_clause V828)) (mapcan (lambda V827 (shen.head_abstraction V827)) V874)))))
67
67
 
68
- (defun shen.s-prolog_clause (V850) (cond ((and (cons? V850) (and (cons? (tl V850)) (and (= :- (hd (tl V850))) (and (cons? (tl (tl V850))) (= () (tl (tl (tl V850)))))))) (cons (hd V850) (cons :- (cons (map shen.s-prolog_literal (hd (tl (tl V850)))) ())))) (true (shen.f_error shen.s-prolog_clause))))
68
+ (defun shen.s-prolog_clause (V875) (cond ((and (cons? V875) (and (cons? (tl V875)) (and (= :- (hd (tl V875))) (and (cons? (tl (tl V875))) (= () (tl (tl (tl V875)))))))) (cons (hd V875) (cons :- (cons (map (lambda V830 (shen.s-prolog_literal V830)) (hd (tl (tl V875)))) ())))) (true (shen.f_error shen.s-prolog_clause))))
69
69
 
70
- (defun shen.head_abstraction (V851) (cond ((and (cons? V851) (and (cons? (tl V851)) (and (= :- (hd (tl V851))) (and (cons? (tl (tl V851))) (and (= () (tl (tl (tl V851)))) (< (shen.complexity_head (hd V851)) (value shen.*maxcomplexity*))))))) (cons V851 ())) ((and (cons? V851) (and (cons? (hd V851)) (and (cons? (tl V851)) (and (= :- (hd (tl V851))) (and (cons? (tl (tl V851))) (= () (tl (tl (tl V851))))))))) (let Terms (map (lambda Y (gensym V)) (tl (hd V851))) (let XTerms (shen.rcons_form (shen.remove_modes (tl (hd V851)))) (let Literal (cons unify (cons (shen.cons_form Terms) (cons XTerms ()))) (let Clause (cons (cons (hd (hd V851)) Terms) (cons :- (cons (cons Literal (hd (tl (tl V851)))) ()))) (cons Clause ())))))) (true (shen.f_error shen.head_abstraction))))
70
+ (defun shen.head_abstraction (V876) (cond ((and (cons? V876) (and (cons? (tl V876)) (and (= :- (hd (tl V876))) (and (cons? (tl (tl V876))) (and (= () (tl (tl (tl V876)))) (< (shen.complexity_head (hd V876)) (value shen.*maxcomplexity*))))))) (cons V876 ())) ((and (cons? V876) (and (cons? (hd V876)) (and (cons? (tl V876)) (and (= :- (hd (tl V876))) (and (cons? (tl (tl V876))) (= () (tl (tl (tl V876))))))))) (let Terms (map (lambda Y (gensym V)) (tl (hd V876))) (let XTerms (shen.rcons_form (shen.remove_modes (tl (hd V876)))) (let Literal (cons unify (cons (shen.cons_form Terms) (cons XTerms ()))) (let Clause (cons (cons (hd (hd V876)) Terms) (cons :- (cons (cons Literal (hd (tl (tl V876)))) ()))) (cons Clause ())))))) (true (shen.f_error shen.head_abstraction))))
71
71
 
72
- (defun shen.complexity_head (V856) (cond ((cons? V856) (shen.product (map shen.complexity (tl V856)))) (true (shen.f_error shen.complexity_head))))
72
+ (defun shen.complexity_head (V881) (cond ((cons? V881) (shen.product (map (lambda V831 (shen.complexity V831)) (tl V881)))) (true (shen.f_error shen.complexity_head))))
73
73
 
74
- (defun shen.complexity (V864) (cond ((and (cons? V864) (and (= mode (hd V864)) (and (cons? (tl V864)) (and (cons? (hd (tl V864))) (and (= mode (hd (hd (tl V864)))) (and (cons? (tl (hd (tl V864)))) (and (cons? (tl (tl (hd (tl V864))))) (and (= () (tl (tl (tl (hd (tl V864)))))) (and (cons? (tl (tl V864))) (= () (tl (tl (tl V864))))))))))))) (shen.complexity (hd (tl V864)))) ((and (cons? V864) (and (= mode (hd V864)) (and (cons? (tl V864)) (and (cons? (hd (tl V864))) (and (cons? (tl (tl V864))) (and (= + (hd (tl (tl V864)))) (= () (tl (tl (tl V864)))))))))) (* 2 (* (shen.complexity (cons mode (cons (hd (hd (tl V864))) (tl (tl V864))))) (shen.complexity (cons mode (cons (tl (hd (tl V864))) (tl (tl V864)))))))) ((and (cons? V864) (and (= mode (hd V864)) (and (cons? (tl V864)) (and (cons? (hd (tl V864))) (and (cons? (tl (tl V864))) (and (= - (hd (tl (tl V864)))) (= () (tl (tl (tl V864)))))))))) (* (shen.complexity (cons mode (cons (hd (hd (tl V864))) (tl (tl V864))))) (shen.complexity (cons mode (cons (tl (hd (tl V864))) (tl (tl V864))))))) ((and (cons? V864) (and (= mode (hd V864)) (and (cons? (tl V864)) (and (cons? (tl (tl V864))) (and (= () (tl (tl (tl V864)))) (variable? (hd (tl V864)))))))) 1) ((and (cons? V864) (and (= mode (hd V864)) (and (cons? (tl V864)) (and (cons? (tl (tl V864))) (and (= + (hd (tl (tl V864)))) (= () (tl (tl (tl V864))))))))) 2) ((and (cons? V864) (and (= mode (hd V864)) (and (cons? (tl V864)) (and (cons? (tl (tl V864))) (and (= - (hd (tl (tl V864)))) (= () (tl (tl (tl V864))))))))) 1) (true (shen.complexity (cons mode (cons V864 (cons + ())))))))
74
+ (defun shen.complexity (V889) (cond ((and (cons? V889) (and (= mode (hd V889)) (and (cons? (tl V889)) (and (cons? (hd (tl V889))) (and (= mode (hd (hd (tl V889)))) (and (cons? (tl (hd (tl V889)))) (and (cons? (tl (tl (hd (tl V889))))) (and (= () (tl (tl (tl (hd (tl V889)))))) (and (cons? (tl (tl V889))) (= () (tl (tl (tl V889))))))))))))) (shen.complexity (hd (tl V889)))) ((and (cons? V889) (and (= mode (hd V889)) (and (cons? (tl V889)) (and (cons? (hd (tl V889))) (and (cons? (tl (tl V889))) (and (= + (hd (tl (tl V889)))) (= () (tl (tl (tl V889)))))))))) (* 2 (* (shen.complexity (cons mode (cons (hd (hd (tl V889))) (tl (tl V889))))) (shen.complexity (cons mode (cons (tl (hd (tl V889))) (tl (tl V889)))))))) ((and (cons? V889) (and (= mode (hd V889)) (and (cons? (tl V889)) (and (cons? (hd (tl V889))) (and (cons? (tl (tl V889))) (and (= - (hd (tl (tl V889)))) (= () (tl (tl (tl V889)))))))))) (* (shen.complexity (cons mode (cons (hd (hd (tl V889))) (tl (tl V889))))) (shen.complexity (cons mode (cons (tl (hd (tl V889))) (tl (tl V889))))))) ((and (cons? V889) (and (= mode (hd V889)) (and (cons? (tl V889)) (and (cons? (tl (tl V889))) (and (= () (tl (tl (tl V889)))) (variable? (hd (tl V889)))))))) 1) ((and (cons? V889) (and (= mode (hd V889)) (and (cons? (tl V889)) (and (cons? (tl (tl V889))) (and (= + (hd (tl (tl V889)))) (= () (tl (tl (tl V889))))))))) 2) ((and (cons? V889) (and (= mode (hd V889)) (and (cons? (tl V889)) (and (cons? (tl (tl V889))) (and (= - (hd (tl (tl V889)))) (= () (tl (tl (tl V889))))))))) 1) (true (shen.complexity (cons mode (cons V889 (cons + ())))))))
75
75
 
76
- (defun shen.product (V865) (cond ((= () V865) 1) ((cons? V865) (* (hd V865) (shen.product (tl V865)))) (true (shen.f_error shen.product))))
76
+ (defun shen.product (V890) (cond ((= () V890) 1) ((cons? V890) (* (hd V890) (shen.product (tl V890)))) (true (shen.f_error shen.product))))
77
77
 
78
- (defun shen.s-prolog_literal (V866) (cond ((and (cons? V866) (and (= is (hd V866)) (and (cons? (tl V866)) (and (cons? (tl (tl V866))) (= () (tl (tl (tl V866)))))))) (cons bind (cons (hd (tl V866)) (cons (shen.insert_deref (hd (tl (tl V866)))) ())))) ((and (cons? V866) (and (= when (hd V866)) (and (cons? (tl V866)) (= () (tl (tl V866)))))) (cons fwhen (cons (shen.insert_deref (hd (tl V866))) ()))) ((and (cons? V866) (and (= bind (hd V866)) (and (cons? (tl V866)) (and (cons? (tl (tl V866))) (= () (tl (tl (tl V866)))))))) (cons bind (cons (hd (tl V866)) (cons (shen.insert_lazyderef (hd (tl (tl V866)))) ())))) ((and (cons? V866) (and (= fwhen (hd V866)) (and (cons? (tl V866)) (= () (tl (tl V866)))))) (cons fwhen (cons (shen.insert_lazyderef (hd (tl V866))) ()))) ((cons? V866) V866) (true (shen.f_error shen.s-prolog_literal))))
78
+ (defun shen.s-prolog_literal (V891) (cond ((and (cons? V891) (and (= is (hd V891)) (and (cons? (tl V891)) (and (cons? (tl (tl V891))) (= () (tl (tl (tl V891)))))))) (cons bind (cons (hd (tl V891)) (cons (shen.insert_deref (hd (tl (tl V891)))) ())))) ((and (cons? V891) (and (= when (hd V891)) (and (cons? (tl V891)) (= () (tl (tl V891)))))) (cons fwhen (cons (shen.insert_deref (hd (tl V891))) ()))) ((and (cons? V891) (and (= bind (hd V891)) (and (cons? (tl V891)) (and (cons? (tl (tl V891))) (= () (tl (tl (tl V891)))))))) (cons bind (cons (hd (tl V891)) (cons (shen.insert_lazyderef (hd (tl (tl V891)))) ())))) ((and (cons? V891) (and (= fwhen (hd V891)) (and (cons? (tl V891)) (= () (tl (tl V891)))))) (cons fwhen (cons (shen.insert_lazyderef (hd (tl V891))) ()))) ((cons? V891) V891) (true (shen.f_error shen.s-prolog_literal))))
79
79
 
80
- (defun shen.insert_deref (V867) (cond ((variable? V867) (cons shen.deref (cons V867 (cons ProcessN ())))) ((cons? V867) (cons (shen.insert_deref (hd V867)) (shen.insert_deref (tl V867)))) (true V867)))
80
+ (defun shen.insert_deref (V892) (cond ((variable? V892) (cons shen.deref (cons V892 (cons ProcessN ())))) ((cons? V892) (cons (shen.insert_deref (hd V892)) (shen.insert_deref (tl V892)))) (true V892)))
81
81
 
82
- (defun shen.insert_lazyderef (V868) (cond ((variable? V868) (cons shen.lazyderef (cons V868 (cons ProcessN ())))) ((cons? V868) (cons (shen.insert_lazyderef (hd V868)) (shen.insert_lazyderef (tl V868)))) (true V868)))
82
+ (defun shen.insert_lazyderef (V893) (cond ((variable? V893) (cons shen.lazyderef (cons V893 (cons ProcessN ())))) ((cons? V893) (cons (shen.insert_lazyderef (hd V893)) (shen.insert_lazyderef (tl V893)))) (true V893)))
83
83
 
84
- (defun shen.m_prolog_to_s-prolog_predicate (V869) (cond ((= = V869) unify) ((= =! V869) unify!) ((= == V869) identical) (true V869)))
84
+ (defun shen.m_prolog_to_s-prolog_predicate (V894) (cond ((= = V894) unify) ((= =! V894) unify!) ((= == V894) identical) (true V894)))
85
85
 
86
- (defun shen.group_clauses (V870) (cond ((= () V870) ()) ((cons? V870) (let Group (shen.collect (lambda X (shen.same_predicate? (hd V870) X)) V870) (let Rest (difference V870 Group) (cons Group (shen.group_clauses Rest))))) (true (shen.f_error shen.group_clauses))))
86
+ (defun shen.group_clauses (V895) (cond ((= () V895) ()) ((cons? V895) (let Group (shen.collect (lambda X (shen.same_predicate? (hd V895) X)) V895) (let Rest (difference V895 Group) (cons Group (shen.group_clauses Rest))))) (true (shen.f_error shen.group_clauses))))
87
87
 
88
- (defun shen.collect (V873 V874) (cond ((= () V874) ()) ((cons? V874) (if (V873 (hd V874)) (cons (hd V874) (shen.collect V873 (tl V874))) (shen.collect V873 (tl V874)))) (true (shen.f_error shen.collect))))
88
+ (defun shen.collect (V898 V899) (cond ((= () V899) ()) ((cons? V899) (if (V898 (hd V899)) (cons (hd V899) (shen.collect V898 (tl V899))) (shen.collect V898 (tl V899)))) (true (shen.f_error shen.collect))))
89
89
 
90
- (defun shen.same_predicate? (V891 V892) (cond ((and (cons? V891) (and (cons? (hd V891)) (and (cons? V892) (cons? (hd V892))))) (= (hd (hd V891)) (hd (hd V892)))) (true (shen.f_error shen.same_predicate?))))
90
+ (defun shen.same_predicate? (V916 V917) (cond ((and (cons? V916) (and (cons? (hd V916)) (and (cons? V917) (cons? (hd V917))))) (= (hd (hd V916)) (hd (hd V917)))) (true (shen.f_error shen.same_predicate?))))
91
91
 
92
- (defun shen.compile_prolog_procedure (V893) (let F (shen.procedure_name V893) (let Shen (shen.clauses-to-shen F V893) Shen)))
92
+ (defun shen.compile_prolog_procedure (V918) (let F (shen.procedure_name V918) (let Shen (shen.clauses-to-shen F V918) Shen)))
93
93
 
94
- (defun shen.procedure_name (V906) (cond ((and (cons? V906) (and (cons? (hd V906)) (cons? (hd (hd V906))))) (hd (hd (hd V906)))) (true (shen.f_error shen.procedure_name))))
94
+ (defun shen.procedure_name (V931) (cond ((and (cons? V931) (and (cons? (hd V931)) (cons? (hd (hd V931))))) (hd (hd (hd V931)))) (true (shen.f_error shen.procedure_name))))
95
95
 
96
- (defun shen.clauses-to-shen (V907 V908) (let Linear (map shen.linearise-clause V908) (let Arity (shen.prolog-aritycheck V907 (map (lambda V811 (head V811)) V908)) (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 V907 (append Parameters (append (cons ProcessN (cons Continuation ())) (cons -> (cons Code ())))))) ShenDef)))))))
96
+ (defun shen.clauses-to-shen (V932 V933) (let Linear (map (lambda V832 (shen.linearise-clause V832)) V933) (let Arity (shen.prolog-aritycheck V932 (map (lambda V833 (head V833)) V933)) (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 (lambda V834 (shen.aum_to_shen V834)) AUM_instructions))) (let ShenDef (cons define (cons V932 (append Parameters (append (cons ProcessN (cons Continuation ())) (cons -> (cons Code ())))))) ShenDef)))))))
97
97
 
98
- (defun shen.catch-cut (V909) (cond ((not (shen.occurs? cut V909)) V909) (true (cons let (cons Throwcontrol (cons (cons shen.catchpoint ()) (cons (cons shen.cutpoint (cons Throwcontrol (cons V909 ()))) ())))))))
98
+ (defun shen.catch-cut (V934) (cond ((not (shen.occurs? cut V934)) V934) (true (cons let (cons Throwcontrol (cons (cons shen.catchpoint ()) (cons (cons shen.cutpoint (cons Throwcontrol (cons V934 ()))) ())))))))
99
99
 
100
100
  (defun shen.catchpoint () (set shen.*catch* (+ 1 (value shen.*catch*))))
101
101
 
102
- (defun shen.cutpoint (V915 V916) (cond ((= V916 V915) false) (true V916)))
102
+ (defun shen.cutpoint (V940 V941) (cond ((= V941 V940) false) (true V941)))
103
103
 
104
- (defun shen.nest-disjunct (V917) (cond ((and (cons? V917) (= () (tl V917))) (hd V917)) ((cons? V917) (shen.lisp-or (hd V917) (shen.nest-disjunct (tl V917)))) (true (shen.f_error shen.nest-disjunct))))
104
+ (defun shen.nest-disjunct (V942) (cond ((and (cons? V942) (= () (tl V942))) (hd V942)) ((cons? V942) (shen.lisp-or (hd V942) (shen.nest-disjunct (tl V942)))) (true (shen.f_error shen.nest-disjunct))))
105
105
 
106
- (defun shen.lisp-or (V918 V919) (cons let (cons Case (cons V918 (cons (cons if (cons (cons = (cons Case (cons false ()))) (cons V919 (cons Case ())))) ())))))
106
+ (defun shen.lisp-or (V943 V944) (cons let (cons Case (cons V943 (cons (cons if (cons (cons = (cons Case (cons false ()))) (cons V944 (cons Case ())))) ())))))
107
107
 
108
- (defun shen.prolog-aritycheck (V922 V923) (cond ((and (cons? V923) (= () (tl V923))) (- (length (hd V923)) 1)) ((and (cons? V923) (cons? (tl V923))) (if (= (length (hd V923)) (length (hd (tl V923)))) (shen.prolog-aritycheck V922 (tl V923)) (simple-error (cn "arity error in prolog procedure " (shen.app (cons V922 ()) "
108
+ (defun shen.prolog-aritycheck (V947 V948) (cond ((and (cons? V948) (= () (tl V948))) (- (length (hd V948)) 1)) ((and (cons? V948) (cons? (tl V948))) (if (= (length (hd V948)) (length (hd (tl V948)))) (shen.prolog-aritycheck V947 (tl V948)) (simple-error (cn "arity error in prolog procedure " (shen.app (cons V947 ()) "
109
109
  " shen.a))))) (true (shen.f_error shen.prolog-aritycheck))))
110
110
 
111
- (defun shen.linearise-clause (V924) (cond ((and (cons? V924) (and (cons? (tl V924)) (and (= :- (hd (tl V924))) (and (cons? (tl (tl V924))) (= () (tl (tl (tl V924)))))))) (let Linear (shen.linearise (cons (hd V924) (tl (tl V924)))) (shen.clause_form Linear))) (true (shen.f_error shen.linearise-clause))))
111
+ (defun shen.linearise-clause (V949) (cond ((and (cons? V949) (and (cons? (tl V949)) (and (= :- (hd (tl V949))) (and (cons? (tl (tl V949))) (= () (tl (tl (tl V949)))))))) (let Linear (shen.linearise (cons (hd V949) (tl (tl V949)))) (shen.clause_form Linear))) (true (shen.f_error shen.linearise-clause))))
112
112
 
113
- (defun shen.clause_form (V925) (cond ((and (cons? V925) (and (cons? (tl V925)) (= () (tl (tl V925))))) (cons (shen.explicit_modes (hd V925)) (cons :- (cons (shen.cf_help (hd (tl V925))) ())))) (true (shen.f_error shen.clause_form))))
113
+ (defun shen.clause_form (V950) (cond ((and (cons? V950) (and (cons? (tl V950)) (= () (tl (tl V950))))) (cons (shen.explicit_modes (hd V950)) (cons :- (cons (shen.cf_help (hd (tl V950))) ())))) (true (shen.f_error shen.clause_form))))
114
114
 
115
- (defun shen.explicit_modes (V926) (cond ((cons? V926) (cons (hd V926) (map shen.em_help (tl V926)))) (true (shen.f_error shen.explicit_modes))))
115
+ (defun shen.explicit_modes (V951) (cond ((cons? V951) (cons (hd V951) (map (lambda V835 (shen.em_help V835)) (tl V951)))) (true (shen.f_error shen.explicit_modes))))
116
116
 
117
- (defun shen.em_help (V927) (cond ((and (cons? V927) (and (= mode (hd V927)) (and (cons? (tl V927)) (and (cons? (tl (tl V927))) (= () (tl (tl (tl V927)))))))) V927) (true (cons mode (cons V927 (cons + ()))))))
117
+ (defun shen.em_help (V952) (cond ((and (cons? V952) (and (= mode (hd V952)) (and (cons? (tl V952)) (and (cons? (tl (tl V952))) (= () (tl (tl (tl V952)))))))) V952) (true (cons mode (cons V952 (cons + ()))))))
118
118
 
119
- (defun shen.cf_help (V928) (cond ((and (cons? V928) (and (= where (hd V928)) (and (cons? (tl V928)) (and (cons? (hd (tl V928))) (and (= = (hd (hd (tl V928)))) (and (cons? (tl (hd (tl V928)))) (and (cons? (tl (tl (hd (tl V928))))) (and (= () (tl (tl (tl (hd (tl V928)))))) (and (cons? (tl (tl V928))) (= () (tl (tl (tl V928))))))))))))) (cons (cons (if (value shen.*occurs*) unify! unify) (tl (hd (tl V928)))) (shen.cf_help (hd (tl (tl V928)))))) (true V928)))
119
+ (defun shen.cf_help (V953) (cond ((and (cons? V953) (and (= where (hd V953)) (and (cons? (tl V953)) (and (cons? (hd (tl V953))) (and (= = (hd (hd (tl V953)))) (and (cons? (tl (hd (tl V953)))) (and (cons? (tl (tl (hd (tl V953))))) (and (= () (tl (tl (tl (hd (tl V953)))))) (and (cons? (tl (tl V953))) (= () (tl (tl (tl V953))))))))))))) (cons (cons (if (value shen.*occurs*) unify! unify) (tl (hd (tl V953)))) (shen.cf_help (hd (tl (tl V953)))))) (true V953)))
120
120
 
121
- (defun occurs-check (V933) (cond ((= + V933) (set shen.*occurs* true)) ((= - V933) (set shen.*occurs* false)) (true (simple-error "occurs-check expects + or -
121
+ (defun occurs-check (V958) (cond ((= + V958) (set shen.*occurs* true)) ((= - V958) (set shen.*occurs* false)) (true (simple-error "occurs-check expects + or -
122
122
  "))))
123
123
 
124
- (defun shen.aum (V934 V935) (cond ((and (cons? V934) (and (cons? (hd V934)) (and (cons? (tl V934)) (and (= :- (hd (tl V934))) (and (cons? (tl (tl V934))) (= () (tl (tl (tl V934))))))))) (let MuApplication (shen.make_mu_application (cons shen.mu (cons (tl (hd V934)) (cons (shen.continuation_call (tl (hd V934)) (hd (tl (tl V934)))) ()))) V935) (shen.mu_reduction MuApplication +))) (true (shen.f_error shen.aum))))
124
+ (defun shen.aum (V959 V960) (cond ((and (cons? V959) (and (cons? (hd V959)) (and (cons? (tl V959)) (and (= :- (hd (tl V959))) (and (cons? (tl (tl V959))) (= () (tl (tl (tl V959))))))))) (let MuApplication (shen.make_mu_application (cons shen.mu (cons (tl (hd V959)) (cons (shen.continuation_call (tl (hd V959)) (hd (tl (tl V959)))) ()))) V960) (shen.mu_reduction MuApplication +))) (true (shen.f_error shen.aum))))
125
125
 
126
- (defun shen.continuation_call (V936 V937) (let VTerms (cons ProcessN (shen.extract_vars V936)) (let VBody (shen.extract_vars V937) (let Free (remove Throwcontrol (difference VBody VTerms)) (shen.cc_help Free V937)))))
126
+ (defun shen.continuation_call (V961 V962) (let VTerms (cons ProcessN (shen.extract_vars V961)) (let VBody (shen.extract_vars V962) (let Free (remove Throwcontrol (difference VBody VTerms)) (shen.cc_help Free V962)))))
127
127
 
128
- (defun remove (V938 V939) (shen.remove-h V938 V939 ()))
128
+ (defun remove (V963 V964) (shen.remove-h V963 V964 ()))
129
129
 
130
- (defun shen.remove-h (V943 V944 V945) (cond ((= () V944) (reverse V945)) ((and (cons? V944) (= (hd V944) V943)) (shen.remove-h (hd V944) (tl V944) V945)) ((cons? V944) (shen.remove-h V943 (tl V944) (cons (hd V944) V945))) (true (shen.f_error shen.remove-h))))
130
+ (defun shen.remove-h (V968 V969 V970) (cond ((= () V969) (reverse V970)) ((and (cons? V969) (= (hd V969) V968)) (shen.remove-h (hd V969) (tl V969) V970)) ((cons? V969) (shen.remove-h V968 (tl V969) (cons (hd V969) V970))) (true (shen.f_error shen.remove-h))))
131
131
 
132
- (defun shen.cc_help (V946 V947) (cond ((and (= () V946) (= () V947)) (cons shen.pop (cons shen.the (cons shen.stack ())))) ((= () V947) (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons V946 (cons and (cons shen.then (cons (cons shen.pop (cons shen.the (cons shen.stack ()))) ()))))))))) ((= () V946) (cons call (cons shen.the (cons shen.continuation (cons V947 ()))))) (true (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons V946 (cons and (cons shen.then (cons (cons call (cons shen.the (cons shen.continuation (cons V947 ())))) ())))))))))))
132
+ (defun shen.cc_help (V971 V972) (cond ((and (= () V971) (= () V972)) (cons shen.pop (cons shen.the (cons shen.stack ())))) ((= () V972) (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons V971 (cons and (cons shen.then (cons (cons shen.pop (cons shen.the (cons shen.stack ()))) ()))))))))) ((= () V971) (cons call (cons shen.the (cons shen.continuation (cons V972 ()))))) (true (cons shen.rename (cons shen.the (cons shen.variables (cons in (cons V971 (cons and (cons shen.then (cons (cons call (cons shen.the (cons shen.continuation (cons V972 ())))) ())))))))))))
133
133
 
134
- (defun shen.make_mu_application (V948 V949) (cond ((and (cons? V948) (and (= shen.mu (hd V948)) (and (cons? (tl V948)) (and (= () (hd (tl V948))) (and (cons? (tl (tl V948))) (and (= () (tl (tl (tl V948)))) (= () V949))))))) (hd (tl (tl V948)))) ((and (cons? V948) (and (= shen.mu (hd V948)) (and (cons? (tl V948)) (and (cons? (hd (tl V948))) (and (cons? (tl (tl V948))) (and (= () (tl (tl (tl V948)))) (cons? V949))))))) (cons (cons shen.mu (cons (hd (hd (tl V948))) (cons (shen.make_mu_application (cons shen.mu (cons (tl (hd (tl V948))) (tl (tl V948)))) (tl V949)) ()))) (cons (hd V949) ()))) (true (shen.f_error shen.make_mu_application))))
134
+ (defun shen.make_mu_application (V973 V974) (cond ((and (cons? V973) (and (= shen.mu (hd V973)) (and (cons? (tl V973)) (and (= () (hd (tl V973))) (and (cons? (tl (tl V973))) (and (= () (tl (tl (tl V973)))) (= () V974))))))) (hd (tl (tl V973)))) ((and (cons? V973) (and (= shen.mu (hd V973)) (and (cons? (tl V973)) (and (cons? (hd (tl V973))) (and (cons? (tl (tl V973))) (and (= () (tl (tl (tl V973)))) (cons? V974))))))) (cons (cons shen.mu (cons (hd (hd (tl V973))) (cons (shen.make_mu_application (cons shen.mu (cons (tl (hd (tl V973))) (tl (tl V973)))) (tl V974)) ()))) (cons (hd V974) ()))) (true (shen.f_error shen.make_mu_application))))
135
135
 
136
- (defun shen.mu_reduction (V956 V957) (cond ((and (cons? V956) (and (cons? (hd V956)) (and (= shen.mu (hd (hd V956))) (and (cons? (tl (hd V956))) (and (cons? (hd (tl (hd V956)))) (and (= mode (hd (hd (tl (hd V956))))) (and (cons? (tl (hd (tl (hd V956))))) (and (cons? (tl (tl (hd (tl (hd V956)))))) (and (= () (tl (tl (tl (hd (tl (hd V956))))))) (and (cons? (tl (tl (hd V956)))) (and (= () (tl (tl (tl (hd V956))))) (and (cons? (tl V956)) (= () (tl (tl V956))))))))))))))) (shen.mu_reduction (cons (cons shen.mu (cons (hd (tl (hd (tl (hd V956))))) (tl (tl (hd V956))))) (tl V956)) (hd (tl (tl (hd (tl (hd V956)))))))) ((and (cons? V956) (and (cons? (hd V956)) (and (= shen.mu (hd (hd V956))) (and (cons? (tl (hd V956))) (and (cons? (tl (tl (hd V956)))) (and (= () (tl (tl (tl (hd V956))))) (and (cons? (tl V956)) (and (= () (tl (tl V956))) (= _ (hd (tl (hd V956)))))))))))) (shen.mu_reduction (hd (tl (tl (hd V956)))) V957)) ((and (cons? V956) (and (cons? (hd V956)) (and (= shen.mu (hd (hd V956))) (and (cons? (tl (hd V956))) (and (cons? (tl (tl (hd V956)))) (and (= () (tl (tl (tl (hd V956))))) (and (cons? (tl V956)) (and (= () (tl (tl V956))) (shen.ephemeral_variable? (hd (tl (hd V956))) (hd (tl V956))))))))))) (subst (hd (tl V956)) (hd (tl (hd V956))) (shen.mu_reduction (hd (tl (tl (hd V956)))) V957))) ((and (cons? V956) (and (cons? (hd V956)) (and (= shen.mu (hd (hd V956))) (and (cons? (tl (hd V956))) (and (cons? (tl (tl (hd V956)))) (and (= () (tl (tl (tl (hd V956))))) (and (cons? (tl V956)) (and (= () (tl (tl V956))) (variable? (hd (tl (hd V956)))))))))))) (cons let (cons (hd (tl (hd V956))) (cons shen.be (cons (hd (tl V956)) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V956)))) V957) ()))))))) ((and (cons? V956) (and (cons? (hd V956)) (and (= shen.mu (hd (hd V956))) (and (cons? (tl (hd V956))) (and (cons? (tl (tl (hd V956)))) (and (= () (tl (tl (tl (hd V956))))) (and (cons? (tl V956)) (and (= () (tl (tl V956))) (and (= - V957) (shen.prolog_constant? (hd (tl (hd V956))))))))))))) (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 V956))))) (cons in (cons (cons if (cons (cons Z (cons is (cons identical (cons shen.to (cons (hd (tl (hd V956))) ()))))) (cons shen.then (cons (shen.mu_reduction (hd (tl (tl (hd V956)))) -) (cons shen.else (cons shen.failed! ())))))) ())))))))) ((and (cons? V956) (and (cons? (hd V956)) (and (= shen.mu (hd (hd V956))) (and (cons? (tl (hd V956))) (and (cons? (tl (tl (hd V956)))) (and (= () (tl (tl (tl (hd V956))))) (and (cons? (tl V956)) (and (= () (tl (tl V956))) (and (= + V957) (shen.prolog_constant? (hd (tl (hd V956))))))))))))) (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 V956))))) (cons in (cons (cons if (cons (cons Z (cons is (cons identical (cons shen.to (cons (hd (tl (hd V956))) ()))))) (cons shen.then (cons (shen.mu_reduction (hd (tl (tl (hd V956)))) +) (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 V956))) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V956)))) +) ())))))) (cons shen.else (cons shen.failed! ())))))) ())))))) ())))))))) ((and (cons? V956) (and (cons? (hd V956)) (and (= shen.mu (hd (hd V956))) (and (cons? (tl (hd V956))) (and (cons? (hd (tl (hd V956)))) (and (cons? (tl (tl (hd V956)))) (and (= () (tl (tl (tl (hd V956))))) (and (cons? (tl V956)) (and (= () (tl (tl V956))) (= - V957)))))))))) (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 V956))))) (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 V956)))) (cons (cons (cons shen.mu (cons (tl (hd (tl (hd V956)))) (tl (tl (hd V956))))) (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? V956) (and (cons? (hd V956)) (and (= shen.mu (hd (hd V956))) (and (cons? (tl (hd V956))) (and (cons? (hd (tl (hd V956)))) (and (cons? (tl (tl (hd V956)))) (and (= () (tl (tl (tl (hd V956))))) (and (cons? (tl V956)) (and (= () (tl (tl V956))) (= + V957)))))))))) (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 V956))))) (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 V956)))) (cons (cons (cons shen.mu (cons (tl (hd (tl (hd V956)))) (tl (tl (hd V956))))) (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 V956)))) (cons and (cons shen.then (cons (cons bind (cons Z (cons shen.to (cons (shen.rcons_form (shen.remove_modes (hd (tl (hd V956))))) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V956)))) +) ())))))) ())))))))) (cons shen.else (cons shen.failed! ())))))) ())))))) ())))))))) (true V956)))
136
+ (defun shen.mu_reduction (V981 V982) (cond ((and (cons? V981) (and (cons? (hd V981)) (and (= shen.mu (hd (hd V981))) (and (cons? (tl (hd V981))) (and (cons? (hd (tl (hd V981)))) (and (= mode (hd (hd (tl (hd V981))))) (and (cons? (tl (hd (tl (hd V981))))) (and (cons? (tl (tl (hd (tl (hd V981)))))) (and (= () (tl (tl (tl (hd (tl (hd V981))))))) (and (cons? (tl (tl (hd V981)))) (and (= () (tl (tl (tl (hd V981))))) (and (cons? (tl V981)) (= () (tl (tl V981))))))))))))))) (shen.mu_reduction (cons (cons shen.mu (cons (hd (tl (hd (tl (hd V981))))) (tl (tl (hd V981))))) (tl V981)) (hd (tl (tl (hd (tl (hd V981)))))))) ((and (cons? V981) (and (cons? (hd V981)) (and (= shen.mu (hd (hd V981))) (and (cons? (tl (hd V981))) (and (cons? (tl (tl (hd V981)))) (and (= () (tl (tl (tl (hd V981))))) (and (cons? (tl V981)) (and (= () (tl (tl V981))) (= _ (hd (tl (hd V981)))))))))))) (shen.mu_reduction (hd (tl (tl (hd V981)))) V982)) ((and (cons? V981) (and (cons? (hd V981)) (and (= shen.mu (hd (hd V981))) (and (cons? (tl (hd V981))) (and (cons? (tl (tl (hd V981)))) (and (= () (tl (tl (tl (hd V981))))) (and (cons? (tl V981)) (and (= () (tl (tl V981))) (shen.ephemeral_variable? (hd (tl (hd V981))) (hd (tl V981))))))))))) (subst (hd (tl V981)) (hd (tl (hd V981))) (shen.mu_reduction (hd (tl (tl (hd V981)))) V982))) ((and (cons? V981) (and (cons? (hd V981)) (and (= shen.mu (hd (hd V981))) (and (cons? (tl (hd V981))) (and (cons? (tl (tl (hd V981)))) (and (= () (tl (tl (tl (hd V981))))) (and (cons? (tl V981)) (and (= () (tl (tl V981))) (variable? (hd (tl (hd V981)))))))))))) (cons let (cons (hd (tl (hd V981))) (cons shen.be (cons (hd (tl V981)) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V981)))) V982) ()))))))) ((and (cons? V981) (and (cons? (hd V981)) (and (= shen.mu (hd (hd V981))) (and (cons? (tl (hd V981))) (and (cons? (tl (tl (hd V981)))) (and (= () (tl (tl (tl (hd V981))))) (and (cons? (tl V981)) (and (= () (tl (tl V981))) (and (= - V982) (shen.prolog_constant? (hd (tl (hd V981))))))))))))) (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 V981))))) (cons in (cons (cons if (cons (cons Z (cons is (cons identical (cons shen.to (cons (hd (tl (hd V981))) ()))))) (cons shen.then (cons (shen.mu_reduction (hd (tl (tl (hd V981)))) -) (cons shen.else (cons shen.failed! ())))))) ())))))))) ((and (cons? V981) (and (cons? (hd V981)) (and (= shen.mu (hd (hd V981))) (and (cons? (tl (hd V981))) (and (cons? (tl (tl (hd V981)))) (and (= () (tl (tl (tl (hd V981))))) (and (cons? (tl V981)) (and (= () (tl (tl V981))) (and (= + V982) (shen.prolog_constant? (hd (tl (hd V981))))))))))))) (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 V981))))) (cons in (cons (cons if (cons (cons Z (cons is (cons identical (cons shen.to (cons (hd (tl (hd V981))) ()))))) (cons shen.then (cons (shen.mu_reduction (hd (tl (tl (hd V981)))) +) (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 V981))) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V981)))) +) ())))))) (cons shen.else (cons shen.failed! ())))))) ())))))) ())))))))) ((and (cons? V981) (and (cons? (hd V981)) (and (= shen.mu (hd (hd V981))) (and (cons? (tl (hd V981))) (and (cons? (hd (tl (hd V981)))) (and (cons? (tl (tl (hd V981)))) (and (= () (tl (tl (tl (hd V981))))) (and (cons? (tl V981)) (and (= () (tl (tl V981))) (= - V982)))))))))) (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 V981))))) (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 V981)))) (cons (cons (cons shen.mu (cons (tl (hd (tl (hd V981)))) (tl (tl (hd V981))))) (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? V981) (and (cons? (hd V981)) (and (= shen.mu (hd (hd V981))) (and (cons? (tl (hd V981))) (and (cons? (hd (tl (hd V981)))) (and (cons? (tl (tl (hd V981)))) (and (= () (tl (tl (tl (hd V981))))) (and (cons? (tl V981)) (and (= () (tl (tl V981))) (= + V982)))))))))) (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 V981))))) (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 V981)))) (cons (cons (cons shen.mu (cons (tl (hd (tl (hd V981)))) (tl (tl (hd V981))))) (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 V981)))) (cons and (cons shen.then (cons (cons bind (cons Z (cons shen.to (cons (shen.rcons_form (shen.remove_modes (hd (tl (hd V981))))) (cons in (cons (shen.mu_reduction (hd (tl (tl (hd V981)))) +) ())))))) ())))))))) (cons shen.else (cons shen.failed! ())))))) ())))))) ())))))))) (true V981)))
137
137
 
138
- (defun shen.rcons_form (V958) (cond ((cons? V958) (cons cons (cons (shen.rcons_form (hd V958)) (cons (shen.rcons_form (tl V958)) ())))) (true V958)))
138
+ (defun shen.rcons_form (V983) (cond ((cons? V983) (cons cons (cons (shen.rcons_form (hd V983)) (cons (shen.rcons_form (tl V983)) ())))) (true V983)))
139
139
 
140
- (defun shen.remove_modes (V959) (cond ((and (cons? V959) (and (= mode (hd V959)) (and (cons? (tl V959)) (and (cons? (tl (tl V959))) (and (= + (hd (tl (tl V959)))) (= () (tl (tl (tl V959))))))))) (shen.remove_modes (hd (tl V959)))) ((and (cons? V959) (and (= mode (hd V959)) (and (cons? (tl V959)) (and (cons? (tl (tl V959))) (and (= - (hd (tl (tl V959)))) (= () (tl (tl (tl V959))))))))) (shen.remove_modes (hd (tl V959)))) ((cons? V959) (cons (shen.remove_modes (hd V959)) (shen.remove_modes (tl V959)))) (true V959)))
140
+ (defun shen.remove_modes (V984) (cond ((and (cons? V984) (and (= mode (hd V984)) (and (cons? (tl V984)) (and (cons? (tl (tl V984))) (and (= + (hd (tl (tl V984)))) (= () (tl (tl (tl V984))))))))) (shen.remove_modes (hd (tl V984)))) ((and (cons? V984) (and (= mode (hd V984)) (and (cons? (tl V984)) (and (cons? (tl (tl V984))) (and (= - (hd (tl (tl V984)))) (= () (tl (tl (tl V984))))))))) (shen.remove_modes (hd (tl V984)))) ((cons? V984) (cons (shen.remove_modes (hd V984)) (shen.remove_modes (tl V984)))) (true V984)))
141
141
 
142
- (defun shen.ephemeral_variable? (V960 V961) (and (variable? V960) (variable? V961)))
142
+ (defun shen.ephemeral_variable? (V985 V986) (and (variable? V985) (variable? V986)))
143
143
 
144
- (defun shen.prolog_constant? (V970) (cond ((cons? V970) false) (true true)))
144
+ (defun shen.prolog_constant? (V995) (cond ((cons? V995) false) (true true)))
145
145
 
146
- (defun shen.aum_to_shen (V971) (cond ((and (cons? V971) (and (= let (hd V971)) (and (cons? (tl V971)) (and (cons? (tl (tl V971))) (and (= shen.be (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (cons? (tl (tl (tl (tl V971))))) (and (= in (hd (tl (tl (tl (tl V971)))))) (and (cons? (tl (tl (tl (tl (tl V971)))))) (= () (tl (tl (tl (tl (tl (tl V971)))))))))))))))) (cons let (cons (hd (tl V971)) (cons (shen.aum_to_shen (hd (tl (tl (tl V971))))) (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V971))))))) ()))))) ((and (cons? V971) (and (= shen.the (hd V971)) (and (cons? (tl V971)) (and (= shen.result (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.of (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (= shen.dereferencing (hd (tl (tl (tl V971))))) (and (cons? (tl (tl (tl (tl V971))))) (= () (tl (tl (tl (tl (tl V971))))))))))))))) (cons shen.lazyderef (cons (shen.aum_to_shen (hd (tl (tl (tl (tl V971)))))) (cons ProcessN ())))) ((and (cons? V971) (and (= if (hd V971)) (and (cons? (tl V971)) (and (cons? (tl (tl V971))) (and (= shen.then (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (cons? (tl (tl (tl (tl V971))))) (and (= shen.else (hd (tl (tl (tl (tl V971)))))) (and (cons? (tl (tl (tl (tl (tl V971)))))) (= () (tl (tl (tl (tl (tl (tl V971)))))))))))))))) (cons if (cons (shen.aum_to_shen (hd (tl V971))) (cons (shen.aum_to_shen (hd (tl (tl (tl V971))))) (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V971))))))) ()))))) ((and (cons? V971) (and (cons? (tl V971)) (and (= is (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.a (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (= shen.variable (hd (tl (tl (tl V971))))) (= () (tl (tl (tl (tl V971)))))))))))) (cons shen.pvar? (cons (hd V971) ()))) ((and (cons? V971) (and (cons? (tl V971)) (and (= is (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.a (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (= shen.non-empty (hd (tl (tl (tl V971))))) (and (cons? (tl (tl (tl (tl V971))))) (and (= list (hd (tl (tl (tl (tl V971)))))) (= () (tl (tl (tl (tl (tl V971))))))))))))))) (cons cons? (cons (hd V971) ()))) ((and (cons? V971) (and (= shen.rename (hd V971)) (and (cons? (tl V971)) (and (= shen.the (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.variables (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (= in (hd (tl (tl (tl V971))))) (and (cons? (tl (tl (tl (tl V971))))) (and (= () (hd (tl (tl (tl (tl V971)))))) (and (cons? (tl (tl (tl (tl (tl V971)))))) (and (= and (hd (tl (tl (tl (tl (tl V971))))))) (and (cons? (tl (tl (tl (tl (tl (tl V971))))))) (and (= shen.then (hd (tl (tl (tl (tl (tl (tl V971)))))))) (and (cons? (tl (tl (tl (tl (tl (tl (tl V971)))))))) (= () (tl (tl (tl (tl (tl (tl (tl (tl V971)))))))))))))))))))))))) (shen.aum_to_shen (hd (tl (tl (tl (tl (tl (tl (tl V971)))))))))) ((and (cons? V971) (and (= shen.rename (hd V971)) (and (cons? (tl V971)) (and (= shen.the (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.variables (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (= in (hd (tl (tl (tl V971))))) (and (cons? (tl (tl (tl (tl V971))))) (and (cons? (hd (tl (tl (tl (tl V971)))))) (and (cons? (tl (tl (tl (tl (tl V971)))))) (and (= and (hd (tl (tl (tl (tl (tl V971))))))) (and (cons? (tl (tl (tl (tl (tl (tl V971))))))) (and (= shen.then (hd (tl (tl (tl (tl (tl (tl V971)))))))) (and (cons? (tl (tl (tl (tl (tl (tl (tl V971)))))))) (= () (tl (tl (tl (tl (tl (tl (tl (tl V971)))))))))))))))))))))))) (cons let (cons (hd (hd (tl (tl (tl (tl V971)))))) (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 V971)))))) (tl (tl (tl (tl (tl V971))))))))))) ()))))) ((and (cons? V971) (and (= bind (hd V971)) (and (cons? (tl V971)) (and (cons? (tl (tl V971))) (and (= shen.to (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (cons? (tl (tl (tl (tl V971))))) (and (= in (hd (tl (tl (tl (tl V971)))))) (and (cons? (tl (tl (tl (tl (tl V971)))))) (= () (tl (tl (tl (tl (tl (tl V971)))))))))))))))) (cons do (cons (cons shen.bindv (cons (hd (tl V971)) (cons (shen.chwild (hd (tl (tl (tl V971))))) (cons ProcessN ())))) (cons (cons let (cons Result (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V971))))))) (cons (cons do (cons (cons shen.unbindv (cons (hd (tl V971)) (cons ProcessN ()))) (cons Result ()))) ())))) ())))) ((and (cons? V971) (and (cons? (tl V971)) (and (= is (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= identical (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (and (= shen.to (hd (tl (tl (tl V971))))) (and (cons? (tl (tl (tl (tl V971))))) (= () (tl (tl (tl (tl (tl V971)))))))))))))) (cons = (cons (hd (tl (tl (tl (tl V971))))) (cons (hd V971) ())))) ((= shen.failed! V971) false) ((and (cons? V971) (and (= shen.the (hd V971)) (and (cons? (tl V971)) (and (= head (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.of (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (= () (tl (tl (tl (tl V971)))))))))))) (cons hd (tl (tl (tl V971))))) ((and (cons? V971) (and (= shen.the (hd V971)) (and (cons? (tl V971)) (and (= tail (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.of (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (= () (tl (tl (tl (tl V971)))))))))))) (cons tl (tl (tl (tl V971))))) ((and (cons? V971) (and (= shen.pop (hd V971)) (and (cons? (tl V971)) (and (= shen.the (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.stack (hd (tl (tl V971)))) (= () (tl (tl (tl V971)))))))))) (cons do (cons (cons shen.incinfs ()) (cons (cons thaw (cons Continuation ())) ())))) ((and (cons? V971) (and (= call (hd V971)) (and (cons? (tl V971)) (and (= shen.the (hd (tl V971))) (and (cons? (tl (tl V971))) (and (= shen.continuation (hd (tl (tl V971)))) (and (cons? (tl (tl (tl V971)))) (= () (tl (tl (tl (tl V971)))))))))))) (cons do (cons (cons shen.incinfs ()) (cons (shen.call_the_continuation (shen.chwild (hd (tl (tl (tl V971))))) ProcessN Continuation) ())))) (true V971)))
146
+ (defun shen.aum_to_shen (V996) (cond ((and (cons? V996) (and (= let (hd V996)) (and (cons? (tl V996)) (and (cons? (tl (tl V996))) (and (= shen.be (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (cons? (tl (tl (tl (tl V996))))) (and (= in (hd (tl (tl (tl (tl V996)))))) (and (cons? (tl (tl (tl (tl (tl V996)))))) (= () (tl (tl (tl (tl (tl (tl V996)))))))))))))))) (cons let (cons (hd (tl V996)) (cons (shen.aum_to_shen (hd (tl (tl (tl V996))))) (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V996))))))) ()))))) ((and (cons? V996) (and (= shen.the (hd V996)) (and (cons? (tl V996)) (and (= shen.result (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.of (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (= shen.dereferencing (hd (tl (tl (tl V996))))) (and (cons? (tl (tl (tl (tl V996))))) (= () (tl (tl (tl (tl (tl V996))))))))))))))) (cons shen.lazyderef (cons (shen.aum_to_shen (hd (tl (tl (tl (tl V996)))))) (cons ProcessN ())))) ((and (cons? V996) (and (= if (hd V996)) (and (cons? (tl V996)) (and (cons? (tl (tl V996))) (and (= shen.then (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (cons? (tl (tl (tl (tl V996))))) (and (= shen.else (hd (tl (tl (tl (tl V996)))))) (and (cons? (tl (tl (tl (tl (tl V996)))))) (= () (tl (tl (tl (tl (tl (tl V996)))))))))))))))) (cons if (cons (shen.aum_to_shen (hd (tl V996))) (cons (shen.aum_to_shen (hd (tl (tl (tl V996))))) (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V996))))))) ()))))) ((and (cons? V996) (and (cons? (tl V996)) (and (= is (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.a (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (= shen.variable (hd (tl (tl (tl V996))))) (= () (tl (tl (tl (tl V996)))))))))))) (cons shen.pvar? (cons (hd V996) ()))) ((and (cons? V996) (and (cons? (tl V996)) (and (= is (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.a (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (= shen.non-empty (hd (tl (tl (tl V996))))) (and (cons? (tl (tl (tl (tl V996))))) (and (= list (hd (tl (tl (tl (tl V996)))))) (= () (tl (tl (tl (tl (tl V996))))))))))))))) (cons cons? (cons (hd V996) ()))) ((and (cons? V996) (and (= shen.rename (hd V996)) (and (cons? (tl V996)) (and (= shen.the (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.variables (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (= in (hd (tl (tl (tl V996))))) (and (cons? (tl (tl (tl (tl V996))))) (and (= () (hd (tl (tl (tl (tl V996)))))) (and (cons? (tl (tl (tl (tl (tl V996)))))) (and (= and (hd (tl (tl (tl (tl (tl V996))))))) (and (cons? (tl (tl (tl (tl (tl (tl V996))))))) (and (= shen.then (hd (tl (tl (tl (tl (tl (tl V996)))))))) (and (cons? (tl (tl (tl (tl (tl (tl (tl V996)))))))) (= () (tl (tl (tl (tl (tl (tl (tl (tl V996)))))))))))))))))))))))) (shen.aum_to_shen (hd (tl (tl (tl (tl (tl (tl (tl V996)))))))))) ((and (cons? V996) (and (= shen.rename (hd V996)) (and (cons? (tl V996)) (and (= shen.the (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.variables (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (= in (hd (tl (tl (tl V996))))) (and (cons? (tl (tl (tl (tl V996))))) (and (cons? (hd (tl (tl (tl (tl V996)))))) (and (cons? (tl (tl (tl (tl (tl V996)))))) (and (= and (hd (tl (tl (tl (tl (tl V996))))))) (and (cons? (tl (tl (tl (tl (tl (tl V996))))))) (and (= shen.then (hd (tl (tl (tl (tl (tl (tl V996)))))))) (and (cons? (tl (tl (tl (tl (tl (tl (tl V996)))))))) (= () (tl (tl (tl (tl (tl (tl (tl (tl V996)))))))))))))))))))))))) (cons let (cons (hd (hd (tl (tl (tl (tl V996)))))) (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 V996)))))) (tl (tl (tl (tl (tl V996))))))))))) ()))))) ((and (cons? V996) (and (= bind (hd V996)) (and (cons? (tl V996)) (and (cons? (tl (tl V996))) (and (= shen.to (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (cons? (tl (tl (tl (tl V996))))) (and (= in (hd (tl (tl (tl (tl V996)))))) (and (cons? (tl (tl (tl (tl (tl V996)))))) (= () (tl (tl (tl (tl (tl (tl V996)))))))))))))))) (cons do (cons (cons shen.bindv (cons (hd (tl V996)) (cons (shen.chwild (hd (tl (tl (tl V996))))) (cons ProcessN ())))) (cons (cons let (cons Result (cons (shen.aum_to_shen (hd (tl (tl (tl (tl (tl V996))))))) (cons (cons do (cons (cons shen.unbindv (cons (hd (tl V996)) (cons ProcessN ()))) (cons Result ()))) ())))) ())))) ((and (cons? V996) (and (cons? (tl V996)) (and (= is (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= identical (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (and (= shen.to (hd (tl (tl (tl V996))))) (and (cons? (tl (tl (tl (tl V996))))) (= () (tl (tl (tl (tl (tl V996)))))))))))))) (cons = (cons (hd (tl (tl (tl (tl V996))))) (cons (hd V996) ())))) ((= shen.failed! V996) false) ((and (cons? V996) (and (= shen.the (hd V996)) (and (cons? (tl V996)) (and (= head (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.of (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (= () (tl (tl (tl (tl V996)))))))))))) (cons hd (tl (tl (tl V996))))) ((and (cons? V996) (and (= shen.the (hd V996)) (and (cons? (tl V996)) (and (= tail (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.of (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (= () (tl (tl (tl (tl V996)))))))))))) (cons tl (tl (tl (tl V996))))) ((and (cons? V996) (and (= shen.pop (hd V996)) (and (cons? (tl V996)) (and (= shen.the (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.stack (hd (tl (tl V996)))) (= () (tl (tl (tl V996)))))))))) (cons do (cons (cons shen.incinfs ()) (cons (cons thaw (cons Continuation ())) ())))) ((and (cons? V996) (and (= call (hd V996)) (and (cons? (tl V996)) (and (= shen.the (hd (tl V996))) (and (cons? (tl (tl V996))) (and (= shen.continuation (hd (tl (tl V996)))) (and (cons? (tl (tl (tl V996)))) (= () (tl (tl (tl (tl V996)))))))))))) (cons do (cons (cons shen.incinfs ()) (cons (shen.call_the_continuation (shen.chwild (hd (tl (tl (tl V996))))) ProcessN Continuation) ())))) (true V996)))
147
147
 
148
- (defun shen.chwild (V972) (cond ((= V972 _) (cons shen.newpv (cons ProcessN ()))) ((cons? V972) (map shen.chwild V972)) (true V972)))
148
+ (defun shen.chwild (V997) (cond ((= V997 _) (cons shen.newpv (cons ProcessN ()))) ((cons? V997) (map (lambda V836 (shen.chwild V836)) V997)) (true V997)))
149
149
 
150
- (defun shen.newpv (V973) (let Count+1 (+ (<-address (value shen.*varcounter*) V973) 1) (let IncVar (address-> (value shen.*varcounter*) V973 Count+1) (let Vector (<-address (value shen.*prologvectors*) V973) (let ResizeVectorIfNeeded (if (= Count+1 (limit Vector)) (shen.resizeprocessvector V973 Count+1) shen.skip) (shen.mk-pvar Count+1))))))
150
+ (defun shen.newpv (V998) (let Count+1 (+ (<-address (value shen.*varcounter*) V998) 1) (let IncVar (address-> (value shen.*varcounter*) V998 Count+1) (let Vector (<-address (value shen.*prologvectors*) V998) (let ResizeVectorIfNeeded (if (= Count+1 (limit Vector)) (shen.resizeprocessvector V998 Count+1) shen.skip) (shen.mk-pvar Count+1))))))
151
151
 
152
- (defun shen.resizeprocessvector (V974 V975) (let Vector (<-address (value shen.*prologvectors*) V974) (let BigVector (shen.resize-vector Vector (+ V975 V975) shen.-null-) (address-> (value shen.*prologvectors*) V974 BigVector))))
152
+ (defun shen.resizeprocessvector (V999 V1000) (let Vector (<-address (value shen.*prologvectors*) V999) (let BigVector (shen.resize-vector Vector (+ V1000 V1000) shen.-null-) (address-> (value shen.*prologvectors*) V999 BigVector))))
153
153
 
154
- (defun shen.resize-vector (V976 V977 V978) (let BigVector (address-> (absvector (+ 1 V977)) 0 V977) (shen.copy-vector V976 BigVector (limit V976) V977 V978)))
154
+ (defun shen.resize-vector (V1001 V1002 V1003) (let BigVector (address-> (absvector (+ 1 V1002)) 0 V1002) (shen.copy-vector V1001 BigVector (limit V1001) V1002 V1003)))
155
155
 
156
- (defun shen.copy-vector (V979 V980 V981 V982 V983) (shen.copy-vector-stage-2 (+ 1 V981) (+ V982 1) V983 (shen.copy-vector-stage-1 1 V979 V980 (+ 1 V981))))
156
+ (defun shen.copy-vector (V1004 V1005 V1006 V1007 V1008) (shen.copy-vector-stage-2 (+ 1 V1006) (+ V1007 1) V1008 (shen.copy-vector-stage-1 1 V1004 V1005 (+ 1 V1006))))
157
157
 
158
- (defun shen.copy-vector-stage-1 (V987 V988 V989 V990) (cond ((= V990 V987) V989) (true (shen.copy-vector-stage-1 (+ 1 V987) V988 (address-> V989 V987 (<-address V988 V987)) V990))))
158
+ (defun shen.copy-vector-stage-1 (V1012 V1013 V1014 V1015) (cond ((= V1015 V1012) V1014) (true (shen.copy-vector-stage-1 (+ 1 V1012) V1013 (address-> V1014 V1012 (<-address V1013 V1012)) V1015))))
159
159
 
160
- (defun shen.copy-vector-stage-2 (V994 V995 V996 V997) (cond ((= V995 V994) V997) (true (shen.copy-vector-stage-2 (+ V994 1) V995 V996 (address-> V997 V994 V996)))))
160
+ (defun shen.copy-vector-stage-2 (V1019 V1020 V1021 V1022) (cond ((= V1020 V1019) V1022) (true (shen.copy-vector-stage-2 (+ V1019 1) V1020 V1021 (address-> V1022 V1019 V1021)))))
161
161
 
162
- (defun shen.mk-pvar (V998) (address-> (address-> (absvector 2) 0 shen.pvar) 1 V998))
162
+ (defun shen.mk-pvar (V1023) (address-> (address-> (absvector 2) 0 shen.pvar) 1 V1023))
163
163
 
164
- (defun shen.pvar? (V999) (trap-error (and (absvector? V999) (= (<-address V999 0) shen.pvar)) (lambda E false)))
164
+ (defun shen.pvar? (V1024) (trap-error (and (absvector? V1024) (= (<-address V1024 0) shen.pvar)) (lambda E false)))
165
165
 
166
- (defun shen.bindv (V1000 V1001 V1002) (let Vector (<-address (value shen.*prologvectors*) V1002) (address-> Vector (<-address V1000 1) V1001)))
166
+ (defun shen.bindv (V1025 V1026 V1027) (let Vector (<-address (value shen.*prologvectors*) V1027) (address-> Vector (<-address V1025 1) V1026)))
167
167
 
168
- (defun shen.unbindv (V1003 V1004) (let Vector (<-address (value shen.*prologvectors*) V1004) (address-> Vector (<-address V1003 1) shen.-null-)))
168
+ (defun shen.unbindv (V1028 V1029) (let Vector (<-address (value shen.*prologvectors*) V1029) (address-> Vector (<-address V1028 1) shen.-null-)))
169
169
 
170
170
  (defun shen.incinfs () (set shen.*infs* (+ 1 (value shen.*infs*))))
171
171
 
172
- (defun shen.call_the_continuation (V1005 V1006 V1007) (cond ((and (cons? V1005) (and (cons? (hd V1005)) (= () (tl V1005)))) (cons (hd (hd V1005)) (append (tl (hd V1005)) (cons V1006 (cons V1007 ()))))) ((and (cons? V1005) (cons? (hd V1005))) (let NewContinuation (shen.newcontinuation (tl V1005) V1006 V1007) (cons (hd (hd V1005)) (append (tl (hd V1005)) (cons V1006 (cons NewContinuation ())))))) (true (shen.f_error shen.call_the_continuation))))
172
+ (defun shen.call_the_continuation (V1030 V1031 V1032) (cond ((and (cons? V1030) (and (cons? (hd V1030)) (= () (tl V1030)))) (cons (hd (hd V1030)) (append (tl (hd V1030)) (cons V1031 (cons V1032 ()))))) ((and (cons? V1030) (cons? (hd V1030))) (let NewContinuation (shen.newcontinuation (tl V1030) V1031 V1032) (cons (hd (hd V1030)) (append (tl (hd V1030)) (cons V1031 (cons NewContinuation ())))))) (true (shen.f_error shen.call_the_continuation))))
173
173
 
174
- (defun shen.newcontinuation (V1008 V1009 V1010) (cond ((= () V1008) V1010) ((and (cons? V1008) (cons? (hd V1008))) (cons freeze (cons (cons (hd (hd V1008)) (append (tl (hd V1008)) (cons V1009 (cons (shen.newcontinuation (tl V1008) V1009 V1010) ())))) ()))) (true (shen.f_error shen.newcontinuation))))
174
+ (defun shen.newcontinuation (V1033 V1034 V1035) (cond ((= () V1033) V1035) ((and (cons? V1033) (cons? (hd V1033))) (cons freeze (cons (cons (hd (hd V1033)) (append (tl (hd V1033)) (cons V1034 (cons (shen.newcontinuation (tl V1033) V1034 V1035) ())))) ()))) (true (shen.f_error shen.newcontinuation))))
175
175
 
176
- (defun return (V1015 V1016 V1017) (shen.deref V1015 V1016))
176
+ (defun return (V1040 V1041 V1042) (shen.deref V1040 V1041))
177
177
 
178
- (defun shen.measure&return (V1022 V1023 V1024) (do (shen.prhush (shen.app (value shen.*infs*) " inferences
179
- " shen.a) (stoutput)) (shen.deref V1022 V1023)))
178
+ (defun shen.measure&return (V1047 V1048 V1049) (do (shen.prhush (shen.app (value shen.*infs*) " inferences
179
+ " shen.a) (stoutput)) (shen.deref V1047 V1048)))
180
180
 
181
- (defun unify (V1025 V1026 V1027 V1028) (shen.lzy= (shen.lazyderef V1025 V1027) (shen.lazyderef V1026 V1027) V1027 V1028))
181
+ (defun unify (V1050 V1051 V1052 V1053) (shen.lzy= (shen.lazyderef V1050 V1052) (shen.lazyderef V1051 V1052) V1052 V1053))
182
182
 
183
- (defun shen.lzy= (V1046 V1047 V1048 V1049) (cond ((= V1047 V1046) (thaw V1049)) ((shen.pvar? V1046) (bind V1046 V1047 V1048 V1049)) ((shen.pvar? V1047) (bind V1047 V1046 V1048 V1049)) ((and (cons? V1046) (cons? V1047)) (shen.lzy= (shen.lazyderef (hd V1046) V1048) (shen.lazyderef (hd V1047) V1048) V1048 (freeze (shen.lzy= (shen.lazyderef (tl V1046) V1048) (shen.lazyderef (tl V1047) V1048) V1048 V1049)))) (true false)))
183
+ (defun shen.lzy= (V1071 V1072 V1073 V1074) (cond ((= V1072 V1071) (thaw V1074)) ((shen.pvar? V1071) (bind V1071 V1072 V1073 V1074)) ((shen.pvar? V1072) (bind V1072 V1071 V1073 V1074)) ((and (cons? V1071) (cons? V1072)) (shen.lzy= (shen.lazyderef (hd V1071) V1073) (shen.lazyderef (hd V1072) V1073) V1073 (freeze (shen.lzy= (shen.lazyderef (tl V1071) V1073) (shen.lazyderef (tl V1072) V1073) V1073 V1074)))) (true false)))
184
184
 
185
- (defun shen.deref (V1050 V1051) (cond ((cons? V1050) (cons (shen.deref (hd V1050) V1051) (shen.deref (tl V1050) V1051))) (true (if (shen.pvar? V1050) (let Value (shen.valvector V1050 V1051) (if (= Value shen.-null-) V1050 (shen.deref Value V1051))) V1050))))
185
+ (defun shen.deref (V1075 V1076) (cond ((cons? V1075) (cons (shen.deref (hd V1075) V1076) (shen.deref (tl V1075) V1076))) (true (if (shen.pvar? V1075) (let Value (shen.valvector V1075 V1076) (if (= Value shen.-null-) V1075 (shen.deref Value V1076))) V1075))))
186
186
 
187
- (defun shen.lazyderef (V1052 V1053) (if (shen.pvar? V1052) (let Value (shen.valvector V1052 V1053) (if (= Value shen.-null-) V1052 (shen.lazyderef Value V1053))) V1052))
187
+ (defun shen.lazyderef (V1077 V1078) (if (shen.pvar? V1077) (let Value (shen.valvector V1077 V1078) (if (= Value shen.-null-) V1077 (shen.lazyderef Value V1078))) V1077))
188
188
 
189
- (defun shen.valvector (V1054 V1055) (<-address (<-address (value shen.*prologvectors*) V1055) (<-address V1054 1)))
189
+ (defun shen.valvector (V1079 V1080) (<-address (<-address (value shen.*prologvectors*) V1080) (<-address V1079 1)))
190
190
 
191
- (defun unify! (V1056 V1057 V1058 V1059) (shen.lzy=! (shen.lazyderef V1056 V1058) (shen.lazyderef V1057 V1058) V1058 V1059))
191
+ (defun unify! (V1081 V1082 V1083 V1084) (shen.lzy=! (shen.lazyderef V1081 V1083) (shen.lazyderef V1082 V1083) V1083 V1084))
192
192
 
193
- (defun shen.lzy=! (V1077 V1078 V1079 V1080) (cond ((= V1078 V1077) (thaw V1080)) ((and (shen.pvar? V1077) (not (shen.occurs? V1077 (shen.deref V1078 V1079)))) (bind V1077 V1078 V1079 V1080)) ((and (shen.pvar? V1078) (not (shen.occurs? V1078 (shen.deref V1077 V1079)))) (bind V1078 V1077 V1079 V1080)) ((and (cons? V1077) (cons? V1078)) (shen.lzy=! (shen.lazyderef (hd V1077) V1079) (shen.lazyderef (hd V1078) V1079) V1079 (freeze (shen.lzy=! (shen.lazyderef (tl V1077) V1079) (shen.lazyderef (tl V1078) V1079) V1079 V1080)))) (true false)))
193
+ (defun shen.lzy=! (V1102 V1103 V1104 V1105) (cond ((= V1103 V1102) (thaw V1105)) ((and (shen.pvar? V1102) (not (shen.occurs? V1102 (shen.deref V1103 V1104)))) (bind V1102 V1103 V1104 V1105)) ((and (shen.pvar? V1103) (not (shen.occurs? V1103 (shen.deref V1102 V1104)))) (bind V1103 V1102 V1104 V1105)) ((and (cons? V1102) (cons? V1103)) (shen.lzy=! (shen.lazyderef (hd V1102) V1104) (shen.lazyderef (hd V1103) V1104) V1104 (freeze (shen.lzy=! (shen.lazyderef (tl V1102) V1104) (shen.lazyderef (tl V1103) V1104) V1104 V1105)))) (true false)))
194
194
 
195
- (defun shen.occurs? (V1090 V1091) (cond ((= V1091 V1090) true) ((cons? V1091) (or (shen.occurs? V1090 (hd V1091)) (shen.occurs? V1090 (tl V1091)))) (true false)))
195
+ (defun shen.occurs? (V1115 V1116) (cond ((= V1116 V1115) true) ((cons? V1116) (or (shen.occurs? V1115 (hd V1116)) (shen.occurs? V1115 (tl V1116)))) (true false)))
196
196
 
197
- (defun identical (V1092 V1093 V1094 V1095) (shen.lzy== (shen.lazyderef V1092 V1094) (shen.lazyderef V1093 V1094) V1094 V1095))
197
+ (defun identical (V1117 V1118 V1119 V1120) (shen.lzy== (shen.lazyderef V1117 V1119) (shen.lazyderef V1118 V1119) V1119 V1120))
198
198
 
199
- (defun shen.lzy== (V1113 V1114 V1115 V1116) (cond ((= V1114 V1113) (thaw V1116)) ((and (cons? V1113) (cons? V1114)) (shen.lzy== (shen.lazyderef (hd V1113) V1115) (shen.lazyderef (hd V1114) V1115) V1115 (freeze (shen.lzy== (tl V1113) (tl V1114) V1115 V1116)))) (true false)))
199
+ (defun shen.lzy== (V1138 V1139 V1140 V1141) (cond ((= V1139 V1138) (thaw V1141)) ((and (cons? V1138) (cons? V1139)) (shen.lzy== (shen.lazyderef (hd V1138) V1140) (shen.lazyderef (hd V1139) V1140) V1140 (freeze (shen.lzy== (tl V1138) (tl V1139) V1140 V1141)))) (true false)))
200
200
 
201
- (defun shen.pvar (V1117) (cn "Var" (shen.app (<-address V1117 1) "" shen.a)))
201
+ (defun shen.pvar (V1142) (cn "Var" (shen.app (<-address V1142 1) "" shen.a)))
202
202
 
203
- (defun bind (V1118 V1119 V1120 V1121) (do (shen.bindv V1118 V1119 V1120) (let Result (thaw V1121) (do (shen.unbindv V1118 V1120) Result))))
203
+ (defun bind (V1143 V1144 V1145 V1146) (do (shen.bindv V1143 V1144 V1145) (let Result (thaw V1146) (do (shen.unbindv V1143 V1145) Result))))
204
204
 
205
- (defun fwhen (V1136 V1137 V1138) (cond ((= true V1136) (thaw V1138)) ((= false V1136) false) (true (simple-error (cn "fwhen expects a boolean: not " (shen.app V1136 "%" shen.s))))))
205
+ (defun fwhen (V1161 V1162 V1163) (cond ((= true V1161) (thaw V1163)) ((= false V1161) false) (true (simple-error (cn "fwhen expects a boolean: not " (shen.app V1161 "%" shen.s))))))
206
206
 
207
- (defun call (V1151 V1152 V1153) (cond ((cons? V1151) (shen.call-help (shen.m_prolog_to_s-prolog_predicate (shen.lazyderef (hd V1151) V1152)) (tl V1151) V1152 V1153)) (true false)))
207
+ (defun call (V1176 V1177 V1178) (cond ((cons? V1176) (shen.call-help (shen.m_prolog_to_s-prolog_predicate (shen.lazyderef (hd V1176) V1177)) (tl V1176) V1177 V1178)) (true false)))
208
208
 
209
- (defun shen.call-help (V1154 V1155 V1156 V1157) (cond ((= () V1155) (V1154 V1156 V1157)) ((cons? V1155) (shen.call-help (V1154 (hd V1155)) (tl V1155) V1156 V1157)) (true (shen.f_error shen.call-help))))
209
+ (defun shen.call-help (V1179 V1180 V1181 V1182) (cond ((= () V1180) (V1179 V1181 V1182)) ((cons? V1180) (shen.call-help (V1179 (hd V1180)) (tl V1180) V1181 V1182)) (true (shen.f_error shen.call-help))))
210
210
 
211
- (defun shen.intprolog (V1158) (cond ((and (cons? V1158) (cons? (hd V1158))) (let ProcessN (shen.start-new-prolog-process) (shen.intprolog-help (hd (hd V1158)) (shen.insert-prolog-variables (cons (tl (hd V1158)) (cons (tl V1158) ())) ProcessN) ProcessN))) (true (shen.f_error shen.intprolog))))
211
+ (defun shen.intprolog (V1183) (cond ((and (cons? V1183) (cons? (hd V1183))) (let ProcessN (shen.start-new-prolog-process) (shen.intprolog-help (hd (hd V1183)) (shen.insert-prolog-variables (cons (tl (hd V1183)) (cons (tl V1183) ())) ProcessN) ProcessN))) (true (shen.f_error shen.intprolog))))
212
212
 
213
- (defun shen.intprolog-help (V1159 V1160 V1161) (cond ((and (cons? V1160) (and (cons? (tl V1160)) (= () (tl (tl V1160))))) (shen.intprolog-help-help V1159 (hd V1160) (hd (tl V1160)) V1161)) (true (shen.f_error shen.intprolog-help))))
213
+ (defun shen.intprolog-help (V1184 V1185 V1186) (cond ((and (cons? V1185) (and (cons? (tl V1185)) (= () (tl (tl V1185))))) (shen.intprolog-help-help V1184 (hd V1185) (hd (tl V1185)) V1186)) (true (shen.f_error shen.intprolog-help))))
214
214
 
215
- (defun shen.intprolog-help-help (V1162 V1163 V1164 V1165) (cond ((= () V1163) (V1162 V1165 (freeze (shen.call-rest V1164 V1165)))) ((cons? V1163) (shen.intprolog-help-help (V1162 (hd V1163)) (tl V1163) V1164 V1165)) (true (shen.f_error shen.intprolog-help-help))))
215
+ (defun shen.intprolog-help-help (V1187 V1188 V1189 V1190) (cond ((= () V1188) (V1187 V1190 (freeze (shen.call-rest V1189 V1190)))) ((cons? V1188) (shen.intprolog-help-help (V1187 (hd V1188)) (tl V1188) V1189 V1190)) (true (shen.f_error shen.intprolog-help-help))))
216
216
 
217
- (defun shen.call-rest (V1168 V1169) (cond ((= () V1168) true) ((and (cons? V1168) (and (cons? (hd V1168)) (cons? (tl (hd V1168))))) (shen.call-rest (cons (cons ((hd (hd V1168)) (hd (tl (hd V1168)))) (tl (tl (hd V1168)))) (tl V1168)) V1169)) ((and (cons? V1168) (and (cons? (hd V1168)) (= () (tl (hd V1168))))) ((hd (hd V1168)) V1169 (freeze (shen.call-rest (tl V1168) V1169)))) (true (shen.f_error shen.call-rest))))
217
+ (defun shen.call-rest (V1193 V1194) (cond ((= () V1193) true) ((and (cons? V1193) (and (cons? (hd V1193)) (cons? (tl (hd V1193))))) (shen.call-rest (cons (cons ((hd (hd V1193)) (hd (tl (hd V1193)))) (tl (tl (hd V1193)))) (tl V1193)) V1194)) ((and (cons? V1193) (and (cons? (hd V1193)) (= () (tl (hd V1193))))) ((hd (hd V1193)) V1194 (freeze (shen.call-rest (tl V1193) V1194)))) (true (shen.f_error shen.call-rest))))
218
218
 
219
219
  (defun shen.start-new-prolog-process () (let IncrementProcessCounter (set shen.*process-counter* (+ 1 (value shen.*process-counter*))) (shen.initialise-prolog IncrementProcessCounter)))
220
220
 
221
- (defun shen.insert-prolog-variables (V1170 V1171) (shen.insert-prolog-variables-help V1170 (shen.flatten V1170) V1171))
221
+ (defun shen.insert-prolog-variables (V1195 V1196) (shen.insert-prolog-variables-help V1195 (shen.flatten V1195) V1196))
222
222
 
223
- (defun shen.insert-prolog-variables-help (V1176 V1177 V1178) (cond ((= () V1177) V1176) ((and (cons? V1177) (variable? (hd V1177))) (let V (shen.newpv V1178) (let XV/Y (subst V (hd V1177) V1176) (let Z-Y (remove (hd V1177) (tl V1177)) (shen.insert-prolog-variables-help XV/Y Z-Y V1178))))) ((cons? V1177) (shen.insert-prolog-variables-help V1176 (tl V1177) V1178)) (true (shen.f_error shen.insert-prolog-variables-help))))
223
+ (defun shen.insert-prolog-variables-help (V1201 V1202 V1203) (cond ((= () V1202) V1201) ((and (cons? V1202) (variable? (hd V1202))) (let V (shen.newpv V1203) (let XV/Y (subst V (hd V1202) V1201) (let Z-Y (remove (hd V1202) (tl V1202)) (shen.insert-prolog-variables-help XV/Y Z-Y V1203))))) ((cons? V1202) (shen.insert-prolog-variables-help V1201 (tl V1202) V1203)) (true (shen.f_error shen.insert-prolog-variables-help))))
224
224
 
225
- (defun shen.initialise-prolog (V1179) (let Vector (address-> (value shen.*prologvectors*) V1179 (shen.fillvector (vector 10) 1 10 shen.-null-)) (let Counter (address-> (value shen.*varcounter*) V1179 1) V1179)))
225
+ (defun shen.initialise-prolog (V1204) (let Vector (address-> (value shen.*prologvectors*) V1204 (shen.fillvector (vector 10) 1 10 shen.-null-)) (let Counter (address-> (value shen.*varcounter*) V1204 1) V1204)))
226
226
 
227
227
 
228
228
 
@@ -23,176 +23,176 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
23
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
24
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
25
25
 
26
- (defun read-file-as-bytelist (V1182) (let Stream (open V1182 in) (let Byte (read-byte Stream) (let Bytes (shen.read-file-as-bytelist-help Stream Byte ()) (let Close (close Stream) (reverse Bytes))))))
26
+ (defun read-file-as-bytelist (V1216) (let Stream (open V1216 in) (let Byte (read-byte Stream) (let Bytes (shen.read-file-as-bytelist-help Stream Byte ()) (let Close (close Stream) (reverse Bytes))))))
27
27
 
28
- (defun shen.read-file-as-bytelist-help (V1183 V1184 V1185) (cond ((= -1 V1184) V1185) (true (shen.read-file-as-bytelist-help V1183 (read-byte V1183) (cons V1184 V1185)))))
28
+ (defun shen.read-file-as-bytelist-help (V1217 V1218 V1219) (cond ((= -1 V1218) V1219) (true (shen.read-file-as-bytelist-help V1217 (read-byte V1217) (cons V1218 V1219)))))
29
29
 
30
- (defun read-file-as-string (V1186) (let Stream (open V1186 in) (shen.rfas-h Stream (read-byte Stream) "")))
30
+ (defun read-file-as-string (V1220) (let Stream (open V1220 in) (shen.rfas-h Stream (read-byte Stream) "")))
31
31
 
32
- (defun shen.rfas-h (V1187 V1188 V1189) (cond ((= -1 V1188) (do (close V1187) V1189)) (true (shen.rfas-h V1187 (read-byte V1187) (cn V1189 (n->string V1188))))))
32
+ (defun shen.rfas-h (V1221 V1222 V1223) (cond ((= -1 V1222) (do (close V1221) V1223)) (true (shen.rfas-h V1221 (read-byte V1221) (cn V1223 (n->string V1222))))))
33
33
 
34
- (defun input (V1190) (eval-kl (read V1190)))
34
+ (defun input (V1224) (eval-kl (read V1224)))
35
35
 
36
- (defun input+ (V1191 V1192) (let Mono? (shen.monotype V1191) (let Input (read V1192) (if (= false (shen.typecheck Input (shen.demodulate V1191))) (simple-error (cn "type error: " (shen.app Input (cn " is not of type " (shen.app V1191 "
36
+ (defun input+ (V1225 V1226) (let Mono? (shen.monotype V1225) (let Input (read V1226) (if (= false (shen.typecheck Input (shen.demodulate V1225))) (simple-error (cn "type error: " (shen.app Input (cn " is not of type " (shen.app V1225 "
37
37
  " shen.r)) shen.r))) (eval-kl Input)))))
38
38
 
39
- (defun shen.monotype (V1193) (cond ((cons? V1193) (map shen.monotype V1193)) (true (if (variable? V1193) (simple-error (cn "input+ expects a monotype: not " (shen.app V1193 "
40
- " shen.a))) V1193))))
39
+ (defun shen.monotype (V1227) (cond ((cons? V1227) (map (lambda V1205 (shen.monotype V1205)) V1227)) (true (if (variable? V1227) (simple-error (cn "input+ expects a monotype: not " (shen.app V1227 "
40
+ " shen.a))) V1227))))
41
41
 
42
- (defun read (V1194) (hd (shen.read-loop V1194 (read-byte V1194) ())))
42
+ (defun read (V1228) (hd (shen.read-loop V1228 (read-byte V1228) ())))
43
43
 
44
44
  (defun it () (value shen.*it*))
45
45
 
46
- (defun shen.read-loop (V1199 V1200 V1201) (cond ((= 94 V1200) (simple-error "read aborted")) ((= -1 V1200) (if (empty? V1201) (simple-error "error: empty stream") (compile shen.<st_input> V1201 (lambda E E)))) ((shen.terminator? V1200) (let AllBytes (append V1201 (cons V1200 ())) (let It (shen.record-it AllBytes) (let Read (compile shen.<st_input> AllBytes (lambda E shen.nextbyte)) (if (or (= Read shen.nextbyte) (empty? Read)) (shen.read-loop V1199 (read-byte V1199) AllBytes) Read))))) (true (shen.read-loop V1199 (read-byte V1199) (append V1201 (cons V1200 ()))))))
46
+ (defun shen.read-loop (V1233 V1234 V1235) (cond ((= 94 V1234) (simple-error "read aborted")) ((= -1 V1234) (if (empty? V1235) (simple-error "error: empty stream") (compile (lambda V1206 (shen.<st_input> V1206)) V1235 (lambda E E)))) ((shen.terminator? V1234) (let AllBytes (append V1235 (cons V1234 ())) (let It (shen.record-it AllBytes) (let Read (compile (lambda V1207 (shen.<st_input> V1207)) AllBytes (lambda E shen.nextbyte)) (if (or (= Read shen.nextbyte) (empty? Read)) (shen.read-loop V1233 (read-byte V1233) AllBytes) Read))))) (true (shen.read-loop V1233 (read-byte V1233) (append V1235 (cons V1234 ()))))))
47
47
 
48
- (defun shen.terminator? (V1202) (element? V1202 (cons 9 (cons 10 (cons 13 (cons 32 (cons 34 (cons 41 (cons 93 ())))))))))
48
+ (defun shen.terminator? (V1236) (element? V1236 (cons 9 (cons 10 (cons 13 (cons 32 (cons 34 (cons 41 (cons 93 ())))))))))
49
49
 
50
- (defun lineread (V1203) (shen.lineread-loop (read-byte V1203) () V1203))
50
+ (defun lineread (V1237) (shen.lineread-loop (read-byte V1237) () V1237))
51
51
 
52
- (defun shen.lineread-loop (V1205 V1206 V1207) (cond ((= -1 V1205) (if (empty? V1206) (simple-error "empty stream") (compile shen.<st_input> V1206 (lambda E E)))) ((= V1205 (shen.hat)) (simple-error "line read aborted")) ((element? V1205 (cons (shen.newline) (cons (shen.carriage-return) ()))) (let Line (compile shen.<st_input> V1206 (lambda E shen.nextline)) (let It (shen.record-it V1206) (if (or (= Line shen.nextline) (empty? Line)) (shen.lineread-loop (read-byte V1207) (append V1206 (cons V1205 ())) V1207) Line)))) (true (shen.lineread-loop (read-byte V1207) (append V1206 (cons V1205 ())) V1207))))
52
+ (defun shen.lineread-loop (V1239 V1240 V1241) (cond ((= -1 V1239) (if (empty? V1240) (simple-error "empty stream") (compile (lambda V1208 (shen.<st_input> V1208)) V1240 (lambda E E)))) ((= V1239 (shen.hat)) (simple-error "line read aborted")) ((element? V1239 (cons (shen.newline) (cons (shen.carriage-return) ()))) (let Line (compile (lambda V1209 (shen.<st_input> V1209)) V1240 (lambda E shen.nextline)) (let It (shen.record-it V1240) (if (or (= Line shen.nextline) (empty? Line)) (shen.lineread-loop (read-byte V1241) (append V1240 (cons V1239 ())) V1241) Line)))) (true (shen.lineread-loop (read-byte V1241) (append V1240 (cons V1239 ())) V1241))))
53
53
 
54
- (defun shen.record-it (V1208) (let TrimLeft (shen.trim-whitespace V1208) (let TrimRight (shen.trim-whitespace (reverse TrimLeft)) (let Trimmed (reverse TrimRight) (shen.record-it-h Trimmed)))))
54
+ (defun shen.record-it (V1242) (let TrimLeft (shen.trim-whitespace V1242) (let TrimRight (shen.trim-whitespace (reverse TrimLeft)) (let Trimmed (reverse TrimRight) (shen.record-it-h Trimmed)))))
55
55
 
56
- (defun shen.trim-whitespace (V1209) (cond ((and (cons? V1209) (element? (hd V1209) (cons 9 (cons 10 (cons 13 (cons 32 ())))))) (shen.trim-whitespace (tl V1209))) (true V1209)))
56
+ (defun shen.trim-whitespace (V1243) (cond ((and (cons? V1243) (element? (hd V1243) (cons 9 (cons 10 (cons 13 (cons 32 ())))))) (shen.trim-whitespace (tl V1243))) (true V1243)))
57
57
 
58
- (defun shen.record-it-h (V1210) (do (set shen.*it* (shen.cn-all (map (lambda V1180 (n->string V1180)) V1210))) V1210))
58
+ (defun shen.record-it-h (V1244) (do (set shen.*it* (shen.cn-all (map (lambda V1210 (n->string V1210)) V1244))) V1244))
59
59
 
60
- (defun shen.cn-all (V1211) (cond ((= () V1211) "") ((cons? V1211) (cn (hd V1211) (shen.cn-all (tl V1211)))) (true (shen.f_error shen.cn-all))))
60
+ (defun shen.cn-all (V1245) (cond ((= () V1245) "") ((cons? V1245) (cn (hd V1245) (shen.cn-all (tl V1245)))) (true (shen.f_error shen.cn-all))))
61
61
 
62
- (defun read-file (V1212) (let Bytelist (read-file-as-bytelist V1212) (compile shen.<st_input> Bytelist shen.read-error)))
62
+ (defun read-file (V1246) (let Bytelist (read-file-as-bytelist V1246) (compile (lambda V1212 (shen.<st_input> V1212)) Bytelist (lambda V1211 (shen.read-error V1211)))))
63
63
 
64
- (defun read-from-string (V1213) (let Ns (map (lambda V1181 (string->n V1181)) (explode V1213)) (compile shen.<st_input> Ns shen.read-error)))
64
+ (defun read-from-string (V1247) (let Ns (map (lambda V1213 (string->n V1213)) (explode V1247)) (compile (lambda V1215 (shen.<st_input> V1215)) Ns (lambda V1214 (shen.read-error V1214)))))
65
65
 
66
- (defun shen.read-error (V1220) (cond ((and (cons? V1220) (and (cons? (hd V1220)) (and (cons? (tl V1220)) (= () (tl (tl V1220)))))) (simple-error (cn "read error here:
66
+ (defun shen.read-error (V1254) (cond ((and (cons? V1254) (and (cons? (hd V1254)) (and (cons? (tl V1254)) (= () (tl (tl V1254)))))) (simple-error (cn "read error here:
67
67
 
68
- " (shen.app (shen.compress-50 50 (hd V1220)) "
68
+ " (shen.app (shen.compress-50 50 (hd V1254)) "
69
69
  " shen.a)))) (true (simple-error "read error
70
70
  "))))
71
71
 
72
- (defun shen.compress-50 (V1225 V1226) (cond ((= () V1226) "") ((= 0 V1225) "") ((cons? V1226) (cn (n->string (hd V1226)) (shen.compress-50 (- V1225 1) (tl V1226)))) (true (shen.f_error shen.compress-50))))
72
+ (defun shen.compress-50 (V1259 V1260) (cond ((= () V1260) "") ((= 0 V1259) "") ((cons? V1260) (cn (n->string (hd V1260)) (shen.compress-50 (- V1259 1) (tl V1260)))) (true (shen.f_error shen.compress-50))))
73
73
 
74
- (defun shen.<st_input> (V1227) (let YaccParse (let Parse_shen.<lsb> (shen.<lsb> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<lrb> (shen.<lrb> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<lcurly> (shen.<lcurly> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<rcurly> (shen.<rcurly> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<bar> (shen.<bar> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<semicolon> (shen.<semicolon> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<colon> (shen.<colon> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<colon> (shen.<colon> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<colon> (shen.<colon> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<comma> (shen.<comma> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<comment> (shen.<comment> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<atom> (shen.<atom> V1227) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<whitespaces> (shen.<whitespaces> V1227) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V1227) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)))
74
+ (defun shen.<st_input> (V1261) (let YaccParse (let Parse_shen.<lsb> (shen.<lsb> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<lrb> (shen.<lrb> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<lcurly> (shen.<lcurly> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<rcurly> (shen.<rcurly> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<bar> (shen.<bar> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<semicolon> (shen.<semicolon> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<colon> (shen.<colon> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<colon> (shen.<colon> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<colon> (shen.<colon> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<comma> (shen.<comma> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<comment> (shen.<comment> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<atom> (shen.<atom> V1261) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<whitespaces> (shen.<whitespaces> V1261) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V1261) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)))
75
75
 
76
- (defun shen.<lsb> (V1228) (if (and (cons? (hd V1228)) (= 91 (hd (hd V1228)))) (shen.pair (hd (shen.pair (tl (hd V1228)) (shen.hdtl V1228))) shen.skip) (fail)))
76
+ (defun shen.<lsb> (V1262) (if (and (cons? (hd V1262)) (= 91 (hd (hd V1262)))) (shen.pair (hd (shen.pair (tl (hd V1262)) (shen.hdtl V1262))) shen.skip) (fail)))
77
77
 
78
- (defun shen.<rsb> (V1229) (if (and (cons? (hd V1229)) (= 93 (hd (hd V1229)))) (shen.pair (hd (shen.pair (tl (hd V1229)) (shen.hdtl V1229))) shen.skip) (fail)))
78
+ (defun shen.<rsb> (V1263) (if (and (cons? (hd V1263)) (= 93 (hd (hd V1263)))) (shen.pair (hd (shen.pair (tl (hd V1263)) (shen.hdtl V1263))) shen.skip) (fail)))
79
79
 
80
- (defun shen.<lcurly> (V1230) (if (and (cons? (hd V1230)) (= 123 (hd (hd V1230)))) (shen.pair (hd (shen.pair (tl (hd V1230)) (shen.hdtl V1230))) shen.skip) (fail)))
80
+ (defun shen.<lcurly> (V1264) (if (and (cons? (hd V1264)) (= 123 (hd (hd V1264)))) (shen.pair (hd (shen.pair (tl (hd V1264)) (shen.hdtl V1264))) shen.skip) (fail)))
81
81
 
82
- (defun shen.<rcurly> (V1231) (if (and (cons? (hd V1231)) (= 125 (hd (hd V1231)))) (shen.pair (hd (shen.pair (tl (hd V1231)) (shen.hdtl V1231))) shen.skip) (fail)))
82
+ (defun shen.<rcurly> (V1265) (if (and (cons? (hd V1265)) (= 125 (hd (hd V1265)))) (shen.pair (hd (shen.pair (tl (hd V1265)) (shen.hdtl V1265))) shen.skip) (fail)))
83
83
 
84
- (defun shen.<bar> (V1232) (if (and (cons? (hd V1232)) (= 124 (hd (hd V1232)))) (shen.pair (hd (shen.pair (tl (hd V1232)) (shen.hdtl V1232))) shen.skip) (fail)))
84
+ (defun shen.<bar> (V1266) (if (and (cons? (hd V1266)) (= 124 (hd (hd V1266)))) (shen.pair (hd (shen.pair (tl (hd V1266)) (shen.hdtl V1266))) shen.skip) (fail)))
85
85
 
86
- (defun shen.<semicolon> (V1233) (if (and (cons? (hd V1233)) (= 59 (hd (hd V1233)))) (shen.pair (hd (shen.pair (tl (hd V1233)) (shen.hdtl V1233))) shen.skip) (fail)))
86
+ (defun shen.<semicolon> (V1267) (if (and (cons? (hd V1267)) (= 59 (hd (hd V1267)))) (shen.pair (hd (shen.pair (tl (hd V1267)) (shen.hdtl V1267))) shen.skip) (fail)))
87
87
 
88
- (defun shen.<colon> (V1234) (if (and (cons? (hd V1234)) (= 58 (hd (hd V1234)))) (shen.pair (hd (shen.pair (tl (hd V1234)) (shen.hdtl V1234))) shen.skip) (fail)))
88
+ (defun shen.<colon> (V1268) (if (and (cons? (hd V1268)) (= 58 (hd (hd V1268)))) (shen.pair (hd (shen.pair (tl (hd V1268)) (shen.hdtl V1268))) shen.skip) (fail)))
89
89
 
90
- (defun shen.<comma> (V1235) (if (and (cons? (hd V1235)) (= 44 (hd (hd V1235)))) (shen.pair (hd (shen.pair (tl (hd V1235)) (shen.hdtl V1235))) shen.skip) (fail)))
90
+ (defun shen.<comma> (V1269) (if (and (cons? (hd V1269)) (= 44 (hd (hd V1269)))) (shen.pair (hd (shen.pair (tl (hd V1269)) (shen.hdtl V1269))) shen.skip) (fail)))
91
91
 
92
- (defun shen.<equal> (V1236) (if (and (cons? (hd V1236)) (= 61 (hd (hd V1236)))) (shen.pair (hd (shen.pair (tl (hd V1236)) (shen.hdtl V1236))) shen.skip) (fail)))
92
+ (defun shen.<equal> (V1270) (if (and (cons? (hd V1270)) (= 61 (hd (hd V1270)))) (shen.pair (hd (shen.pair (tl (hd V1270)) (shen.hdtl V1270))) shen.skip) (fail)))
93
93
 
94
- (defun shen.<minus> (V1237) (if (and (cons? (hd V1237)) (= 45 (hd (hd V1237)))) (shen.pair (hd (shen.pair (tl (hd V1237)) (shen.hdtl V1237))) shen.skip) (fail)))
94
+ (defun shen.<minus> (V1271) (if (and (cons? (hd V1271)) (= 45 (hd (hd V1271)))) (shen.pair (hd (shen.pair (tl (hd V1271)) (shen.hdtl V1271))) shen.skip) (fail)))
95
95
 
96
- (defun shen.<lrb> (V1238) (if (and (cons? (hd V1238)) (= 40 (hd (hd V1238)))) (shen.pair (hd (shen.pair (tl (hd V1238)) (shen.hdtl V1238))) shen.skip) (fail)))
96
+ (defun shen.<lrb> (V1272) (if (and (cons? (hd V1272)) (= 40 (hd (hd V1272)))) (shen.pair (hd (shen.pair (tl (hd V1272)) (shen.hdtl V1272))) shen.skip) (fail)))
97
97
 
98
- (defun shen.<rrb> (V1239) (if (and (cons? (hd V1239)) (= 41 (hd (hd V1239)))) (shen.pair (hd (shen.pair (tl (hd V1239)) (shen.hdtl V1239))) shen.skip) (fail)))
98
+ (defun shen.<rrb> (V1273) (if (and (cons? (hd V1273)) (= 41 (hd (hd V1273)))) (shen.pair (hd (shen.pair (tl (hd V1273)) (shen.hdtl V1273))) shen.skip) (fail)))
99
99
 
100
- (defun shen.<atom> (V1240) (let YaccParse (let Parse_shen.<str> (shen.<str> V1240) (if (not (= (fail) Parse_shen.<str>)) (shen.pair (hd Parse_shen.<str>) (shen.control-chars (shen.hdtl Parse_shen.<str>))) (fail))) (if (= YaccParse (fail)) (let YaccParse (let Parse_shen.<number> (shen.<number> V1240) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (if (= YaccParse (fail)) (let Parse_shen.<sym> (shen.<sym> V1240) (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))) YaccParse)) YaccParse)))
100
+ (defun shen.<atom> (V1274) (let YaccParse (let Parse_shen.<str> (shen.<str> V1274) (if (not (= (fail) Parse_shen.<str>)) (shen.pair (hd Parse_shen.<str>) (shen.control-chars (shen.hdtl Parse_shen.<str>))) (fail))) (if (= YaccParse (fail)) (let YaccParse (let Parse_shen.<number> (shen.<number> V1274) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (if (= YaccParse (fail)) (let Parse_shen.<sym> (shen.<sym> V1274) (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))) YaccParse)) YaccParse)))
101
101
 
102
- (defun shen.control-chars (V1241) (cond ((= () V1241) "") ((and (cons? V1241) (and (= "c" (hd V1241)) (and (cons? (tl V1241)) (= "#" (hd (tl V1241)))))) (let CodePoint (shen.code-point (tl (tl V1241))) (let AfterCodePoint (shen.after-codepoint (tl (tl V1241))) (@s (n->string (shen.decimalise CodePoint)) (shen.control-chars AfterCodePoint))))) ((cons? V1241) (@s (hd V1241) (shen.control-chars (tl V1241)))) (true (shen.f_error shen.control-chars))))
102
+ (defun shen.control-chars (V1275) (cond ((= () V1275) "") ((and (cons? V1275) (and (= "c" (hd V1275)) (and (cons? (tl V1275)) (= "#" (hd (tl V1275)))))) (let CodePoint (shen.code-point (tl (tl V1275))) (let AfterCodePoint (shen.after-codepoint (tl (tl V1275))) (@s (n->string (shen.decimalise CodePoint)) (shen.control-chars AfterCodePoint))))) ((cons? V1275) (@s (hd V1275) (shen.control-chars (tl V1275)))) (true (shen.f_error shen.control-chars))))
103
103
 
104
- (defun shen.code-point (V1244) (cond ((and (cons? V1244) (= ";" (hd V1244))) "") ((and (cons? V1244) (element? (hd V1244) (cons "0" (cons "1" (cons "2" (cons "3" (cons "4" (cons "5" (cons "6" (cons "7" (cons "8" (cons "9" (cons "0" ()))))))))))))) (cons (hd V1244) (shen.code-point (tl V1244)))) (true (simple-error (cn "code point parse error " (shen.app V1244 "
104
+ (defun shen.code-point (V1278) (cond ((and (cons? V1278) (= ";" (hd V1278))) "") ((and (cons? V1278) (element? (hd V1278) (cons "0" (cons "1" (cons "2" (cons "3" (cons "4" (cons "5" (cons "6" (cons "7" (cons "8" (cons "9" (cons "0" ()))))))))))))) (cons (hd V1278) (shen.code-point (tl V1278)))) (true (simple-error (cn "code point parse error " (shen.app V1278 "
105
105
  " shen.a))))))
106
106
 
107
- (defun shen.after-codepoint (V1249) (cond ((= () V1249) ()) ((and (cons? V1249) (= ";" (hd V1249))) (tl V1249)) ((cons? V1249) (shen.after-codepoint (tl V1249))) (true (shen.f_error shen.after-codepoint))))
107
+ (defun shen.after-codepoint (V1283) (cond ((= () V1283) ()) ((and (cons? V1283) (= ";" (hd V1283))) (tl V1283)) ((cons? V1283) (shen.after-codepoint (tl V1283))) (true (shen.f_error shen.after-codepoint))))
108
108
 
109
- (defun shen.decimalise (V1250) (shen.pre (reverse (shen.digits->integers V1250)) 0))
109
+ (defun shen.decimalise (V1284) (shen.pre (reverse (shen.digits->integers V1284)) 0))
110
110
 
111
- (defun shen.digits->integers (V1255) (cond ((and (cons? V1255) (= "0" (hd V1255))) (cons 0 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "1" (hd V1255))) (cons 1 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "2" (hd V1255))) (cons 2 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "3" (hd V1255))) (cons 3 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "4" (hd V1255))) (cons 4 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "5" (hd V1255))) (cons 5 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "6" (hd V1255))) (cons 6 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "7" (hd V1255))) (cons 7 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "8" (hd V1255))) (cons 8 (shen.digits->integers (tl V1255)))) ((and (cons? V1255) (= "9" (hd V1255))) (cons 9 (shen.digits->integers (tl V1255)))) (true ())))
111
+ (defun shen.digits->integers (V1289) (cond ((and (cons? V1289) (= "0" (hd V1289))) (cons 0 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "1" (hd V1289))) (cons 1 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "2" (hd V1289))) (cons 2 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "3" (hd V1289))) (cons 3 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "4" (hd V1289))) (cons 4 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "5" (hd V1289))) (cons 5 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "6" (hd V1289))) (cons 6 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "7" (hd V1289))) (cons 7 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "8" (hd V1289))) (cons 8 (shen.digits->integers (tl V1289)))) ((and (cons? V1289) (= "9" (hd V1289))) (cons 9 (shen.digits->integers (tl V1289)))) (true ())))
112
112
 
113
- (defun shen.<sym> (V1256) (let Parse_shen.<alpha> (shen.<alpha> V1256) (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))))
113
+ (defun shen.<sym> (V1290) (let Parse_shen.<alpha> (shen.<alpha> V1290) (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))))
114
114
 
115
- (defun shen.<alphanums> (V1257) (let YaccParse (let Parse_shen.<alphanum> (shen.<alphanum> V1257) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V1257) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) "") (fail))) YaccParse)))
115
+ (defun shen.<alphanums> (V1291) (let YaccParse (let Parse_shen.<alphanum> (shen.<alphanum> V1291) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V1291) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) "") (fail))) YaccParse)))
116
116
 
117
- (defun shen.<alphanum> (V1258) (let YaccParse (let Parse_shen.<alpha> (shen.<alpha> V1258) (if (not (= (fail) Parse_shen.<alpha>)) (shen.pair (hd Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alpha>)) (fail))) (if (= YaccParse (fail)) (let Parse_shen.<num> (shen.<num> V1258) (if (not (= (fail) Parse_shen.<num>)) (shen.pair (hd Parse_shen.<num>) (shen.hdtl Parse_shen.<num>)) (fail))) YaccParse)))
117
+ (defun shen.<alphanum> (V1292) (let YaccParse (let Parse_shen.<alpha> (shen.<alpha> V1292) (if (not (= (fail) Parse_shen.<alpha>)) (shen.pair (hd Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alpha>)) (fail))) (if (= YaccParse (fail)) (let Parse_shen.<num> (shen.<num> V1292) (if (not (= (fail) Parse_shen.<num>)) (shen.pair (hd Parse_shen.<num>) (shen.hdtl Parse_shen.<num>)) (fail))) YaccParse)))
118
118
 
119
- (defun shen.<num> (V1259) (if (cons? (hd V1259)) (let Parse_Byte (hd (hd V1259)) (if (shen.numbyte? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1259)) (shen.hdtl V1259))) (n->string Parse_Byte)) (fail))) (fail)))
119
+ (defun shen.<num> (V1293) (if (cons? (hd V1293)) (let Parse_Byte (hd (hd V1293)) (if (shen.numbyte? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1293)) (shen.hdtl V1293))) (n->string Parse_Byte)) (fail))) (fail)))
120
120
 
121
- (defun shen.numbyte? (V1264) (cond ((= 48 V1264) true) ((= 49 V1264) true) ((= 50 V1264) true) ((= 51 V1264) true) ((= 52 V1264) true) ((= 53 V1264) true) ((= 54 V1264) true) ((= 55 V1264) true) ((= 56 V1264) true) ((= 57 V1264) true) (true false)))
121
+ (defun shen.numbyte? (V1298) (cond ((= 48 V1298) true) ((= 49 V1298) true) ((= 50 V1298) true) ((= 51 V1298) true) ((= 52 V1298) true) ((= 53 V1298) true) ((= 54 V1298) true) ((= 55 V1298) true) ((= 56 V1298) true) ((= 57 V1298) true) (true false)))
122
122
 
123
- (defun shen.<alpha> (V1265) (if (cons? (hd V1265)) (let Parse_Byte (hd (hd V1265)) (if (shen.symbol-code? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1265)) (shen.hdtl V1265))) (n->string Parse_Byte)) (fail))) (fail)))
123
+ (defun shen.<alpha> (V1299) (if (cons? (hd V1299)) (let Parse_Byte (hd (hd V1299)) (if (shen.symbol-code? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1299)) (shen.hdtl V1299))) (n->string Parse_Byte)) (fail))) (fail)))
124
124
 
125
- (defun shen.symbol-code? (V1266) (or (= V1266 126) (or (and (> V1266 94) (< V1266 123)) (or (and (> V1266 59) (< V1266 91)) (or (and (> V1266 41) (and (< V1266 58) (not (= V1266 44)))) (or (and (> V1266 34) (< V1266 40)) (= V1266 33)))))))
125
+ (defun shen.symbol-code? (V1300) (or (= V1300 126) (or (and (> V1300 94) (< V1300 123)) (or (and (> V1300 59) (< V1300 91)) (or (and (> V1300 41) (and (< V1300 58) (not (= V1300 44)))) (or (and (> V1300 34) (< V1300 40)) (= V1300 33)))))))
126
126
 
127
- (defun shen.<str> (V1267) (let Parse_shen.<dbq> (shen.<dbq> V1267) (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))))
127
+ (defun shen.<str> (V1301) (let Parse_shen.<dbq> (shen.<dbq> V1301) (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))))
128
128
 
129
- (defun shen.<dbq> (V1268) (if (cons? (hd V1268)) (let Parse_Byte (hd (hd V1268)) (if (= Parse_Byte 34) (shen.pair (hd (shen.pair (tl (hd V1268)) (shen.hdtl V1268))) Parse_Byte) (fail))) (fail)))
129
+ (defun shen.<dbq> (V1302) (if (cons? (hd V1302)) (let Parse_Byte (hd (hd V1302)) (if (= Parse_Byte 34) (shen.pair (hd (shen.pair (tl (hd V1302)) (shen.hdtl V1302))) Parse_Byte) (fail))) (fail)))
130
130
 
131
- (defun shen.<strcontents> (V1269) (let YaccParse (let Parse_shen.<strc> (shen.<strc> V1269) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V1269) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)))
131
+ (defun shen.<strcontents> (V1303) (let YaccParse (let Parse_shen.<strc> (shen.<strc> V1303) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V1303) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)))
132
132
 
133
- (defun shen.<byte> (V1270) (if (cons? (hd V1270)) (let Parse_Byte (hd (hd V1270)) (shen.pair (hd (shen.pair (tl (hd V1270)) (shen.hdtl V1270))) (n->string Parse_Byte))) (fail)))
133
+ (defun shen.<byte> (V1304) (if (cons? (hd V1304)) (let Parse_Byte (hd (hd V1304)) (shen.pair (hd (shen.pair (tl (hd V1304)) (shen.hdtl V1304))) (n->string Parse_Byte))) (fail)))
134
134
 
135
- (defun shen.<strc> (V1271) (if (cons? (hd V1271)) (let Parse_Byte (hd (hd V1271)) (if (not (= Parse_Byte 34)) (shen.pair (hd (shen.pair (tl (hd V1271)) (shen.hdtl V1271))) (n->string Parse_Byte)) (fail))) (fail)))
135
+ (defun shen.<strc> (V1305) (if (cons? (hd V1305)) (let Parse_Byte (hd (hd V1305)) (if (not (= Parse_Byte 34)) (shen.pair (hd (shen.pair (tl (hd V1305)) (shen.hdtl V1305))) (n->string Parse_Byte)) (fail))) (fail)))
136
136
 
137
- (defun shen.<number> (V1272) (let YaccParse (let Parse_shen.<minus> (shen.<minus> V1272) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<plus> (shen.<plus> V1272) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<predigits> (shen.<predigits> V1272) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<digits> (shen.<digits> V1272) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<predigits> (shen.<predigits> V1272) (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 (= YaccParse (fail)) (let Parse_shen.<digits> (shen.<digits> V1272) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)))
137
+ (defun shen.<number> (V1306) (let YaccParse (let Parse_shen.<minus> (shen.<minus> V1306) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<plus> (shen.<plus> V1306) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<predigits> (shen.<predigits> V1306) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<digits> (shen.<digits> V1306) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<predigits> (shen.<predigits> V1306) (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 (= YaccParse (fail)) (let Parse_shen.<digits> (shen.<digits> V1306) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) YaccParse)) YaccParse)) YaccParse)) YaccParse)) YaccParse)))
138
138
 
139
- (defun shen.<E> (V1273) (if (and (cons? (hd V1273)) (= 101 (hd (hd V1273)))) (shen.pair (hd (shen.pair (tl (hd V1273)) (shen.hdtl V1273))) shen.skip) (fail)))
139
+ (defun shen.<E> (V1307) (if (and (cons? (hd V1307)) (= 101 (hd (hd V1307)))) (shen.pair (hd (shen.pair (tl (hd V1307)) (shen.hdtl V1307))) shen.skip) (fail)))
140
140
 
141
- (defun shen.<log10> (V1274) (let YaccParse (let Parse_shen.<minus> (shen.<minus> V1274) (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 (= YaccParse (fail)) (let Parse_shen.<digits> (shen.<digits> V1274) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) YaccParse)))
141
+ (defun shen.<log10> (V1308) (let YaccParse (let Parse_shen.<minus> (shen.<minus> V1308) (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 (= YaccParse (fail)) (let Parse_shen.<digits> (shen.<digits> V1308) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) YaccParse)))
142
142
 
143
- (defun shen.<plus> (V1275) (if (cons? (hd V1275)) (let Parse_Byte (hd (hd V1275)) (if (= Parse_Byte 43) (shen.pair (hd (shen.pair (tl (hd V1275)) (shen.hdtl V1275))) Parse_Byte) (fail))) (fail)))
143
+ (defun shen.<plus> (V1309) (if (cons? (hd V1309)) (let Parse_Byte (hd (hd V1309)) (if (= Parse_Byte 43) (shen.pair (hd (shen.pair (tl (hd V1309)) (shen.hdtl V1309))) Parse_Byte) (fail))) (fail)))
144
144
 
145
- (defun shen.<stop> (V1276) (if (cons? (hd V1276)) (let Parse_Byte (hd (hd V1276)) (if (= Parse_Byte 46) (shen.pair (hd (shen.pair (tl (hd V1276)) (shen.hdtl V1276))) Parse_Byte) (fail))) (fail)))
145
+ (defun shen.<stop> (V1310) (if (cons? (hd V1310)) (let Parse_Byte (hd (hd V1310)) (if (= Parse_Byte 46) (shen.pair (hd (shen.pair (tl (hd V1310)) (shen.hdtl V1310))) Parse_Byte) (fail))) (fail)))
146
146
 
147
- (defun shen.<predigits> (V1277) (let YaccParse (let Parse_shen.<digits> (shen.<digits> V1277) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= YaccParse (fail)) (let Parse_<e> (<e> V1277) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)))
147
+ (defun shen.<predigits> (V1311) (let YaccParse (let Parse_shen.<digits> (shen.<digits> V1311) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= YaccParse (fail)) (let Parse_<e> (<e> V1311) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) YaccParse)))
148
148
 
149
- (defun shen.<postdigits> (V1278) (let Parse_shen.<digits> (shen.<digits> V1278) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))))
149
+ (defun shen.<postdigits> (V1312) (let Parse_shen.<digits> (shen.<digits> V1312) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))))
150
150
 
151
- (defun shen.<digits> (V1279) (let YaccParse (let Parse_shen.<digit> (shen.<digit> V1279) (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 (= YaccParse (fail)) (let Parse_shen.<digit> (shen.<digit> V1279) (if (not (= (fail) Parse_shen.<digit>)) (shen.pair (hd Parse_shen.<digit>) (cons (shen.hdtl Parse_shen.<digit>) ())) (fail))) YaccParse)))
151
+ (defun shen.<digits> (V1313) (let YaccParse (let Parse_shen.<digit> (shen.<digit> V1313) (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 (= YaccParse (fail)) (let Parse_shen.<digit> (shen.<digit> V1313) (if (not (= (fail) Parse_shen.<digit>)) (shen.pair (hd Parse_shen.<digit>) (cons (shen.hdtl Parse_shen.<digit>) ())) (fail))) YaccParse)))
152
152
 
153
- (defun shen.<digit> (V1280) (if (cons? (hd V1280)) (let Parse_X (hd (hd V1280)) (if (shen.numbyte? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1280)) (shen.hdtl V1280))) (shen.byte->digit Parse_X)) (fail))) (fail)))
153
+ (defun shen.<digit> (V1314) (if (cons? (hd V1314)) (let Parse_X (hd (hd V1314)) (if (shen.numbyte? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1314)) (shen.hdtl V1314))) (shen.byte->digit Parse_X)) (fail))) (fail)))
154
154
 
155
- (defun shen.byte->digit (V1281) (cond ((= 48 V1281) 0) ((= 49 V1281) 1) ((= 50 V1281) 2) ((= 51 V1281) 3) ((= 52 V1281) 4) ((= 53 V1281) 5) ((= 54 V1281) 6) ((= 55 V1281) 7) ((= 56 V1281) 8) ((= 57 V1281) 9) (true (shen.f_error shen.byte->digit))))
155
+ (defun shen.byte->digit (V1315) (cond ((= 48 V1315) 0) ((= 49 V1315) 1) ((= 50 V1315) 2) ((= 51 V1315) 3) ((= 52 V1315) 4) ((= 53 V1315) 5) ((= 54 V1315) 6) ((= 55 V1315) 7) ((= 56 V1315) 8) ((= 57 V1315) 9) (true (shen.f_error shen.byte->digit))))
156
156
 
157
- (defun shen.pre (V1284 V1285) (cond ((= () V1284) 0) ((cons? V1284) (+ (* (shen.expt 10 V1285) (hd V1284)) (shen.pre (tl V1284) (+ V1285 1)))) (true (shen.f_error shen.pre))))
157
+ (defun shen.pre (V1318 V1319) (cond ((= () V1318) 0) ((cons? V1318) (+ (* (shen.expt 10 V1319) (hd V1318)) (shen.pre (tl V1318) (+ V1319 1)))) (true (shen.f_error shen.pre))))
158
158
 
159
- (defun shen.post (V1288 V1289) (cond ((= () V1288) 0) ((cons? V1288) (+ (* (shen.expt 10 (- 0 V1289)) (hd V1288)) (shen.post (tl V1288) (+ V1289 1)))) (true (shen.f_error shen.post))))
159
+ (defun shen.post (V1322 V1323) (cond ((= () V1322) 0) ((cons? V1322) (+ (* (shen.expt 10 (- 0 V1323)) (hd V1322)) (shen.post (tl V1322) (+ V1323 1)))) (true (shen.f_error shen.post))))
160
160
 
161
- (defun shen.expt (V1292 V1293) (cond ((= 0 V1293) 1) ((> V1293 0) (* V1292 (shen.expt V1292 (- V1293 1)))) (true (* 1.0 (/ (shen.expt V1292 (+ V1293 1)) V1292)))))
161
+ (defun shen.expt (V1326 V1327) (cond ((= 0 V1327) 1) ((> V1327 0) (* V1326 (shen.expt V1326 (- V1327 1)))) (true (* 1.0 (/ (shen.expt V1326 (+ V1327 1)) V1326)))))
162
162
 
163
- (defun shen.<st_input1> (V1294) (let Parse_shen.<st_input> (shen.<st_input> V1294) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))))
163
+ (defun shen.<st_input1> (V1328) (let Parse_shen.<st_input> (shen.<st_input> V1328) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))))
164
164
 
165
- (defun shen.<st_input2> (V1295) (let Parse_shen.<st_input> (shen.<st_input> V1295) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))))
165
+ (defun shen.<st_input2> (V1329) (let Parse_shen.<st_input> (shen.<st_input> V1329) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))))
166
166
 
167
- (defun shen.<comment> (V1296) (let YaccParse (let Parse_shen.<singleline> (shen.<singleline> V1296) (if (not (= (fail) Parse_shen.<singleline>)) (shen.pair (hd Parse_shen.<singleline>) shen.skip) (fail))) (if (= YaccParse (fail)) (let Parse_shen.<multiline> (shen.<multiline> V1296) (if (not (= (fail) Parse_shen.<multiline>)) (shen.pair (hd Parse_shen.<multiline>) shen.skip) (fail))) YaccParse)))
167
+ (defun shen.<comment> (V1330) (let YaccParse (let Parse_shen.<singleline> (shen.<singleline> V1330) (if (not (= (fail) Parse_shen.<singleline>)) (shen.pair (hd Parse_shen.<singleline>) shen.skip) (fail))) (if (= YaccParse (fail)) (let Parse_shen.<multiline> (shen.<multiline> V1330) (if (not (= (fail) Parse_shen.<multiline>)) (shen.pair (hd Parse_shen.<multiline>) shen.skip) (fail))) YaccParse)))
168
168
 
169
- (defun shen.<singleline> (V1297) (let Parse_shen.<backslash> (shen.<backslash> V1297) (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))))
169
+ (defun shen.<singleline> (V1331) (let Parse_shen.<backslash> (shen.<backslash> V1331) (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))))
170
170
 
171
- (defun shen.<backslash> (V1298) (if (and (cons? (hd V1298)) (= 92 (hd (hd V1298)))) (shen.pair (hd (shen.pair (tl (hd V1298)) (shen.hdtl V1298))) shen.skip) (fail)))
171
+ (defun shen.<backslash> (V1332) (if (and (cons? (hd V1332)) (= 92 (hd (hd V1332)))) (shen.pair (hd (shen.pair (tl (hd V1332)) (shen.hdtl V1332))) shen.skip) (fail)))
172
172
 
173
- (defun shen.<anysingle> (V1299) (let YaccParse (let Parse_shen.<non-return> (shen.<non-return> V1299) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V1299) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) shen.skip) (fail))) YaccParse)))
173
+ (defun shen.<anysingle> (V1333) (let YaccParse (let Parse_shen.<non-return> (shen.<non-return> V1333) (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 (= YaccParse (fail)) (let Parse_<e> (<e> V1333) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) shen.skip) (fail))) YaccParse)))
174
174
 
175
- (defun shen.<non-return> (V1300) (if (cons? (hd V1300)) (let Parse_X (hd (hd V1300)) (if (not (element? Parse_X (cons 10 (cons 13 ())))) (shen.pair (hd (shen.pair (tl (hd V1300)) (shen.hdtl V1300))) shen.skip) (fail))) (fail)))
175
+ (defun shen.<non-return> (V1334) (if (cons? (hd V1334)) (let Parse_X (hd (hd V1334)) (if (not (element? Parse_X (cons 10 (cons 13 ())))) (shen.pair (hd (shen.pair (tl (hd V1334)) (shen.hdtl V1334))) shen.skip) (fail))) (fail)))
176
176
 
177
- (defun shen.<return> (V1301) (if (cons? (hd V1301)) (let Parse_X (hd (hd V1301)) (if (element? Parse_X (cons 10 (cons 13 ()))) (shen.pair (hd (shen.pair (tl (hd V1301)) (shen.hdtl V1301))) shen.skip) (fail))) (fail)))
177
+ (defun shen.<return> (V1335) (if (cons? (hd V1335)) (let Parse_X (hd (hd V1335)) (if (element? Parse_X (cons 10 (cons 13 ()))) (shen.pair (hd (shen.pair (tl (hd V1335)) (shen.hdtl V1335))) shen.skip) (fail))) (fail)))
178
178
 
179
- (defun shen.<multiline> (V1302) (let Parse_shen.<backslash> (shen.<backslash> V1302) (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))))
179
+ (defun shen.<multiline> (V1336) (let Parse_shen.<backslash> (shen.<backslash> V1336) (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))))
180
180
 
181
- (defun shen.<times> (V1303) (if (and (cons? (hd V1303)) (= 42 (hd (hd V1303)))) (shen.pair (hd (shen.pair (tl (hd V1303)) (shen.hdtl V1303))) shen.skip) (fail)))
181
+ (defun shen.<times> (V1337) (if (and (cons? (hd V1337)) (= 42 (hd (hd V1337)))) (shen.pair (hd (shen.pair (tl (hd V1337)) (shen.hdtl V1337))) shen.skip) (fail)))
182
182
 
183
- (defun shen.<anymulti> (V1304) (let YaccParse (let Parse_shen.<comment> (shen.<comment> V1304) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<times> (shen.<times> V1304) (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 (= YaccParse (fail)) (if (cons? (hd V1304)) (let Parse_X (hd (hd V1304)) (let Parse_shen.<anymulti> (shen.<anymulti> (shen.pair (tl (hd V1304)) (shen.hdtl V1304))) (if (not (= (fail) Parse_shen.<anymulti>)) (shen.pair (hd Parse_shen.<anymulti>) shen.skip) (fail)))) (fail)) YaccParse)) YaccParse)))
183
+ (defun shen.<anymulti> (V1338) (let YaccParse (let Parse_shen.<comment> (shen.<comment> V1338) (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 (= YaccParse (fail)) (let YaccParse (let Parse_shen.<times> (shen.<times> V1338) (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 (= YaccParse (fail)) (if (cons? (hd V1338)) (let Parse_X (hd (hd V1338)) (let Parse_shen.<anymulti> (shen.<anymulti> (shen.pair (tl (hd V1338)) (shen.hdtl V1338))) (if (not (= (fail) Parse_shen.<anymulti>)) (shen.pair (hd Parse_shen.<anymulti>) shen.skip) (fail)))) (fail)) YaccParse)) YaccParse)))
184
184
 
185
- (defun shen.<whitespaces> (V1305) (let YaccParse (let Parse_shen.<whitespace> (shen.<whitespace> V1305) (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 (= YaccParse (fail)) (let Parse_shen.<whitespace> (shen.<whitespace> V1305) (if (not (= (fail) Parse_shen.<whitespace>)) (shen.pair (hd Parse_shen.<whitespace>) shen.skip) (fail))) YaccParse)))
185
+ (defun shen.<whitespaces> (V1339) (let YaccParse (let Parse_shen.<whitespace> (shen.<whitespace> V1339) (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 (= YaccParse (fail)) (let Parse_shen.<whitespace> (shen.<whitespace> V1339) (if (not (= (fail) Parse_shen.<whitespace>)) (shen.pair (hd Parse_shen.<whitespace>) shen.skip) (fail))) YaccParse)))
186
186
 
187
- (defun shen.<whitespace> (V1306) (if (cons? (hd V1306)) (let Parse_X (hd (hd V1306)) (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 V1306)) (shen.hdtl V1306))) shen.skip) (fail))) (fail)))
187
+ (defun shen.<whitespace> (V1340) (if (cons? (hd V1340)) (let Parse_X (hd (hd V1340)) (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 V1340)) (shen.hdtl V1340))) shen.skip) (fail))) (fail)))
188
188
 
189
- (defun shen.cons_form (V1307) (cond ((= () V1307) ()) ((and (cons? V1307) (and (cons? (tl V1307)) (and (cons? (tl (tl V1307))) (and (= () (tl (tl (tl V1307)))) (= (hd (tl V1307)) bar!))))) (cons cons (cons (hd V1307) (tl (tl V1307))))) ((cons? V1307) (cons cons (cons (hd V1307) (cons (shen.cons_form (tl V1307)) ())))) (true (shen.f_error shen.cons_form))))
189
+ (defun shen.cons_form (V1341) (cond ((= () V1341) ()) ((and (cons? V1341) (and (cons? (tl V1341)) (and (cons? (tl (tl V1341))) (and (= () (tl (tl (tl V1341)))) (= (hd (tl V1341)) bar!))))) (cons cons (cons (hd V1341) (tl (tl V1341))))) ((cons? V1341) (cons cons (cons (hd V1341) (cons (shen.cons_form (tl V1341)) ())))) (true (shen.f_error shen.cons_form))))
190
190
 
191
- (defun shen.package-macro (V1310 V1311) (cond ((and (cons? V1310) (and (= $ (hd V1310)) (and (cons? (tl V1310)) (= () (tl (tl V1310)))))) (append (explode (hd (tl V1310))) V1311)) ((and (cons? V1310) (and (= package (hd V1310)) (and (cons? (tl V1310)) (and (= null (hd (tl V1310))) (cons? (tl (tl V1310))))))) (append (tl (tl (tl V1310))) V1311)) ((and (cons? V1310) (and (= package (hd V1310)) (and (cons? (tl V1310)) (cons? (tl (tl V1310)))))) (let ListofExceptions (shen.eval-without-macros (hd (tl (tl V1310)))) (let Record (shen.record-exceptions ListofExceptions (hd (tl V1310))) (let PackageNameDot (intern (cn (str (hd (tl V1310))) ".")) (append (shen.packageh PackageNameDot ListofExceptions (tl (tl (tl V1310)))) V1311))))) (true (cons V1310 V1311))))
191
+ (defun shen.package-macro (V1344 V1345) (cond ((and (cons? V1344) (and (= $ (hd V1344)) (and (cons? (tl V1344)) (= () (tl (tl V1344)))))) (append (explode (hd (tl V1344))) V1345)) ((and (cons? V1344) (and (= package (hd V1344)) (and (cons? (tl V1344)) (and (= null (hd (tl V1344))) (cons? (tl (tl V1344))))))) (append (tl (tl (tl V1344))) V1345)) ((and (cons? V1344) (and (= package (hd V1344)) (and (cons? (tl V1344)) (cons? (tl (tl V1344)))))) (let ListofExceptions (shen.eval-without-macros (hd (tl (tl V1344)))) (let Record (shen.record-exceptions ListofExceptions (hd (tl V1344))) (let PackageNameDot (intern (cn (str (hd (tl V1344))) ".")) (append (shen.packageh PackageNameDot ListofExceptions (tl (tl (tl V1344)))) V1345))))) (true (cons V1344 V1345))))
192
192
 
193
- (defun shen.record-exceptions (V1312 V1313) (let CurrExceptions (trap-error (get V1313 shen.external-symbols (value *property-vector*)) (lambda E ())) (let AllExceptions (union V1312 CurrExceptions) (put V1313 shen.external-symbols AllExceptions (value *property-vector*)))))
193
+ (defun shen.record-exceptions (V1346 V1347) (let CurrExceptions (trap-error (get V1347 shen.external-symbols (value *property-vector*)) (lambda E ())) (let AllExceptions (union V1346 CurrExceptions) (put V1347 shen.external-symbols AllExceptions (value *property-vector*)))))
194
194
 
195
- (defun shen.packageh (V1322 V1323 V1324) (cond ((cons? V1324) (cons (shen.packageh V1322 V1323 (hd V1324)) (shen.packageh V1322 V1323 (tl V1324)))) ((or (shen.sysfunc? V1324) (or (variable? V1324) (or (element? V1324 V1323) (or (shen.doubleunderline? V1324) (shen.singleunderline? V1324))))) V1324) ((and (symbol? V1324) (not (shen.prefix? (cons "s" (cons "h" (cons "e" (cons "n" (cons "." ()))))) (explode V1324)))) (concat V1322 V1324)) (true V1324)))
195
+ (defun shen.packageh (V1356 V1357 V1358) (cond ((cons? V1358) (cons (shen.packageh V1356 V1357 (hd V1358)) (shen.packageh V1356 V1357 (tl V1358)))) ((or (shen.sysfunc? V1358) (or (variable? V1358) (or (element? V1358 V1357) (or (shen.doubleunderline? V1358) (shen.singleunderline? V1358))))) V1358) ((and (symbol? V1358) (not (shen.prefix? (cons "s" (cons "h" (cons "e" (cons "n" (cons "." ()))))) (explode V1358)))) (concat V1356 V1358)) (true V1358)))
196
196
 
197
197
 
198
198