shen-ruby 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY.md CHANGED
@@ -1,8 +1,13 @@
1
1
  # ShenRuby Release History
2
2
 
3
+ ## 0.4.1 - March 21, 2013
4
+ ### Features
5
+ - Upgrade to Shen 9.1
6
+
3
7
  ## 0.4.0 - March 15, 2013
4
8
  ### Features
5
9
  - Upgrade to Shen 9.0
10
+
6
11
  ### Bug Fixes
7
12
  - [Issue 8](https://github.com/gregspurrier/shen-ruby/issues/8) -- `quit` no longer raises a type error when invoked with type checking enabled.
8
13
  - Fixed many instances of ShenRuby's behavior not matching the Shen CLisp reference implementation:
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # ShenRuby
2
2
  ShenRuby is a Ruby port of the [Shen](http://shenlanguage.org/) programming language. Shen is a modern, functional Lisp that supports pattern matching, currying, and optional static type checking.
3
3
 
4
- ShenRuby supports Shen version 9.0, which was released in March, 2013.
4
+ ShenRuby supports Shen version 9.1, which was released in March, 2013.
5
5
 
6
6
  The ShenRuby project has two primary goals. The first is to be a low barrier-to-entry means for Rubyists to explore Shen. To someone with a working installation of Ruby 1.9.3, a Shen REPL is only a gem install away.
7
7
 
@@ -14,7 +14,7 @@ ShenRuby 0.1.0 began to satisfy the first goal by providing a Shen REPL accessib
14
14
  ## Installation
15
15
  NOTE: ShenRuby requires Ruby 1.9 language features. It has been tested with Ruby 1.9.3-p392. It has been lightly tested with Rubinius 2.0.0-head running in 1.9 mode. It is not yet working under JRuby.
16
16
 
17
- ShenRuby 0.4.0 is the current release. To install it as gem, use the following command:
17
+ ShenRuby 0.4.1 is the current release. To install it as gem, use the following command:
18
18
 
19
19
  gem install shen-ruby
20
20
 
@@ -23,17 +23,17 @@ ShenRuby 0.4.0 is the current release. To install it as gem, use the following c
23
23
  Once the gem has been installed, the Shen REPL can be launched via the `srrepl` (short for ShenRuby REPL) command. For example:
24
24
 
25
25
  % srrepl
26
- Loading.... Completed in 10.29 seconds.
27
-
26
+ Loading.... Completed in 8.61 seconds.
27
+
28
28
  Shen 2010, copyright (C) 2010 Mark Tarver
29
- www.shenlanguage.org, version 9
29
+ www.shenlanguage.org, version 9.1
30
30
  running under Ruby, implementation: ruby 1.9.3
31
- port 0.4.0 ported by Greg Spurrier
32
-
33
-
34
- (0-)
31
+ port 0.4.1 ported by Greg Spurrier
32
+
33
+
34
+ (0-)
35
35
 
36
- Please be patient: the Shen REPL takes a while to load (about 10 seconds on a 2.66 GHz MacBook Pro). This will be addressed in future releases.
36
+ Please be patient: the Shen REPL takes a while to load (about 9 seconds on a 2.66 GHz MacBook Pro). This will be addressed in future releases.
37
37
 
38
38
  The `(0-)` seen above is the Shen REPL prompt. The number in the prompt increases after each expression that is entered.
39
39
 
data/lib/kl/absvector.rb CHANGED
@@ -5,7 +5,7 @@ module Kl
5
5
  attr_reader :upper_limit
6
6
 
7
7
  def initialize(n)
8
- super(n, :"shen-fail!")
8
+ super(n, :"shen.fail!")
9
9
  @upper_limit = n
10
10
  end
11
11
  end
@@ -1,3 +1,3 @@
1
1
  module ShenRuby
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
data/shen-ruby.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.email = ["greg@sourcematters.org"]
13
13
  s.homepage = "https://github.com/gregspurrier/shen-ruby"
14
14
  s.summary = %q{ShenRuby is a Ruby port of the Shen programming language}
15
- s.description = %q{ShenRuby is a port of the Shen programming language to Ruby. It currently supports Shen version 9.0.}
15
+ s.description = %q{ShenRuby is a port of the Shen programming language to Ruby. It currently supports Shen version 9.1.}
16
16
 
17
17
  s.required_ruby_version = ">= 1.9.3"
18
18
 
@@ -61,13 +61,13 @@
61
61
 
62
62
  (defun shen.sysfunc? (V619) (element? V619 (get (intern "shen") shen.external-symbols (value *property-vector*))))
63
63
 
64
- (defun shen.<signature> (V624) (let Result (if (and (cons? (hd V624)) (= { (hd (hd V624)))) (let Parse_shen.<signature-help> (shen.<signature-help> (shen.pair (tl (hd V624)) (shen.hdtl V624))) (if (not (= (fail) Parse_shen.<signature-help>)) (if (and (cons? (hd Parse_shen.<signature-help>)) (= } (hd (hd Parse_shen.<signature-help>)))) (shen.pair (hd (shen.pair (tl (hd Parse_shen.<signature-help>)) (shen.hdtl Parse_shen.<signature-help>))) (shen.normalise-type (shen.curry-type (shen.hdtl Parse_shen.<signature-help>)))) (fail)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
64
+ (defun shen.<signature> (V624) (let Result (if (and (cons? (hd V624)) (= { (hd (hd V624)))) (let Parse_shen.<signature-help> (shen.<signature-help> (shen.pair (tl (hd V624)) (shen.hdtl V624))) (if (not (= (fail) Parse_shen.<signature-help>)) (if (and (cons? (hd Parse_shen.<signature-help>)) (= } (hd (hd Parse_shen.<signature-help>)))) (shen.pair (hd (shen.pair (tl (hd Parse_shen.<signature-help>)) (shen.hdtl Parse_shen.<signature-help>))) (shen.demodulate (shen.curry-type (shen.hdtl Parse_shen.<signature-help>)))) (fail)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
65
65
 
66
66
  (defun shen.curry-type (V627) (cond ((and (cons? V627) (and (cons? (tl V627)) (and (= --> (hd (tl V627))) (and (cons? (tl (tl V627))) (and (cons? (tl (tl (tl V627)))) (= --> (hd (tl (tl (tl V627)))))))))) (shen.curry-type (cons (hd V627) (cons --> (cons (tl (tl V627)) ()))))) ((and (cons? V627) (and (= cons (hd V627)) (and (cons? (tl V627)) (and (cons? (tl (tl V627))) (= () (tl (tl (tl V627)))))))) (cons list (cons (shen.curry-type (hd (tl V627))) ()))) ((and (cons? V627) (and (cons? (tl V627)) (and (= * (hd (tl V627))) (and (cons? (tl (tl V627))) (and (cons? (tl (tl (tl V627)))) (= * (hd (tl (tl (tl V627)))))))))) (shen.curry-type (cons (hd V627) (cons * (cons (tl (tl V627)) ()))))) ((cons? V627) (map shen.curry-type V627)) (true V627)))
67
67
 
68
68
  (defun shen.<signature-help> (V632) (let Result (if (cons? (hd V632)) (let Parse_X (hd (hd V632)) (let Parse_shen.<signature-help> (shen.<signature-help> (shen.pair (tl (hd V632)) (shen.hdtl V632))) (if (not (= (fail) Parse_shen.<signature-help>)) (if (not (element? Parse_X (cons { (cons } ())))) (shen.pair (hd Parse_shen.<signature-help>) (cons Parse_X (shen.hdtl Parse_shen.<signature-help>))) (fail)) (fail)))) (fail)) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V632) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
69
69
 
70
- (defun shen.<rules> (V637) (let Result (let Parse_shen.<rule> (shen.<rule> V637) (if (not (= (fail) Parse_shen.<rule>)) (let Parse_shen.<rules> (shen.<rules> Parse_shen.<rule>) (if (not (= (fail) Parse_shen.<rules>)) (shen.pair (hd Parse_shen.<rules>) (cons (shen.hdtl Parse_shen.<rule>) (shen.hdtl Parse_shen.<rules>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<rule> (shen.<rule> V637) (if (not (= (fail) Parse_shen.<rule>)) (shen.pair (hd Parse_shen.<rule>) (cons (shen.hdtl Parse_shen.<rule>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
70
+ (defun shen.<rules> (V637) (let Result (let Parse_shen.<rule> (shen.<rule> V637) (if (not (= (fail) Parse_shen.<rule>)) (let Parse_shen.<rules> (shen.<rules> Parse_shen.<rule>) (if (not (= (fail) Parse_shen.<rules>)) (shen.pair (hd Parse_shen.<rules>) (cons (shen.linearise (shen.hdtl Parse_shen.<rule>)) (shen.hdtl Parse_shen.<rules>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<rule> (shen.<rule> V637) (if (not (= (fail) Parse_shen.<rule>)) (shen.pair (hd Parse_shen.<rule>) (cons (shen.linearise (shen.hdtl Parse_shen.<rule>)) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
71
71
 
72
72
  (defun shen.<rule> (V642) (let Result (let Parse_shen.<patterns> (shen.<patterns> V642) (if (not (= (fail) Parse_shen.<patterns>)) (if (and (cons? (hd Parse_shen.<patterns>)) (= -> (hd (hd Parse_shen.<patterns>)))) (let Parse_shen.<action> (shen.<action> (shen.pair (tl (hd Parse_shen.<patterns>)) (shen.hdtl Parse_shen.<patterns>))) (if (not (= (fail) Parse_shen.<action>)) (if (and (cons? (hd Parse_shen.<action>)) (= where (hd (hd Parse_shen.<action>)))) (let Parse_shen.<guard> (shen.<guard> (shen.pair (tl (hd Parse_shen.<action>)) (shen.hdtl Parse_shen.<action>))) (if (not (= (fail) Parse_shen.<guard>)) (shen.pair (hd Parse_shen.<guard>) (cons (shen.hdtl Parse_shen.<patterns>) (cons (cons where (cons (shen.hdtl Parse_shen.<guard>) (cons (shen.hdtl Parse_shen.<action>) ()))) ()))) (fail))) (fail)) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<patterns> (shen.<patterns> V642) (if (not (= (fail) Parse_shen.<patterns>)) (if (and (cons? (hd Parse_shen.<patterns>)) (= -> (hd (hd Parse_shen.<patterns>)))) (let Parse_shen.<action> (shen.<action> (shen.pair (tl (hd Parse_shen.<patterns>)) (shen.hdtl Parse_shen.<patterns>))) (if (not (= (fail) Parse_shen.<action>)) (shen.pair (hd Parse_shen.<action>) (cons (shen.hdtl Parse_shen.<patterns>) (cons (shen.hdtl Parse_shen.<action>) ()))) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<patterns> (shen.<patterns> V642) (if (not (= (fail) Parse_shen.<patterns>)) (if (and (cons? (hd Parse_shen.<patterns>)) (= <- (hd (hd Parse_shen.<patterns>)))) (let Parse_shen.<action> (shen.<action> (shen.pair (tl (hd Parse_shen.<patterns>)) (shen.hdtl Parse_shen.<patterns>))) (if (not (= (fail) Parse_shen.<action>)) (if (and (cons? (hd Parse_shen.<action>)) (= where (hd (hd Parse_shen.<action>)))) (let Parse_shen.<guard> (shen.<guard> (shen.pair (tl (hd Parse_shen.<action>)) (shen.hdtl Parse_shen.<action>))) (if (not (= (fail) Parse_shen.<guard>)) (shen.pair (hd Parse_shen.<guard>) (cons (shen.hdtl Parse_shen.<patterns>) (cons (cons where (cons (shen.hdtl Parse_shen.<guard>) (cons (cons shen.choicepoint! (cons (shen.hdtl Parse_shen.<action>) ())) ()))) ()))) (fail))) (fail)) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<patterns> (shen.<patterns> V642) (if (not (= (fail) Parse_shen.<patterns>)) (if (and (cons? (hd Parse_shen.<patterns>)) (= <- (hd (hd Parse_shen.<patterns>)))) (let Parse_shen.<action> (shen.<action> (shen.pair (tl (hd Parse_shen.<patterns>)) (shen.hdtl Parse_shen.<patterns>))) (if (not (= (fail) Parse_shen.<action>)) (shen.pair (hd Parse_shen.<action>) (cons (shen.hdtl Parse_shen.<patterns>) (cons (cons shen.choicepoint! (cons (shen.hdtl Parse_shen.<action>) ())) ()))) (fail))) (fail)) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)))
73
73
 
@@ -96,7 +96,7 @@
96
96
 
97
97
  (defun shen.record-source (V690 V691) (cond ((value shen.*installing-kl*) shen.skip) (true (put V690 shen.source V691 (value *property-vector*)))))
98
98
 
99
- (defun shen.compile_to_lambda+ (V692 V693) (let Arity (shen.aritycheck V692 V693) (let Free (map (lambda Rule (shen.free_variable_check V692 Rule)) V693) (let Variables (shen.parameters Arity) (let Linear (map shen.linearise (shen.strip-protect V693)) (let Abstractions (map shen.abstract_rule Linear) (let Applications (map (lambda X (shen.application_build Variables X)) Abstractions) (cons Variables (cons Applications ())))))))))
99
+ (defun shen.compile_to_lambda+ (V692 V693) (let Arity (shen.aritycheck V692 V693) (let Free (map (lambda Rule (shen.free_variable_check V692 Rule)) V693) (let Variables (shen.parameters Arity) (let Strip (map shen.strip-protect V693) (let Abstractions (map shen.abstract_rule Strip) (let Applications (map (lambda X (shen.application_build Variables X)) Abstractions) (cons Variables (cons Applications ())))))))))
100
100
 
101
101
  (defun shen.free_variable_check (V694 V695) (cond ((and (cons? V695) (and (cons? (tl V695)) (= () (tl (tl V695))))) (let Bound (shen.extract_vars (hd V695)) (let Free (shen.extract_free_vars Bound (hd (tl V695))) (shen.free_variable_warnings V694 Free)))) (true (shen.sys-error shen.free_variable_check))))
102
102
 
@@ -53,129 +53,130 @@
53
53
 
54
54
  (defun read-file (V1302) (let Bytelist (read-file-as-bytelist V1302) (compile shen.<st_input> Bytelist shen.read-error)))
55
55
 
56
- (defun shen.read-error (V1303) (simple-error (cn "read error here:
56
+ (defun shen.read-error (V1309) (cond ((and (cons? V1309) (and (cons? (hd V1309)) (and (cons? (tl V1309)) (= () (tl (tl V1309)))))) (simple-error (cn "read error here:
57
57
 
58
- " (shen.app (shen.compress-50 50 V1303) "
59
- " shen.a))))
58
+ " (shen.app (shen.compress-50 50 (hd V1309)) "
59
+ " shen.a)))) (true (simple-error "read error
60
+ "))))
60
61
 
61
- (defun shen.compress-50 (V1308 V1309) (cond ((= () V1309) "") ((= 0 V1308) "") ((cons? V1309) (cn (n->string (hd V1309)) (shen.compress-50 (- V1308 1) (tl V1309)))) (true (shen.sys-error shen.compress-50))))
62
+ (defun shen.compress-50 (V1314 V1315) (cond ((= () V1315) "") ((= 0 V1314) "") ((cons? V1315) (cn (n->string (hd V1315)) (shen.compress-50 (- V1314 1) (tl V1315)))) (true (shen.sys-error shen.compress-50))))
62
63
 
63
- (defun shen.<st_input> (V1314) (let Result (let Parse_shen.<lsb> (shen.<lsb> V1314) (if (not (= (fail) Parse_shen.<lsb>)) (let Parse_shen.<st_input1> (shen.<st_input1> Parse_shen.<lsb>) (if (not (= (fail) Parse_shen.<st_input1>)) (let Parse_shen.<rsb> (shen.<rsb> Parse_shen.<st_input1>) (if (not (= (fail) Parse_shen.<rsb>)) (let Parse_shen.<st_input2> (shen.<st_input2> Parse_shen.<rsb>) (if (not (= (fail) Parse_shen.<st_input2>)) (shen.pair (hd Parse_shen.<st_input2>) (cons (macroexpand (shen.cons_form (shen.hdtl Parse_shen.<st_input1>))) (shen.hdtl Parse_shen.<st_input2>))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<lrb> (shen.<lrb> V1314) (if (not (= (fail) Parse_shen.<lrb>)) (let Parse_shen.<st_input1> (shen.<st_input1> Parse_shen.<lrb>) (if (not (= (fail) Parse_shen.<st_input1>)) (let Parse_shen.<rrb> (shen.<rrb> Parse_shen.<st_input1>) (if (not (= (fail) Parse_shen.<rrb>)) (let Parse_shen.<st_input2> (shen.<st_input2> Parse_shen.<rrb>) (if (not (= (fail) Parse_shen.<st_input2>)) (shen.pair (hd Parse_shen.<st_input2>) (shen.package-macro (macroexpand (shen.hdtl Parse_shen.<st_input1>)) (shen.hdtl Parse_shen.<st_input2>))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<lcurly> (shen.<lcurly> V1314) (if (not (= (fail) Parse_shen.<lcurly>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<lcurly>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons { (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<rcurly> (shen.<rcurly> V1314) (if (not (= (fail) Parse_shen.<rcurly>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<rcurly>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons } (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<bar> (shen.<bar> V1314) (if (not (= (fail) Parse_shen.<bar>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<bar>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons bar! (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<semicolon> (shen.<semicolon> V1314) (if (not (= (fail) Parse_shen.<semicolon>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<semicolon>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons ; (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1314) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<equal> (shen.<equal> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<equal>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<equal>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons := (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1314) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<minus> (shen.<minus> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons :- (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1314) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons : (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<comma> (shen.<comma> V1314) (if (not (= (fail) Parse_shen.<comma>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<comma>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons (intern ",") (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<comment> (shen.<comment> V1314) (if (not (= (fail) Parse_shen.<comment>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<comment>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<atom> (shen.<atom> V1314) (if (not (= (fail) Parse_shen.<atom>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<atom>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons (macroexpand (shen.hdtl Parse_shen.<atom>)) (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<whitespaces> (shen.<whitespaces> V1314) (if (not (= (fail) Parse_shen.<whitespaces>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<whitespaces>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1314) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)))
64
+ (defun shen.<st_input> (V1320) (let Result (let Parse_shen.<lsb> (shen.<lsb> V1320) (if (not (= (fail) Parse_shen.<lsb>)) (let Parse_shen.<st_input1> (shen.<st_input1> Parse_shen.<lsb>) (if (not (= (fail) Parse_shen.<st_input1>)) (let Parse_shen.<rsb> (shen.<rsb> Parse_shen.<st_input1>) (if (not (= (fail) Parse_shen.<rsb>)) (let Parse_shen.<st_input2> (shen.<st_input2> Parse_shen.<rsb>) (if (not (= (fail) Parse_shen.<st_input2>)) (shen.pair (hd Parse_shen.<st_input2>) (cons (macroexpand (shen.cons_form (shen.hdtl Parse_shen.<st_input1>))) (shen.hdtl Parse_shen.<st_input2>))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<lrb> (shen.<lrb> V1320) (if (not (= (fail) Parse_shen.<lrb>)) (let Parse_shen.<st_input1> (shen.<st_input1> Parse_shen.<lrb>) (if (not (= (fail) Parse_shen.<st_input1>)) (let Parse_shen.<rrb> (shen.<rrb> Parse_shen.<st_input1>) (if (not (= (fail) Parse_shen.<rrb>)) (let Parse_shen.<st_input2> (shen.<st_input2> Parse_shen.<rrb>) (if (not (= (fail) Parse_shen.<st_input2>)) (shen.pair (hd Parse_shen.<st_input2>) (shen.package-macro (macroexpand (shen.hdtl Parse_shen.<st_input1>)) (shen.hdtl Parse_shen.<st_input2>))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<lcurly> (shen.<lcurly> V1320) (if (not (= (fail) Parse_shen.<lcurly>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<lcurly>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons { (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<rcurly> (shen.<rcurly> V1320) (if (not (= (fail) Parse_shen.<rcurly>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<rcurly>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons } (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<bar> (shen.<bar> V1320) (if (not (= (fail) Parse_shen.<bar>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<bar>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons bar! (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<semicolon> (shen.<semicolon> V1320) (if (not (= (fail) Parse_shen.<semicolon>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<semicolon>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons ; (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1320) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<equal> (shen.<equal> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<equal>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<equal>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons := (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1320) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<minus> (shen.<minus> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons :- (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<colon> (shen.<colon> V1320) (if (not (= (fail) Parse_shen.<colon>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<colon>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons : (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<comma> (shen.<comma> V1320) (if (not (= (fail) Parse_shen.<comma>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<comma>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons (intern ",") (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<comment> (shen.<comment> V1320) (if (not (= (fail) Parse_shen.<comment>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<comment>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<atom> (shen.<atom> V1320) (if (not (= (fail) Parse_shen.<atom>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<atom>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (cons (macroexpand (shen.hdtl Parse_shen.<atom>)) (shen.hdtl Parse_shen.<st_input>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<whitespaces> (shen.<whitespaces> V1320) (if (not (= (fail) Parse_shen.<whitespaces>)) (let Parse_shen.<st_input> (shen.<st_input> Parse_shen.<whitespaces>) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1320) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)) Result)))
64
65
 
65
- (defun shen.<lsb> (V1319) (let Result (if (and (cons? (hd V1319)) (= 91 (hd (hd V1319)))) (shen.pair (hd (shen.pair (tl (hd V1319)) (shen.hdtl V1319))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
66
+ (defun shen.<lsb> (V1325) (let Result (if (and (cons? (hd V1325)) (= 91 (hd (hd V1325)))) (shen.pair (hd (shen.pair (tl (hd V1325)) (shen.hdtl V1325))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
66
67
 
67
- (defun shen.<rsb> (V1324) (let Result (if (and (cons? (hd V1324)) (= 93 (hd (hd V1324)))) (shen.pair (hd (shen.pair (tl (hd V1324)) (shen.hdtl V1324))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
68
+ (defun shen.<rsb> (V1330) (let Result (if (and (cons? (hd V1330)) (= 93 (hd (hd V1330)))) (shen.pair (hd (shen.pair (tl (hd V1330)) (shen.hdtl V1330))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
68
69
 
69
- (defun shen.<lcurly> (V1329) (let Result (if (and (cons? (hd V1329)) (= 123 (hd (hd V1329)))) (shen.pair (hd (shen.pair (tl (hd V1329)) (shen.hdtl V1329))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
70
+ (defun shen.<lcurly> (V1335) (let Result (if (and (cons? (hd V1335)) (= 123 (hd (hd V1335)))) (shen.pair (hd (shen.pair (tl (hd V1335)) (shen.hdtl V1335))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
70
71
 
71
- (defun shen.<rcurly> (V1334) (let Result (if (and (cons? (hd V1334)) (= 125 (hd (hd V1334)))) (shen.pair (hd (shen.pair (tl (hd V1334)) (shen.hdtl V1334))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
72
+ (defun shen.<rcurly> (V1340) (let Result (if (and (cons? (hd V1340)) (= 125 (hd (hd V1340)))) (shen.pair (hd (shen.pair (tl (hd V1340)) (shen.hdtl V1340))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
72
73
 
73
- (defun shen.<bar> (V1339) (let Result (if (and (cons? (hd V1339)) (= 124 (hd (hd V1339)))) (shen.pair (hd (shen.pair (tl (hd V1339)) (shen.hdtl V1339))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
74
+ (defun shen.<bar> (V1345) (let Result (if (and (cons? (hd V1345)) (= 124 (hd (hd V1345)))) (shen.pair (hd (shen.pair (tl (hd V1345)) (shen.hdtl V1345))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
74
75
 
75
- (defun shen.<semicolon> (V1344) (let Result (if (and (cons? (hd V1344)) (= 59 (hd (hd V1344)))) (shen.pair (hd (shen.pair (tl (hd V1344)) (shen.hdtl V1344))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
76
+ (defun shen.<semicolon> (V1350) (let Result (if (and (cons? (hd V1350)) (= 59 (hd (hd V1350)))) (shen.pair (hd (shen.pair (tl (hd V1350)) (shen.hdtl V1350))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
76
77
 
77
- (defun shen.<colon> (V1349) (let Result (if (and (cons? (hd V1349)) (= 58 (hd (hd V1349)))) (shen.pair (hd (shen.pair (tl (hd V1349)) (shen.hdtl V1349))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
78
+ (defun shen.<colon> (V1355) (let Result (if (and (cons? (hd V1355)) (= 58 (hd (hd V1355)))) (shen.pair (hd (shen.pair (tl (hd V1355)) (shen.hdtl V1355))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
78
79
 
79
- (defun shen.<comma> (V1354) (let Result (if (and (cons? (hd V1354)) (= 44 (hd (hd V1354)))) (shen.pair (hd (shen.pair (tl (hd V1354)) (shen.hdtl V1354))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
80
+ (defun shen.<comma> (V1360) (let Result (if (and (cons? (hd V1360)) (= 44 (hd (hd V1360)))) (shen.pair (hd (shen.pair (tl (hd V1360)) (shen.hdtl V1360))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
80
81
 
81
- (defun shen.<equal> (V1359) (let Result (if (and (cons? (hd V1359)) (= 61 (hd (hd V1359)))) (shen.pair (hd (shen.pair (tl (hd V1359)) (shen.hdtl V1359))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
82
+ (defun shen.<equal> (V1365) (let Result (if (and (cons? (hd V1365)) (= 61 (hd (hd V1365)))) (shen.pair (hd (shen.pair (tl (hd V1365)) (shen.hdtl V1365))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
82
83
 
83
- (defun shen.<minus> (V1364) (let Result (if (and (cons? (hd V1364)) (= 45 (hd (hd V1364)))) (shen.pair (hd (shen.pair (tl (hd V1364)) (shen.hdtl V1364))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
84
+ (defun shen.<minus> (V1370) (let Result (if (and (cons? (hd V1370)) (= 45 (hd (hd V1370)))) (shen.pair (hd (shen.pair (tl (hd V1370)) (shen.hdtl V1370))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
84
85
 
85
- (defun shen.<lrb> (V1369) (let Result (if (and (cons? (hd V1369)) (= 40 (hd (hd V1369)))) (shen.pair (hd (shen.pair (tl (hd V1369)) (shen.hdtl V1369))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
86
+ (defun shen.<lrb> (V1375) (let Result (if (and (cons? (hd V1375)) (= 40 (hd (hd V1375)))) (shen.pair (hd (shen.pair (tl (hd V1375)) (shen.hdtl V1375))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
86
87
 
87
- (defun shen.<rrb> (V1374) (let Result (if (and (cons? (hd V1374)) (= 41 (hd (hd V1374)))) (shen.pair (hd (shen.pair (tl (hd V1374)) (shen.hdtl V1374))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
88
+ (defun shen.<rrb> (V1380) (let Result (if (and (cons? (hd V1380)) (= 41 (hd (hd V1380)))) (shen.pair (hd (shen.pair (tl (hd V1380)) (shen.hdtl V1380))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
88
89
 
89
- (defun shen.<atom> (V1379) (let Result (let Parse_shen.<str> (shen.<str> V1379) (if (not (= (fail) Parse_shen.<str>)) (shen.pair (hd Parse_shen.<str>) (shen.control-chars (shen.hdtl Parse_shen.<str>))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<number> (shen.<number> V1379) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<sym> (shen.<sym> V1379) (if (not (= (fail) Parse_shen.<sym>)) (shen.pair (hd Parse_shen.<sym>) (if (= (shen.hdtl Parse_shen.<sym>) "<>") (cons vector (cons 0 ())) (intern (shen.hdtl Parse_shen.<sym>)))) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
90
+ (defun shen.<atom> (V1385) (let Result (let Parse_shen.<str> (shen.<str> V1385) (if (not (= (fail) Parse_shen.<str>)) (shen.pair (hd Parse_shen.<str>) (shen.control-chars (shen.hdtl Parse_shen.<str>))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<number> (shen.<number> V1385) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<sym> (shen.<sym> V1385) (if (not (= (fail) Parse_shen.<sym>)) (shen.pair (hd Parse_shen.<sym>) (if (= (shen.hdtl Parse_shen.<sym>) "<>") (cons vector (cons 0 ())) (intern (shen.hdtl Parse_shen.<sym>)))) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
90
91
 
91
- (defun shen.control-chars (V1380) (cond ((= () V1380) "") ((and (cons? V1380) (and (= "c" (hd V1380)) (and (cons? (tl V1380)) (= "#" (hd (tl V1380)))))) (let CodePoint (shen.code-point (tl (tl V1380))) (let AfterCodePoint (shen.after-codepoint (tl (tl V1380))) (@s (n->string (shen.decimalise CodePoint)) (shen.control-chars AfterCodePoint))))) ((cons? V1380) (@s (hd V1380) (shen.control-chars (tl V1380)))) (true (shen.sys-error shen.control-chars))))
92
+ (defun shen.control-chars (V1386) (cond ((= () V1386) "") ((and (cons? V1386) (and (= "c" (hd V1386)) (and (cons? (tl V1386)) (= "#" (hd (tl V1386)))))) (let CodePoint (shen.code-point (tl (tl V1386))) (let AfterCodePoint (shen.after-codepoint (tl (tl V1386))) (@s (n->string (shen.decimalise CodePoint)) (shen.control-chars AfterCodePoint))))) ((cons? V1386) (@s (hd V1386) (shen.control-chars (tl V1386)))) (true (shen.sys-error shen.control-chars))))
92
93
 
93
- (defun shen.code-point (V1383) (cond ((and (cons? V1383) (= ";" (hd V1383))) "") ((and (cons? V1383) (element? (hd V1383) (cons "0" (cons "1" (cons "2" (cons "3" (cons "4" (cons "5" (cons "6" (cons "7" (cons "8" (cons "9" (cons "0" ()))))))))))))) (cons (hd V1383) (shen.code-point (tl V1383)))) (true (simple-error (cn "code point parse error " (shen.app V1383 "
94
+ (defun shen.code-point (V1389) (cond ((and (cons? V1389) (= ";" (hd V1389))) "") ((and (cons? V1389) (element? (hd V1389) (cons "0" (cons "1" (cons "2" (cons "3" (cons "4" (cons "5" (cons "6" (cons "7" (cons "8" (cons "9" (cons "0" ()))))))))))))) (cons (hd V1389) (shen.code-point (tl V1389)))) (true (simple-error (cn "code point parse error " (shen.app V1389 "
94
95
  " shen.a))))))
95
96
 
96
- (defun shen.after-codepoint (V1388) (cond ((= () V1388) ()) ((and (cons? V1388) (= ";" (hd V1388))) (tl V1388)) ((cons? V1388) (shen.after-codepoint (tl V1388))) (true (shen.sys-error shen.after-codepoint))))
97
+ (defun shen.after-codepoint (V1394) (cond ((= () V1394) ()) ((and (cons? V1394) (= ";" (hd V1394))) (tl V1394)) ((cons? V1394) (shen.after-codepoint (tl V1394))) (true (shen.sys-error shen.after-codepoint))))
97
98
 
98
- (defun shen.decimalise (V1389) (shen.pre (reverse (shen.digits->integers V1389)) 0))
99
+ (defun shen.decimalise (V1395) (shen.pre (reverse (shen.digits->integers V1395)) 0))
99
100
 
100
- (defun shen.digits->integers (V1394) (cond ((and (cons? V1394) (= "0" (hd V1394))) (cons 0 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "1" (hd V1394))) (cons 1 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "2" (hd V1394))) (cons 2 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "3" (hd V1394))) (cons 3 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "4" (hd V1394))) (cons 4 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "5" (hd V1394))) (cons 5 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "6" (hd V1394))) (cons 6 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "7" (hd V1394))) (cons 7 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "8" (hd V1394))) (cons 8 (shen.digits->integers (tl V1394)))) ((and (cons? V1394) (= "9" (hd V1394))) (cons 9 (shen.digits->integers (tl V1394)))) (true ())))
101
+ (defun shen.digits->integers (V1400) (cond ((and (cons? V1400) (= "0" (hd V1400))) (cons 0 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "1" (hd V1400))) (cons 1 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "2" (hd V1400))) (cons 2 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "3" (hd V1400))) (cons 3 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "4" (hd V1400))) (cons 4 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "5" (hd V1400))) (cons 5 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "6" (hd V1400))) (cons 6 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "7" (hd V1400))) (cons 7 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "8" (hd V1400))) (cons 8 (shen.digits->integers (tl V1400)))) ((and (cons? V1400) (= "9" (hd V1400))) (cons 9 (shen.digits->integers (tl V1400)))) (true ())))
101
102
 
102
- (defun shen.<sym> (V1399) (let Result (let Parse_shen.<alpha> (shen.<alpha> V1399) (if (not (= (fail) Parse_shen.<alpha>)) (let Parse_shen.<alphanums> (shen.<alphanums> Parse_shen.<alpha>) (if (not (= (fail) Parse_shen.<alphanums>)) (shen.pair (hd Parse_shen.<alphanums>) (@s (shen.hdtl Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alphanums>))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
103
+ (defun shen.<sym> (V1405) (let Result (let Parse_shen.<alpha> (shen.<alpha> V1405) (if (not (= (fail) Parse_shen.<alpha>)) (let Parse_shen.<alphanums> (shen.<alphanums> Parse_shen.<alpha>) (if (not (= (fail) Parse_shen.<alphanums>)) (shen.pair (hd Parse_shen.<alphanums>) (@s (shen.hdtl Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alphanums>))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
103
104
 
104
- (defun shen.<alphanums> (V1404) (let Result (let Parse_shen.<alphanum> (shen.<alphanum> V1404) (if (not (= (fail) Parse_shen.<alphanum>)) (let Parse_shen.<alphanums> (shen.<alphanums> Parse_shen.<alphanum>) (if (not (= (fail) Parse_shen.<alphanums>)) (shen.pair (hd Parse_shen.<alphanums>) (@s (shen.hdtl Parse_shen.<alphanum>) (shen.hdtl Parse_shen.<alphanums>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1404) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) "") (fail))) (if (= Result (fail)) (fail) Result)) Result)))
105
+ (defun shen.<alphanums> (V1410) (let Result (let Parse_shen.<alphanum> (shen.<alphanum> V1410) (if (not (= (fail) Parse_shen.<alphanum>)) (let Parse_shen.<alphanums> (shen.<alphanums> Parse_shen.<alphanum>) (if (not (= (fail) Parse_shen.<alphanums>)) (shen.pair (hd Parse_shen.<alphanums>) (@s (shen.hdtl Parse_shen.<alphanum>) (shen.hdtl Parse_shen.<alphanums>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1410) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) "") (fail))) (if (= Result (fail)) (fail) Result)) Result)))
105
106
 
106
- (defun shen.<alphanum> (V1409) (let Result (let Parse_shen.<alpha> (shen.<alpha> V1409) (if (not (= (fail) Parse_shen.<alpha>)) (shen.pair (hd Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alpha>)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<num> (shen.<num> V1409) (if (not (= (fail) Parse_shen.<num>)) (shen.pair (hd Parse_shen.<num>) (shen.hdtl Parse_shen.<num>)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
107
+ (defun shen.<alphanum> (V1415) (let Result (let Parse_shen.<alpha> (shen.<alpha> V1415) (if (not (= (fail) Parse_shen.<alpha>)) (shen.pair (hd Parse_shen.<alpha>) (shen.hdtl Parse_shen.<alpha>)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<num> (shen.<num> V1415) (if (not (= (fail) Parse_shen.<num>)) (shen.pair (hd Parse_shen.<num>) (shen.hdtl Parse_shen.<num>)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
107
108
 
108
- (defun shen.<num> (V1414) (let Result (if (cons? (hd V1414)) (let Parse_Byte (hd (hd V1414)) (if (shen.numbyte? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1414)) (shen.hdtl V1414))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
109
+ (defun shen.<num> (V1420) (let Result (if (cons? (hd V1420)) (let Parse_Byte (hd (hd V1420)) (if (shen.numbyte? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1420)) (shen.hdtl V1420))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
109
110
 
110
- (defun shen.numbyte? (V1419) (cond ((= 48 V1419) true) ((= 49 V1419) true) ((= 50 V1419) true) ((= 51 V1419) true) ((= 52 V1419) true) ((= 53 V1419) true) ((= 54 V1419) true) ((= 55 V1419) true) ((= 56 V1419) true) ((= 57 V1419) true) (true false)))
111
+ (defun shen.numbyte? (V1425) (cond ((= 48 V1425) true) ((= 49 V1425) true) ((= 50 V1425) true) ((= 51 V1425) true) ((= 52 V1425) true) ((= 53 V1425) true) ((= 54 V1425) true) ((= 55 V1425) true) ((= 56 V1425) true) ((= 57 V1425) true) (true false)))
111
112
 
112
- (defun shen.<alpha> (V1424) (let Result (if (cons? (hd V1424)) (let Parse_Byte (hd (hd V1424)) (if (shen.symbol-code? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1424)) (shen.hdtl V1424))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
113
+ (defun shen.<alpha> (V1430) (let Result (if (cons? (hd V1430)) (let Parse_Byte (hd (hd V1430)) (if (shen.symbol-code? Parse_Byte) (shen.pair (hd (shen.pair (tl (hd V1430)) (shen.hdtl V1430))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
113
114
 
114
- (defun shen.symbol-code? (V1425) (or (= V1425 126) (or (and (> V1425 94) (< V1425 123)) (or (and (> V1425 59) (< V1425 91)) (or (and (> V1425 41) (and (< V1425 58) (not (= V1425 44)))) (or (and (> V1425 34) (< V1425 40)) (= V1425 33)))))))
115
+ (defun shen.symbol-code? (V1431) (or (= V1431 126) (or (and (> V1431 94) (< V1431 123)) (or (and (> V1431 59) (< V1431 91)) (or (and (> V1431 41) (and (< V1431 58) (not (= V1431 44)))) (or (and (> V1431 34) (< V1431 40)) (= V1431 33)))))))
115
116
 
116
- (defun shen.<str> (V1430) (let Result (let Parse_shen.<dbq> (shen.<dbq> V1430) (if (not (= (fail) Parse_shen.<dbq>)) (let Parse_shen.<strcontents> (shen.<strcontents> Parse_shen.<dbq>) (if (not (= (fail) Parse_shen.<strcontents>)) (let Parse_shen.<dbq> (shen.<dbq> Parse_shen.<strcontents>) (if (not (= (fail) Parse_shen.<dbq>)) (shen.pair (hd Parse_shen.<dbq>) (shen.hdtl Parse_shen.<strcontents>)) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
117
+ (defun shen.<str> (V1436) (let Result (let Parse_shen.<dbq> (shen.<dbq> V1436) (if (not (= (fail) Parse_shen.<dbq>)) (let Parse_shen.<strcontents> (shen.<strcontents> Parse_shen.<dbq>) (if (not (= (fail) Parse_shen.<strcontents>)) (let Parse_shen.<dbq> (shen.<dbq> Parse_shen.<strcontents>) (if (not (= (fail) Parse_shen.<dbq>)) (shen.pair (hd Parse_shen.<dbq>) (shen.hdtl Parse_shen.<strcontents>)) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
117
118
 
118
- (defun shen.<dbq> (V1435) (let Result (if (cons? (hd V1435)) (let Parse_Byte (hd (hd V1435)) (if (= Parse_Byte 34) (shen.pair (hd (shen.pair (tl (hd V1435)) (shen.hdtl V1435))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
119
+ (defun shen.<dbq> (V1441) (let Result (if (cons? (hd V1441)) (let Parse_Byte (hd (hd V1441)) (if (= Parse_Byte 34) (shen.pair (hd (shen.pair (tl (hd V1441)) (shen.hdtl V1441))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
119
120
 
120
- (defun shen.<strcontents> (V1440) (let Result (let Parse_shen.<strc> (shen.<strc> V1440) (if (not (= (fail) Parse_shen.<strc>)) (let Parse_shen.<strcontents> (shen.<strcontents> Parse_shen.<strc>) (if (not (= (fail) Parse_shen.<strcontents>)) (shen.pair (hd Parse_shen.<strcontents>) (cons (shen.hdtl Parse_shen.<strc>) (shen.hdtl Parse_shen.<strcontents>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1440) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
121
+ (defun shen.<strcontents> (V1446) (let Result (let Parse_shen.<strc> (shen.<strc> V1446) (if (not (= (fail) Parse_shen.<strc>)) (let Parse_shen.<strcontents> (shen.<strcontents> Parse_shen.<strc>) (if (not (= (fail) Parse_shen.<strcontents>)) (shen.pair (hd Parse_shen.<strcontents>) (cons (shen.hdtl Parse_shen.<strc>) (shen.hdtl Parse_shen.<strcontents>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1446) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
121
122
 
122
- (defun shen.<byte> (V1445) (let Result (if (cons? (hd V1445)) (let Parse_Byte (hd (hd V1445)) (shen.pair (hd (shen.pair (tl (hd V1445)) (shen.hdtl V1445))) (n->string Parse_Byte))) (fail)) (if (= Result (fail)) (fail) Result)))
123
+ (defun shen.<byte> (V1451) (let Result (if (cons? (hd V1451)) (let Parse_Byte (hd (hd V1451)) (shen.pair (hd (shen.pair (tl (hd V1451)) (shen.hdtl V1451))) (n->string Parse_Byte))) (fail)) (if (= Result (fail)) (fail) Result)))
123
124
 
124
- (defun shen.<strc> (V1450) (let Result (if (cons? (hd V1450)) (let Parse_Byte (hd (hd V1450)) (if (not (= Parse_Byte 34)) (shen.pair (hd (shen.pair (tl (hd V1450)) (shen.hdtl V1450))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
125
+ (defun shen.<strc> (V1456) (let Result (if (cons? (hd V1456)) (let Parse_Byte (hd (hd V1456)) (if (not (= Parse_Byte 34)) (shen.pair (hd (shen.pair (tl (hd V1456)) (shen.hdtl V1456))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
125
126
 
126
- (defun shen.<backslash> (V1455) (let Result (if (cons? (hd V1455)) (let Parse_Byte (hd (hd V1455)) (if (= Parse_Byte 92) (shen.pair (hd (shen.pair (tl (hd V1455)) (shen.hdtl V1455))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
127
+ (defun shen.<backslash> (V1461) (let Result (if (cons? (hd V1461)) (let Parse_Byte (hd (hd V1461)) (if (= Parse_Byte 92) (shen.pair (hd (shen.pair (tl (hd V1461)) (shen.hdtl V1461))) (n->string Parse_Byte)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
127
128
 
128
- (defun shen.<number> (V1460) (let Result (let Parse_shen.<minus> (shen.<minus> V1460) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<number> (shen.<number> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (- 0 (shen.hdtl Parse_shen.<number>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<plus> (shen.<plus> V1460) (if (not (= (fail) Parse_shen.<plus>)) (let Parse_shen.<number> (shen.<number> Parse_shen.<plus>) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<predigits> (shen.<predigits> V1460) (if (not (= (fail) Parse_shen.<predigits>)) (let Parse_shen.<stop> (shen.<stop> Parse_shen.<predigits>) (if (not (= (fail) Parse_shen.<stop>)) (let Parse_shen.<postdigits> (shen.<postdigits> Parse_shen.<stop>) (if (not (= (fail) Parse_shen.<postdigits>)) (let Parse_shen.<E> (shen.<E> Parse_shen.<postdigits>) (if (not (= (fail) Parse_shen.<E>)) (let Parse_shen.<log10> (shen.<log10> Parse_shen.<E>) (if (not (= (fail) Parse_shen.<log10>)) (shen.pair (hd Parse_shen.<log10>) (* (shen.expt 10 (shen.hdtl Parse_shen.<log10>)) (+ (shen.pre (reverse (shen.hdtl Parse_shen.<predigits>)) 0) (shen.post (shen.hdtl Parse_shen.<postdigits>) 1)))) (fail))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1460) (if (not (= (fail) Parse_shen.<digits>)) (let Parse_shen.<E> (shen.<E> Parse_shen.<digits>) (if (not (= (fail) Parse_shen.<E>)) (let Parse_shen.<log10> (shen.<log10> Parse_shen.<E>) (if (not (= (fail) Parse_shen.<log10>)) (shen.pair (hd Parse_shen.<log10>) (* (shen.expt 10 (shen.hdtl Parse_shen.<log10>)) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<predigits> (shen.<predigits> V1460) (if (not (= (fail) Parse_shen.<predigits>)) (let Parse_shen.<stop> (shen.<stop> Parse_shen.<predigits>) (if (not (= (fail) Parse_shen.<stop>)) (let Parse_shen.<postdigits> (shen.<postdigits> Parse_shen.<stop>) (if (not (= (fail) Parse_shen.<postdigits>)) (shen.pair (hd Parse_shen.<postdigits>) (+ (shen.pre (reverse (shen.hdtl Parse_shen.<predigits>)) 0) (shen.post (shen.hdtl Parse_shen.<postdigits>) 1))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1460) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)) Result)) Result)))
129
+ (defun shen.<number> (V1466) (let Result (let Parse_shen.<minus> (shen.<minus> V1466) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<number> (shen.<number> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (- 0 (shen.hdtl Parse_shen.<number>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<plus> (shen.<plus> V1466) (if (not (= (fail) Parse_shen.<plus>)) (let Parse_shen.<number> (shen.<number> Parse_shen.<plus>) (if (not (= (fail) Parse_shen.<number>)) (shen.pair (hd Parse_shen.<number>) (shen.hdtl Parse_shen.<number>)) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<predigits> (shen.<predigits> V1466) (if (not (= (fail) Parse_shen.<predigits>)) (let Parse_shen.<stop> (shen.<stop> Parse_shen.<predigits>) (if (not (= (fail) Parse_shen.<stop>)) (let Parse_shen.<postdigits> (shen.<postdigits> Parse_shen.<stop>) (if (not (= (fail) Parse_shen.<postdigits>)) (let Parse_shen.<E> (shen.<E> Parse_shen.<postdigits>) (if (not (= (fail) Parse_shen.<E>)) (let Parse_shen.<log10> (shen.<log10> Parse_shen.<E>) (if (not (= (fail) Parse_shen.<log10>)) (shen.pair (hd Parse_shen.<log10>) (* (shen.expt 10 (shen.hdtl Parse_shen.<log10>)) (+ (shen.pre (reverse (shen.hdtl Parse_shen.<predigits>)) 0) (shen.post (shen.hdtl Parse_shen.<postdigits>) 1)))) (fail))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1466) (if (not (= (fail) Parse_shen.<digits>)) (let Parse_shen.<E> (shen.<E> Parse_shen.<digits>) (if (not (= (fail) Parse_shen.<E>)) (let Parse_shen.<log10> (shen.<log10> Parse_shen.<E>) (if (not (= (fail) Parse_shen.<log10>)) (shen.pair (hd Parse_shen.<log10>) (* (shen.expt 10 (shen.hdtl Parse_shen.<log10>)) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<predigits> (shen.<predigits> V1466) (if (not (= (fail) Parse_shen.<predigits>)) (let Parse_shen.<stop> (shen.<stop> Parse_shen.<predigits>) (if (not (= (fail) Parse_shen.<stop>)) (let Parse_shen.<postdigits> (shen.<postdigits> Parse_shen.<stop>) (if (not (= (fail) Parse_shen.<postdigits>)) (shen.pair (hd Parse_shen.<postdigits>) (+ (shen.pre (reverse (shen.hdtl Parse_shen.<predigits>)) 0) (shen.post (shen.hdtl Parse_shen.<postdigits>) 1))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1466) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)) Result)) Result)) Result)))
129
130
 
130
- (defun shen.<E> (V1465) (let Result (if (and (cons? (hd V1465)) (= 101 (hd (hd V1465)))) (shen.pair (hd (shen.pair (tl (hd V1465)) (shen.hdtl V1465))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
131
+ (defun shen.<E> (V1471) (let Result (if (and (cons? (hd V1471)) (= 101 (hd (hd V1471)))) (shen.pair (hd (shen.pair (tl (hd V1471)) (shen.hdtl V1471))) shen.skip) (fail)) (if (= Result (fail)) (fail) Result)))
131
132
 
132
- (defun shen.<log10> (V1470) (let Result (let Parse_shen.<minus> (shen.<minus> V1470) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<digits> (shen.<digits> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (- 0 (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1470) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
133
+ (defun shen.<log10> (V1476) (let Result (let Parse_shen.<minus> (shen.<minus> V1476) (if (not (= (fail) Parse_shen.<minus>)) (let Parse_shen.<digits> (shen.<digits> Parse_shen.<minus>) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (- 0 (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digits> (shen.<digits> V1476) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.pre (reverse (shen.hdtl Parse_shen.<digits>)) 0)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
133
134
 
134
- (defun shen.<plus> (V1475) (let Result (if (cons? (hd V1475)) (let Parse_Byte (hd (hd V1475)) (if (= Parse_Byte 43) (shen.pair (hd (shen.pair (tl (hd V1475)) (shen.hdtl V1475))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
135
+ (defun shen.<plus> (V1481) (let Result (if (cons? (hd V1481)) (let Parse_Byte (hd (hd V1481)) (if (= Parse_Byte 43) (shen.pair (hd (shen.pair (tl (hd V1481)) (shen.hdtl V1481))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
135
136
 
136
- (defun shen.<stop> (V1480) (let Result (if (cons? (hd V1480)) (let Parse_Byte (hd (hd V1480)) (if (= Parse_Byte 46) (shen.pair (hd (shen.pair (tl (hd V1480)) (shen.hdtl V1480))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
137
+ (defun shen.<stop> (V1486) (let Result (if (cons? (hd V1486)) (let Parse_Byte (hd (hd V1486)) (if (= Parse_Byte 46) (shen.pair (hd (shen.pair (tl (hd V1486)) (shen.hdtl V1486))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
137
138
 
138
- (defun shen.<predigits> (V1485) (let Result (let Parse_shen.<digits> (shen.<digits> V1485) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1485) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
139
+ (defun shen.<predigits> (V1491) (let Result (let Parse_shen.<digits> (shen.<digits> V1491) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1491) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
139
140
 
140
- (defun shen.<postdigits> (V1490) (let Result (let Parse_shen.<digits> (shen.<digits> V1490) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= Result (fail)) (fail) Result)))
141
+ (defun shen.<postdigits> (V1496) (let Result (let Parse_shen.<digits> (shen.<digits> V1496) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (shen.hdtl Parse_shen.<digits>)) (fail))) (if (= Result (fail)) (fail) Result)))
141
142
 
142
- (defun shen.<digits> (V1495) (let Result (let Parse_shen.<digit> (shen.<digit> V1495) (if (not (= (fail) Parse_shen.<digit>)) (let Parse_shen.<digits> (shen.<digits> Parse_shen.<digit>) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (cons (shen.hdtl Parse_shen.<digit>) (shen.hdtl Parse_shen.<digits>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digit> (shen.<digit> V1495) (if (not (= (fail) Parse_shen.<digit>)) (shen.pair (hd Parse_shen.<digit>) (cons (shen.hdtl Parse_shen.<digit>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
143
+ (defun shen.<digits> (V1501) (let Result (let Parse_shen.<digit> (shen.<digit> V1501) (if (not (= (fail) Parse_shen.<digit>)) (let Parse_shen.<digits> (shen.<digits> Parse_shen.<digit>) (if (not (= (fail) Parse_shen.<digits>)) (shen.pair (hd Parse_shen.<digits>) (cons (shen.hdtl Parse_shen.<digit>) (shen.hdtl Parse_shen.<digits>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<digit> (shen.<digit> V1501) (if (not (= (fail) Parse_shen.<digit>)) (shen.pair (hd Parse_shen.<digit>) (cons (shen.hdtl Parse_shen.<digit>) ())) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
143
144
 
144
- (defun shen.<digit> (V1500) (let Result (if (cons? (hd V1500)) (let Parse_X (hd (hd V1500)) (if (shen.numbyte? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1500)) (shen.hdtl V1500))) (shen.byte->digit Parse_X)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
145
+ (defun shen.<digit> (V1506) (let Result (if (cons? (hd V1506)) (let Parse_X (hd (hd V1506)) (if (shen.numbyte? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1506)) (shen.hdtl V1506))) (shen.byte->digit Parse_X)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
145
146
 
146
- (defun shen.byte->digit (V1501) (cond ((= 48 V1501) 0) ((= 49 V1501) 1) ((= 50 V1501) 2) ((= 51 V1501) 3) ((= 52 V1501) 4) ((= 53 V1501) 5) ((= 54 V1501) 6) ((= 55 V1501) 7) ((= 56 V1501) 8) ((= 57 V1501) 9) (true (shen.sys-error shen.byte->digit))))
147
+ (defun shen.byte->digit (V1507) (cond ((= 48 V1507) 0) ((= 49 V1507) 1) ((= 50 V1507) 2) ((= 51 V1507) 3) ((= 52 V1507) 4) ((= 53 V1507) 5) ((= 54 V1507) 6) ((= 55 V1507) 7) ((= 56 V1507) 8) ((= 57 V1507) 9) (true (shen.sys-error shen.byte->digit))))
147
148
 
148
- (defun shen.pre (V1504 V1505) (cond ((= () V1504) 0) ((cons? V1504) (+ (* (shen.expt 10 V1505) (hd V1504)) (shen.pre (tl V1504) (+ V1505 1)))) (true (shen.sys-error shen.pre))))
149
+ (defun shen.pre (V1510 V1511) (cond ((= () V1510) 0) ((cons? V1510) (+ (* (shen.expt 10 V1511) (hd V1510)) (shen.pre (tl V1510) (+ V1511 1)))) (true (shen.sys-error shen.pre))))
149
150
 
150
- (defun shen.post (V1508 V1509) (cond ((= () V1508) 0) ((cons? V1508) (+ (* (shen.expt 10 (- 0 V1509)) (hd V1508)) (shen.post (tl V1508) (+ V1509 1)))) (true (shen.sys-error shen.post))))
151
+ (defun shen.post (V1514 V1515) (cond ((= () V1514) 0) ((cons? V1514) (+ (* (shen.expt 10 (- 0 V1515)) (hd V1514)) (shen.post (tl V1514) (+ V1515 1)))) (true (shen.sys-error shen.post))))
151
152
 
152
- (defun shen.expt (V1512 V1513) (cond ((= 0 V1513) 1) ((> V1513 0) (* V1512 (shen.expt V1512 (- V1513 1)))) (true (* 1 (/ (shen.expt V1512 (+ V1513 1)) V1512)))))
153
+ (defun shen.expt (V1518 V1519) (cond ((= 0 V1519) 1) ((> V1519 0) (* V1518 (shen.expt V1518 (- V1519 1)))) (true (* 1 (/ (shen.expt V1518 (+ V1519 1)) V1518)))))
153
154
 
154
- (defun shen.<st_input1> (V1518) (let Result (let Parse_shen.<st_input> (shen.<st_input> V1518) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (if (= Result (fail)) (fail) Result)))
155
+ (defun shen.<st_input1> (V1524) (let Result (let Parse_shen.<st_input> (shen.<st_input> V1524) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (if (= Result (fail)) (fail) Result)))
155
156
 
156
- (defun shen.<st_input2> (V1523) (let Result (let Parse_shen.<st_input> (shen.<st_input> V1523) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (if (= Result (fail)) (fail) Result)))
157
+ (defun shen.<st_input2> (V1529) (let Result (let Parse_shen.<st_input> (shen.<st_input> V1529) (if (not (= (fail) Parse_shen.<st_input>)) (shen.pair (hd Parse_shen.<st_input>) (shen.hdtl Parse_shen.<st_input>)) (fail))) (if (= Result (fail)) (fail) Result)))
157
158
 
158
- (defun shen.<comment> (V1528) (let Result (let Parse_shen.<backslash> (shen.<backslash> V1528) (if (not (= (fail) Parse_shen.<backslash>)) (let Parse_shen.<times> (shen.<times> Parse_shen.<backslash>) (if (not (= (fail) Parse_shen.<times>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<times>) (if (not (= (fail) Parse_shen.<any>)) (let Parse_shen.<times> (shen.<times> Parse_shen.<any>) (if (not (= (fail) Parse_shen.<times>)) (let Parse_shen.<backslash> (shen.<backslash> Parse_shen.<times>) (if (not (= (fail) Parse_shen.<backslash>)) (shen.pair (hd Parse_shen.<backslash>) shen.skip) (fail))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
159
+ (defun shen.<comment> (V1534) (let Result (let Parse_shen.<backslash> (shen.<backslash> V1534) (if (not (= (fail) Parse_shen.<backslash>)) (let Parse_shen.<times> (shen.<times> Parse_shen.<backslash>) (if (not (= (fail) Parse_shen.<times>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<times>) (if (not (= (fail) Parse_shen.<any>)) (let Parse_shen.<times> (shen.<times> Parse_shen.<any>) (if (not (= (fail) Parse_shen.<times>)) (let Parse_shen.<backslash> (shen.<backslash> Parse_shen.<times>) (if (not (= (fail) Parse_shen.<backslash>)) (shen.pair (hd Parse_shen.<backslash>) shen.skip) (fail))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)))
159
160
 
160
- (defun shen.<times> (V1533) (let Result (if (cons? (hd V1533)) (let Parse_Byte (hd (hd V1533)) (if (= Parse_Byte 42) (shen.pair (hd (shen.pair (tl (hd V1533)) (shen.hdtl V1533))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
161
+ (defun shen.<times> (V1539) (let Result (if (cons? (hd V1539)) (let Parse_Byte (hd (hd V1539)) (if (= Parse_Byte 42) (shen.pair (hd (shen.pair (tl (hd V1539)) (shen.hdtl V1539))) Parse_Byte) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
161
162
 
162
- (defun shen.<any> (V1538) (let Result (let Parse_shen.<comment> (shen.<comment> V1538) (if (not (= (fail) Parse_shen.<comment>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<comment>) (if (not (= (fail) Parse_shen.<any>)) (shen.pair (hd Parse_shen.<any>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<blah> (shen.<blah> V1538) (if (not (= (fail) Parse_shen.<blah>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<blah>) (if (not (= (fail) Parse_shen.<any>)) (shen.pair (hd Parse_shen.<any>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1538) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
163
+ (defun shen.<any> (V1544) (let Result (let Parse_shen.<comment> (shen.<comment> V1544) (if (not (= (fail) Parse_shen.<comment>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<comment>) (if (not (= (fail) Parse_shen.<any>)) (shen.pair (hd Parse_shen.<any>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<blah> (shen.<blah> V1544) (if (not (= (fail) Parse_shen.<blah>)) (let Parse_shen.<any> (shen.<any> Parse_shen.<blah>) (if (not (= (fail) Parse_shen.<any>)) (shen.pair (hd Parse_shen.<any>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1544) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
163
164
 
164
- (defun shen.<blah> (V1551) (cond ((and (cons? V1551) (and (cons? (hd V1551)) (and (= 42 (hd (hd V1551))) (and (cons? (tl (hd V1551))) (= 92 (hd (tl (hd V1551)))))))) (fail)) ((and (cons? V1551) (and (cons? (hd V1551)) (and (cons? (tl V1551)) (= () (tl (tl V1551)))))) (cons (tl (hd V1551)) (cons shen.skip ()))) (true (fail))))
165
+ (defun shen.<blah> (V1557) (cond ((and (cons? V1557) (and (cons? (hd V1557)) (and (= 42 (hd (hd V1557))) (and (cons? (tl (hd V1557))) (= 92 (hd (tl (hd V1557)))))))) (fail)) ((and (cons? V1557) (and (cons? (hd V1557)) (and (cons? (tl V1557)) (= () (tl (tl V1557)))))) (cons (tl (hd V1557)) (cons shen.skip ()))) (true (fail))))
165
166
 
166
- (defun shen.<whitespaces> (V1556) (let Result (let Parse_shen.<whitespace> (shen.<whitespace> V1556) (if (not (= (fail) Parse_shen.<whitespace>)) (let Parse_shen.<whitespaces> (shen.<whitespaces> Parse_shen.<whitespace>) (if (not (= (fail) Parse_shen.<whitespaces>)) (shen.pair (hd Parse_shen.<whitespaces>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<whitespace> (shen.<whitespace> V1556) (if (not (= (fail) Parse_shen.<whitespace>)) (shen.pair (hd Parse_shen.<whitespace>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
167
+ (defun shen.<whitespaces> (V1562) (let Result (let Parse_shen.<whitespace> (shen.<whitespace> V1562) (if (not (= (fail) Parse_shen.<whitespace>)) (let Parse_shen.<whitespaces> (shen.<whitespaces> Parse_shen.<whitespace>) (if (not (= (fail) Parse_shen.<whitespaces>)) (shen.pair (hd Parse_shen.<whitespaces>) shen.skip) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<whitespace> (shen.<whitespace> V1562) (if (not (= (fail) Parse_shen.<whitespace>)) (shen.pair (hd Parse_shen.<whitespace>) shen.skip) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
167
168
 
168
- (defun shen.<whitespace> (V1561) (let Result (if (cons? (hd V1561)) (let Parse_X (hd (hd V1561)) (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 V1561)) (shen.hdtl V1561))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
169
+ (defun shen.<whitespace> (V1567) (let Result (if (cons? (hd V1567)) (let Parse_X (hd (hd V1567)) (if (let Parse_Case Parse_X (or (= Parse_Case 32) (or (= Parse_Case 13) (or (= Parse_Case 10) (= Parse_Case 9))))) (shen.pair (hd (shen.pair (tl (hd V1567)) (shen.hdtl V1567))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
169
170
 
170
- (defun shen.cons_form (V1562) (cond ((= () V1562) ()) ((and (cons? V1562) (and (cons? (tl V1562)) (and (cons? (tl (tl V1562))) (and (= () (tl (tl (tl V1562)))) (= (hd (tl V1562)) bar!))))) (cons cons (cons (hd V1562) (tl (tl V1562))))) ((cons? V1562) (cons cons (cons (hd V1562) (cons (shen.cons_form (tl V1562)) ())))) (true (shen.sys-error shen.cons_form))))
171
+ (defun shen.cons_form (V1568) (cond ((= () V1568) ()) ((and (cons? V1568) (and (cons? (tl V1568)) (and (cons? (tl (tl V1568))) (and (= () (tl (tl (tl V1568)))) (= (hd (tl V1568)) bar!))))) (cons cons (cons (hd V1568) (tl (tl V1568))))) ((cons? V1568) (cons cons (cons (hd V1568) (cons (shen.cons_form (tl V1568)) ())))) (true (shen.sys-error shen.cons_form))))
171
172
 
172
- (defun shen.package-macro (V1565 V1566) (cond ((and (cons? V1565) (and (= $ (hd V1565)) (and (cons? (tl V1565)) (= () (tl (tl V1565)))))) (append (explode (hd (tl V1565))) V1566)) ((and (cons? V1565) (and (= package (hd V1565)) (and (cons? (tl V1565)) (and (= null (hd (tl V1565))) (cons? (tl (tl V1565))))))) (append (tl (tl (tl V1565))) V1566)) ((and (cons? V1565) (and (= package (hd V1565)) (and (cons? (tl V1565)) (cons? (tl (tl V1565)))))) (let ListofExceptions (shen.eval-without-macros (hd (tl (tl V1565)))) (let Record (shen.record-exceptions ListofExceptions (hd (tl V1565))) (let PackageNameDot (intern (cn (str (hd (tl V1565))) ".")) (append (shen.packageh PackageNameDot ListofExceptions (tl (tl (tl V1565)))) V1566))))) (true (cons V1565 V1566))))
173
+ (defun shen.package-macro (V1571 V1572) (cond ((and (cons? V1571) (and (= $ (hd V1571)) (and (cons? (tl V1571)) (= () (tl (tl V1571)))))) (append (explode (hd (tl V1571))) V1572)) ((and (cons? V1571) (and (= package (hd V1571)) (and (cons? (tl V1571)) (and (= null (hd (tl V1571))) (cons? (tl (tl V1571))))))) (append (tl (tl (tl V1571))) V1572)) ((and (cons? V1571) (and (= package (hd V1571)) (and (cons? (tl V1571)) (cons? (tl (tl V1571)))))) (let ListofExceptions (shen.eval-without-macros (hd (tl (tl V1571)))) (let Record (shen.record-exceptions ListofExceptions (hd (tl V1571))) (let PackageNameDot (intern (cn (str (hd (tl V1571))) ".")) (append (shen.packageh PackageNameDot ListofExceptions (tl (tl (tl V1571)))) V1572))))) (true (cons V1571 V1572))))
173
174
 
174
- (defun shen.record-exceptions (V1567 V1568) (let CurrExceptions (trap-error (get V1568 shen.external-symbols (value *property-vector*)) (lambda E ())) (let AllExceptions (union V1567 CurrExceptions) (put V1568 shen.external-symbols AllExceptions (value *property-vector*)))))
175
+ (defun shen.record-exceptions (V1573 V1574) (let CurrExceptions (trap-error (get V1574 shen.external-symbols (value *property-vector*)) (lambda E ())) (let AllExceptions (union V1573 CurrExceptions) (put V1574 shen.external-symbols AllExceptions (value *property-vector*)))))
175
176
 
176
- (defun shen.packageh (V1577 V1578 V1579) (cond ((cons? V1579) (cons (shen.packageh V1577 V1578 (hd V1579)) (shen.packageh V1577 V1578 (tl V1579)))) ((or (shen.sysfunc? V1579) (or (variable? V1579) (or (element? V1579 V1578) (or (shen.doubleunderline? V1579) (shen.singleunderline? V1579))))) V1579) ((and (symbol? V1579) (not (shen.prefix? (cons "s" (cons "h" (cons "e" (cons "n" (cons "." ()))))) (explode V1579)))) (concat V1577 V1579)) (true V1579)))
177
+ (defun shen.packageh (V1583 V1584 V1585) (cond ((cons? V1585) (cons (shen.packageh V1583 V1584 (hd V1585)) (shen.packageh V1583 V1584 (tl V1585)))) ((or (shen.sysfunc? V1585) (or (variable? V1585) (or (element? V1585 V1584) (or (shen.doubleunderline? V1585) (shen.singleunderline? V1585))))) V1585) ((and (symbol? V1585) (not (shen.prefix? (cons "s" (cons "h" (cons "e" (cons "n" (cons "." ()))))) (explode V1585)))) (concat V1583 V1585)) (true V1585)))
177
178
 
178
- (defun read-from-string (V1580) (let Ns (map (lambda V1298 (string->n V1298)) (explode V1580)) (compile shen.<st_input> Ns shen.read-error)))
179
+ (defun read-from-string (V1586) (let Ns (map (lambda V1298 (string->n V1298)) (explode V1586)) (compile shen.<st_input> Ns shen.read-error)))
179
180
 
180
181
 
181
182
 
@@ -47,110 +47,110 @@
47
47
  * explains this license in full. *
48
48
  * *
49
49
  *****************************************************************************************
50
- "(defun shen.datatype-error (V1585) (cond ((and (cons? V1585) (and (cons? (tl V1585)) (= () (tl (tl V1585))))) (simple-error (cn "datatype syntax error here:
50
+ "(defun shen.datatype-error (V1591) (cond ((and (cons? V1591) (and (cons? (tl V1591)) (= () (tl (tl V1591))))) (simple-error (cn "datatype syntax error here:
51
51
 
52
- " (shen.app (shen.next-50 50 (hd V1585)) "
52
+ " (shen.app (shen.next-50 50 (hd V1591)) "
53
53
  " shen.a)))) (true (shen.sys-error shen.datatype-error))))
54
54
 
55
- (defun shen.<datatype-rules> (V1590) (let Result (let Parse_shen.<datatype-rule> (shen.<datatype-rule> V1590) (if (not (= (fail) Parse_shen.<datatype-rule>)) (let Parse_shen.<datatype-rules> (shen.<datatype-rules> Parse_shen.<datatype-rule>) (if (not (= (fail) Parse_shen.<datatype-rules>)) (shen.pair (hd Parse_shen.<datatype-rules>) (cons (shen.hdtl Parse_shen.<datatype-rule>) (shen.hdtl Parse_shen.<datatype-rules>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1590) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
55
+ (defun shen.<datatype-rules> (V1596) (let Result (let Parse_shen.<datatype-rule> (shen.<datatype-rule> V1596) (if (not (= (fail) Parse_shen.<datatype-rule>)) (let Parse_shen.<datatype-rules> (shen.<datatype-rules> Parse_shen.<datatype-rule>) (if (not (= (fail) Parse_shen.<datatype-rules>)) (shen.pair (hd Parse_shen.<datatype-rules>) (cons (shen.hdtl Parse_shen.<datatype-rule>) (shen.hdtl Parse_shen.<datatype-rules>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1596) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
56
56
 
57
- (defun shen.<datatype-rule> (V1595) (let Result (let Parse_shen.<side-conditions> (shen.<side-conditions> V1595) (if (not (= (fail) Parse_shen.<side-conditions>)) (let Parse_shen.<premises> (shen.<premises> Parse_shen.<side-conditions>) (if (not (= (fail) Parse_shen.<premises>)) (let Parse_shen.<singleunderline> (shen.<singleunderline> Parse_shen.<premises>) (if (not (= (fail) Parse_shen.<singleunderline>)) (let Parse_shen.<conclusion> (shen.<conclusion> Parse_shen.<singleunderline>) (if (not (= (fail) Parse_shen.<conclusion>)) (shen.pair (hd Parse_shen.<conclusion>) (shen.sequent shen.single (cons (shen.hdtl Parse_shen.<side-conditions>) (cons (shen.hdtl Parse_shen.<premises>) (cons (shen.hdtl Parse_shen.<conclusion>) ()))))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<side-conditions> (shen.<side-conditions> V1595) (if (not (= (fail) Parse_shen.<side-conditions>)) (let Parse_shen.<premises> (shen.<premises> Parse_shen.<side-conditions>) (if (not (= (fail) Parse_shen.<premises>)) (let Parse_shen.<doubleunderline> (shen.<doubleunderline> Parse_shen.<premises>) (if (not (= (fail) Parse_shen.<doubleunderline>)) (let Parse_shen.<conclusion> (shen.<conclusion> Parse_shen.<doubleunderline>) (if (not (= (fail) Parse_shen.<conclusion>)) (shen.pair (hd Parse_shen.<conclusion>) (shen.sequent shen.double (cons (shen.hdtl Parse_shen.<side-conditions>) (cons (shen.hdtl Parse_shen.<premises>) (cons (shen.hdtl Parse_shen.<conclusion>) ()))))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
57
+ (defun shen.<datatype-rule> (V1601) (let Result (let Parse_shen.<side-conditions> (shen.<side-conditions> V1601) (if (not (= (fail) Parse_shen.<side-conditions>)) (let Parse_shen.<premises> (shen.<premises> Parse_shen.<side-conditions>) (if (not (= (fail) Parse_shen.<premises>)) (let Parse_shen.<singleunderline> (shen.<singleunderline> Parse_shen.<premises>) (if (not (= (fail) Parse_shen.<singleunderline>)) (let Parse_shen.<conclusion> (shen.<conclusion> Parse_shen.<singleunderline>) (if (not (= (fail) Parse_shen.<conclusion>)) (shen.pair (hd Parse_shen.<conclusion>) (shen.sequent shen.single (cons (shen.hdtl Parse_shen.<side-conditions>) (cons (shen.hdtl Parse_shen.<premises>) (cons (shen.hdtl Parse_shen.<conclusion>) ()))))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<side-conditions> (shen.<side-conditions> V1601) (if (not (= (fail) Parse_shen.<side-conditions>)) (let Parse_shen.<premises> (shen.<premises> Parse_shen.<side-conditions>) (if (not (= (fail) Parse_shen.<premises>)) (let Parse_shen.<doubleunderline> (shen.<doubleunderline> Parse_shen.<premises>) (if (not (= (fail) Parse_shen.<doubleunderline>)) (let Parse_shen.<conclusion> (shen.<conclusion> Parse_shen.<doubleunderline>) (if (not (= (fail) Parse_shen.<conclusion>)) (shen.pair (hd Parse_shen.<conclusion>) (shen.sequent shen.double (cons (shen.hdtl Parse_shen.<side-conditions>) (cons (shen.hdtl Parse_shen.<premises>) (cons (shen.hdtl Parse_shen.<conclusion>) ()))))) (fail))) (fail))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
58
58
 
59
- (defun shen.<side-conditions> (V1600) (let Result (let Parse_shen.<side-condition> (shen.<side-condition> V1600) (if (not (= (fail) Parse_shen.<side-condition>)) (let Parse_shen.<side-conditions> (shen.<side-conditions> Parse_shen.<side-condition>) (if (not (= (fail) Parse_shen.<side-conditions>)) (shen.pair (hd Parse_shen.<side-conditions>) (cons (shen.hdtl Parse_shen.<side-condition>) (shen.hdtl Parse_shen.<side-conditions>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1600) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
59
+ (defun shen.<side-conditions> (V1606) (let Result (let Parse_shen.<side-condition> (shen.<side-condition> V1606) (if (not (= (fail) Parse_shen.<side-condition>)) (let Parse_shen.<side-conditions> (shen.<side-conditions> Parse_shen.<side-condition>) (if (not (= (fail) Parse_shen.<side-conditions>)) (shen.pair (hd Parse_shen.<side-conditions>) (cons (shen.hdtl Parse_shen.<side-condition>) (shen.hdtl Parse_shen.<side-conditions>))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1606) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
60
60
 
61
- (defun shen.<side-condition> (V1605) (let Result (if (and (cons? (hd V1605)) (= if (hd (hd V1605)))) (let Parse_shen.<expr> (shen.<expr> (shen.pair (tl (hd V1605)) (shen.hdtl V1605))) (if (not (= (fail) Parse_shen.<expr>)) (shen.pair (hd Parse_shen.<expr>) (cons if (cons (shen.hdtl Parse_shen.<expr>) ()))) (fail))) (fail)) (if (= Result (fail)) (let Result (if (and (cons? (hd V1605)) (= let (hd (hd V1605)))) (let Parse_shen.<variable?> (shen.<variable?> (shen.pair (tl (hd V1605)) (shen.hdtl V1605))) (if (not (= (fail) Parse_shen.<variable?>)) (let Parse_shen.<expr> (shen.<expr> Parse_shen.<variable?>) (if (not (= (fail) Parse_shen.<expr>)) (shen.pair (hd Parse_shen.<expr>) (cons let (cons (shen.hdtl Parse_shen.<variable?>) (cons (shen.hdtl Parse_shen.<expr>) ())))) (fail))) (fail))) (fail)) (if (= Result (fail)) (fail) Result)) Result)))
61
+ (defun shen.<side-condition> (V1611) (let Result (if (and (cons? (hd V1611)) (= if (hd (hd V1611)))) (let Parse_shen.<expr> (shen.<expr> (shen.pair (tl (hd V1611)) (shen.hdtl V1611))) (if (not (= (fail) Parse_shen.<expr>)) (shen.pair (hd Parse_shen.<expr>) (cons if (cons (shen.hdtl Parse_shen.<expr>) ()))) (fail))) (fail)) (if (= Result (fail)) (let Result (if (and (cons? (hd V1611)) (= let (hd (hd V1611)))) (let Parse_shen.<variable?> (shen.<variable?> (shen.pair (tl (hd V1611)) (shen.hdtl V1611))) (if (not (= (fail) Parse_shen.<variable?>)) (let Parse_shen.<expr> (shen.<expr> Parse_shen.<variable?>) (if (not (= (fail) Parse_shen.<expr>)) (shen.pair (hd Parse_shen.<expr>) (cons let (cons (shen.hdtl Parse_shen.<variable?>) (cons (shen.hdtl Parse_shen.<expr>) ())))) (fail))) (fail))) (fail)) (if (= Result (fail)) (fail) Result)) Result)))
62
62
 
63
- (defun shen.<variable?> (V1610) (let Result (if (cons? (hd V1610)) (let Parse_X (hd (hd V1610)) (if (variable? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1610)) (shen.hdtl V1610))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
63
+ (defun shen.<variable?> (V1616) (let Result (if (cons? (hd V1616)) (let Parse_X (hd (hd V1616)) (if (variable? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1616)) (shen.hdtl V1616))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
64
64
 
65
- (defun shen.<expr> (V1615) (let Result (if (cons? (hd V1615)) (let Parse_X (hd (hd V1615)) (if (not (or (element? Parse_X (cons >> (cons ; ()))) (or (shen.singleunderline? Parse_X) (shen.doubleunderline? Parse_X)))) (shen.pair (hd (shen.pair (tl (hd V1615)) (shen.hdtl V1615))) (shen.remove-bar Parse_X)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
65
+ (defun shen.<expr> (V1621) (let Result (if (cons? (hd V1621)) (let Parse_X (hd (hd V1621)) (if (not (or (element? Parse_X (cons >> (cons ; ()))) (or (shen.singleunderline? Parse_X) (shen.doubleunderline? Parse_X)))) (shen.pair (hd (shen.pair (tl (hd V1621)) (shen.hdtl V1621))) (shen.remove-bar Parse_X)) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
66
66
 
67
- (defun shen.remove-bar (V1616) (cond ((and (cons? V1616) (and (cons? (tl V1616)) (and (cons? (tl (tl V1616))) (and (= () (tl (tl (tl V1616)))) (= (hd (tl V1616)) bar!))))) (cons (hd V1616) (hd (tl (tl V1616))))) ((cons? V1616) (cons (shen.remove-bar (hd V1616)) (shen.remove-bar (tl V1616)))) (true V1616)))
67
+ (defun shen.remove-bar (V1622) (cond ((and (cons? V1622) (and (cons? (tl V1622)) (and (cons? (tl (tl V1622))) (and (= () (tl (tl (tl V1622)))) (= (hd (tl V1622)) bar!))))) (cons (hd V1622) (hd (tl (tl V1622))))) ((cons? V1622) (cons (shen.remove-bar (hd V1622)) (shen.remove-bar (tl V1622)))) (true V1622)))
68
68
 
69
- (defun shen.<premises> (V1621) (let Result (let Parse_shen.<premise> (shen.<premise> V1621) (if (not (= (fail) Parse_shen.<premise>)) (let Parse_shen.<semicolon-symbol> (shen.<semicolon-symbol> Parse_shen.<premise>) (if (not (= (fail) Parse_shen.<semicolon-symbol>)) (let Parse_shen.<premises> (shen.<premises> Parse_shen.<semicolon-symbol>) (if (not (= (fail) Parse_shen.<premises>)) (shen.pair (hd Parse_shen.<premises>) (cons (shen.hdtl Parse_shen.<premise>) (shen.hdtl Parse_shen.<premises>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1621) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
69
+ (defun shen.<premises> (V1627) (let Result (let Parse_shen.<premise> (shen.<premise> V1627) (if (not (= (fail) Parse_shen.<premise>)) (let Parse_shen.<semicolon-symbol> (shen.<semicolon-symbol> Parse_shen.<premise>) (if (not (= (fail) Parse_shen.<semicolon-symbol>)) (let Parse_shen.<premises> (shen.<premises> Parse_shen.<semicolon-symbol>) (if (not (= (fail) Parse_shen.<premises>)) (shen.pair (hd Parse_shen.<premises>) (cons (shen.hdtl Parse_shen.<premise>) (shen.hdtl Parse_shen.<premises>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1627) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
70
70
 
71
- (defun shen.<semicolon-symbol> (V1626) (let Result (if (cons? (hd V1626)) (let Parse_X (hd (hd V1626)) (if (= Parse_X ;) (shen.pair (hd (shen.pair (tl (hd V1626)) (shen.hdtl V1626))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
71
+ (defun shen.<semicolon-symbol> (V1632) (let Result (if (cons? (hd V1632)) (let Parse_X (hd (hd V1632)) (if (= Parse_X ;) (shen.pair (hd (shen.pair (tl (hd V1632)) (shen.hdtl V1632))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
72
72
 
73
- (defun shen.<premise> (V1631) (let Result (if (and (cons? (hd V1631)) (= ! (hd (hd V1631)))) (shen.pair (hd (shen.pair (tl (hd V1631)) (shen.hdtl V1631))) !) (fail)) (if (= Result (fail)) (let Result (let Parse_shen.<formulae> (shen.<formulae> V1631) (if (not (= (fail) Parse_shen.<formulae>)) (if (and (cons? (hd Parse_shen.<formulae>)) (= >> (hd (hd Parse_shen.<formulae>)))) (let Parse_shen.<formula> (shen.<formula> (shen.pair (tl (hd Parse_shen.<formulae>)) (shen.hdtl Parse_shen.<formulae>))) (if (not (= (fail) Parse_shen.<formula>)) (shen.pair (hd Parse_shen.<formula>) (shen.sequent (shen.hdtl Parse_shen.<formulae>) (shen.hdtl Parse_shen.<formula>))) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<formula> (shen.<formula> V1631) (if (not (= (fail) Parse_shen.<formula>)) (shen.pair (hd Parse_shen.<formula>) (shen.sequent () (shen.hdtl Parse_shen.<formula>))) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
73
+ (defun shen.<premise> (V1637) (let Result (if (and (cons? (hd V1637)) (= ! (hd (hd V1637)))) (shen.pair (hd (shen.pair (tl (hd V1637)) (shen.hdtl V1637))) !) (fail)) (if (= Result (fail)) (let Result (let Parse_shen.<formulae> (shen.<formulae> V1637) (if (not (= (fail) Parse_shen.<formulae>)) (if (and (cons? (hd Parse_shen.<formulae>)) (= >> (hd (hd Parse_shen.<formulae>)))) (let Parse_shen.<formula> (shen.<formula> (shen.pair (tl (hd Parse_shen.<formulae>)) (shen.hdtl Parse_shen.<formulae>))) (if (not (= (fail) Parse_shen.<formula>)) (shen.pair (hd Parse_shen.<formula>) (shen.sequent (shen.hdtl Parse_shen.<formulae>) (shen.hdtl Parse_shen.<formula>))) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<formula> (shen.<formula> V1637) (if (not (= (fail) Parse_shen.<formula>)) (shen.pair (hd Parse_shen.<formula>) (shen.sequent () (shen.hdtl Parse_shen.<formula>))) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
74
74
 
75
- (defun shen.<conclusion> (V1636) (let Result (let Parse_shen.<formulae> (shen.<formulae> V1636) (if (not (= (fail) Parse_shen.<formulae>)) (if (and (cons? (hd Parse_shen.<formulae>)) (= >> (hd (hd Parse_shen.<formulae>)))) (let Parse_shen.<formula> (shen.<formula> (shen.pair (tl (hd Parse_shen.<formulae>)) (shen.hdtl Parse_shen.<formulae>))) (if (not (= (fail) Parse_shen.<formula>)) (let Parse_shen.<semicolon-symbol> (shen.<semicolon-symbol> Parse_shen.<formula>) (if (not (= (fail) Parse_shen.<semicolon-symbol>)) (shen.pair (hd Parse_shen.<semicolon-symbol>) (shen.sequent (shen.hdtl Parse_shen.<formulae>) (shen.hdtl Parse_shen.<formula>))) (fail))) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<formula> (shen.<formula> V1636) (if (not (= (fail) Parse_shen.<formula>)) (let Parse_shen.<semicolon-symbol> (shen.<semicolon-symbol> Parse_shen.<formula>) (if (not (= (fail) Parse_shen.<semicolon-symbol>)) (shen.pair (hd Parse_shen.<semicolon-symbol>) (shen.sequent () (shen.hdtl Parse_shen.<formula>))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
75
+ (defun shen.<conclusion> (V1642) (let Result (let Parse_shen.<formulae> (shen.<formulae> V1642) (if (not (= (fail) Parse_shen.<formulae>)) (if (and (cons? (hd Parse_shen.<formulae>)) (= >> (hd (hd Parse_shen.<formulae>)))) (let Parse_shen.<formula> (shen.<formula> (shen.pair (tl (hd Parse_shen.<formulae>)) (shen.hdtl Parse_shen.<formulae>))) (if (not (= (fail) Parse_shen.<formula>)) (let Parse_shen.<semicolon-symbol> (shen.<semicolon-symbol> Parse_shen.<formula>) (if (not (= (fail) Parse_shen.<semicolon-symbol>)) (shen.pair (hd Parse_shen.<semicolon-symbol>) (shen.sequent (shen.hdtl Parse_shen.<formulae>) (shen.hdtl Parse_shen.<formula>))) (fail))) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<formula> (shen.<formula> V1642) (if (not (= (fail) Parse_shen.<formula>)) (let Parse_shen.<semicolon-symbol> (shen.<semicolon-symbol> Parse_shen.<formula>) (if (not (= (fail) Parse_shen.<semicolon-symbol>)) (shen.pair (hd Parse_shen.<semicolon-symbol>) (shen.sequent () (shen.hdtl Parse_shen.<formula>))) (fail))) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
76
76
 
77
- (defun shen.sequent (V1637 V1638) (@p V1637 V1638))
77
+ (defun shen.sequent (V1643 V1644) (@p V1643 V1644))
78
78
 
79
- (defun shen.<formulae> (V1643) (let Result (let Parse_shen.<formula> (shen.<formula> V1643) (if (not (= (fail) Parse_shen.<formula>)) (let Parse_shen.<comma-symbol> (shen.<comma-symbol> Parse_shen.<formula>) (if (not (= (fail) Parse_shen.<comma-symbol>)) (let Parse_shen.<formulae> (shen.<formulae> Parse_shen.<comma-symbol>) (if (not (= (fail) Parse_shen.<formulae>)) (shen.pair (hd Parse_shen.<formulae>) (cons (shen.hdtl Parse_shen.<formula>) (shen.hdtl Parse_shen.<formulae>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<formula> (shen.<formula> V1643) (if (not (= (fail) Parse_shen.<formula>)) (shen.pair (hd Parse_shen.<formula>) (cons (shen.hdtl Parse_shen.<formula>) ())) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1643) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
79
+ (defun shen.<formulae> (V1649) (let Result (let Parse_shen.<formula> (shen.<formula> V1649) (if (not (= (fail) Parse_shen.<formula>)) (let Parse_shen.<comma-symbol> (shen.<comma-symbol> Parse_shen.<formula>) (if (not (= (fail) Parse_shen.<comma-symbol>)) (let Parse_shen.<formulae> (shen.<formulae> Parse_shen.<comma-symbol>) (if (not (= (fail) Parse_shen.<formulae>)) (shen.pair (hd Parse_shen.<formulae>) (cons (shen.hdtl Parse_shen.<formula>) (shen.hdtl Parse_shen.<formulae>))) (fail))) (fail))) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<formula> (shen.<formula> V1649) (if (not (= (fail) Parse_shen.<formula>)) (shen.pair (hd Parse_shen.<formula>) (cons (shen.hdtl Parse_shen.<formula>) ())) (fail))) (if (= Result (fail)) (let Result (let Parse_<e> (<e> V1649) (if (not (= (fail) Parse_<e>)) (shen.pair (hd Parse_<e>) ()) (fail))) (if (= Result (fail)) (fail) Result)) Result)) Result)))
80
80
 
81
- (defun shen.<comma-symbol> (V1648) (let Result (if (cons? (hd V1648)) (let Parse_X (hd (hd V1648)) (if (= Parse_X (intern ",")) (shen.pair (hd (shen.pair (tl (hd V1648)) (shen.hdtl V1648))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
81
+ (defun shen.<comma-symbol> (V1654) (let Result (if (cons? (hd V1654)) (let Parse_X (hd (hd V1654)) (if (= Parse_X (intern ",")) (shen.pair (hd (shen.pair (tl (hd V1654)) (shen.hdtl V1654))) shen.skip) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
82
82
 
83
- (defun shen.<formula> (V1653) (let Result (let Parse_shen.<expr> (shen.<expr> V1653) (if (not (= (fail) Parse_shen.<expr>)) (if (and (cons? (hd Parse_shen.<expr>)) (= : (hd (hd Parse_shen.<expr>)))) (let Parse_shen.<type> (shen.<type> (shen.pair (tl (hd Parse_shen.<expr>)) (shen.hdtl Parse_shen.<expr>))) (if (not (= (fail) Parse_shen.<type>)) (shen.pair (hd Parse_shen.<type>) (cons (shen.curry (shen.hdtl Parse_shen.<expr>)) (cons : (cons (shen.normalise-type (shen.hdtl Parse_shen.<type>)) ())))) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<expr> (shen.<expr> V1653) (if (not (= (fail) Parse_shen.<expr>)) (shen.pair (hd Parse_shen.<expr>) (shen.hdtl Parse_shen.<expr>)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
83
+ (defun shen.<formula> (V1659) (let Result (let Parse_shen.<expr> (shen.<expr> V1659) (if (not (= (fail) Parse_shen.<expr>)) (if (and (cons? (hd Parse_shen.<expr>)) (= : (hd (hd Parse_shen.<expr>)))) (let Parse_shen.<type> (shen.<type> (shen.pair (tl (hd Parse_shen.<expr>)) (shen.hdtl Parse_shen.<expr>))) (if (not (= (fail) Parse_shen.<type>)) (shen.pair (hd Parse_shen.<type>) (cons (shen.curry (shen.hdtl Parse_shen.<expr>)) (cons : (cons (shen.demodulate (shen.hdtl Parse_shen.<type>)) ())))) (fail))) (fail)) (fail))) (if (= Result (fail)) (let Result (let Parse_shen.<expr> (shen.<expr> V1659) (if (not (= (fail) Parse_shen.<expr>)) (shen.pair (hd Parse_shen.<expr>) (shen.hdtl Parse_shen.<expr>)) (fail))) (if (= Result (fail)) (fail) Result)) Result)))
84
84
 
85
- (defun shen.<type> (V1658) (let Result (let Parse_shen.<expr> (shen.<expr> V1658) (if (not (= (fail) Parse_shen.<expr>)) (shen.pair (hd Parse_shen.<expr>) (shen.curry-type (shen.hdtl Parse_shen.<expr>))) (fail))) (if (= Result (fail)) (fail) Result)))
85
+ (defun shen.<type> (V1664) (let Result (let Parse_shen.<expr> (shen.<expr> V1664) (if (not (= (fail) Parse_shen.<expr>)) (shen.pair (hd Parse_shen.<expr>) (shen.curry-type (shen.hdtl Parse_shen.<expr>))) (fail))) (if (= Result (fail)) (fail) Result)))
86
86
 
87
- (defun shen.<doubleunderline> (V1663) (let Result (if (cons? (hd V1663)) (let Parse_X (hd (hd V1663)) (if (shen.doubleunderline? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1663)) (shen.hdtl V1663))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
87
+ (defun shen.<doubleunderline> (V1669) (let Result (if (cons? (hd V1669)) (let Parse_X (hd (hd V1669)) (if (shen.doubleunderline? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1669)) (shen.hdtl V1669))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
88
88
 
89
- (defun shen.<singleunderline> (V1668) (let Result (if (cons? (hd V1668)) (let Parse_X (hd (hd V1668)) (if (shen.singleunderline? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1668)) (shen.hdtl V1668))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
89
+ (defun shen.<singleunderline> (V1674) (let Result (if (cons? (hd V1674)) (let Parse_X (hd (hd V1674)) (if (shen.singleunderline? Parse_X) (shen.pair (hd (shen.pair (tl (hd V1674)) (shen.hdtl V1674))) Parse_X) (fail))) (fail)) (if (= Result (fail)) (fail) Result)))
90
90
 
91
- (defun shen.singleunderline? (V1669) (and (symbol? V1669) (shen.sh? (str V1669))))
91
+ (defun shen.singleunderline? (V1675) (and (symbol? V1675) (shen.sh? (str V1675))))
92
92
 
93
- (defun shen.sh? (V1670) (cond ((= "_" V1670) true) (true (and (= (pos V1670 0) "_") (shen.sh? (tlstr V1670))))))
93
+ (defun shen.sh? (V1676) (cond ((= "_" V1676) true) (true (and (= (pos V1676 0) "_") (shen.sh? (tlstr V1676))))))
94
94
 
95
- (defun shen.doubleunderline? (V1671) (and (symbol? V1671) (shen.dh? (str V1671))))
95
+ (defun shen.doubleunderline? (V1677) (and (symbol? V1677) (shen.dh? (str V1677))))
96
96
 
97
- (defun shen.dh? (V1672) (cond ((= "=" V1672) true) (true (and (= (pos V1672 0) "=") (shen.dh? (tlstr V1672))))))
97
+ (defun shen.dh? (V1678) (cond ((= "=" V1678) true) (true (and (= (pos V1678 0) "=") (shen.dh? (tlstr V1678))))))
98
98
 
99
- (defun shen.process-datatype (V1673 V1674) (shen.remember-datatype (shen.s-prolog (shen.rules->horn-clauses V1673 V1674))))
99
+ (defun shen.process-datatype (V1679 V1680) (shen.remember-datatype (shen.s-prolog (shen.rules->horn-clauses V1679 V1680))))
100
100
 
101
- (defun shen.remember-datatype (V1679) (cond ((cons? V1679) (do (set shen.*datatypes* (adjoin (hd V1679) (value shen.*datatypes*))) (do (set shen.*alldatatypes* (adjoin (hd V1679) (value shen.*alldatatypes*))) (hd V1679)))) (true (shen.sys-error shen.remember-datatype))))
101
+ (defun shen.remember-datatype (V1685) (cond ((cons? V1685) (do (set shen.*datatypes* (adjoin (hd V1685) (value shen.*datatypes*))) (do (set shen.*alldatatypes* (adjoin (hd V1685) (value shen.*alldatatypes*))) (hd V1685)))) (true (shen.sys-error shen.remember-datatype))))
102
102
 
103
- (defun shen.rules->horn-clauses (V1682 V1683) (cond ((= () V1683) ()) ((and (cons? V1683) (and (tuple? (hd V1683)) (= shen.single (fst (hd V1683))))) (cons (shen.rule->horn-clause V1682 (snd (hd V1683))) (shen.rules->horn-clauses V1682 (tl V1683)))) ((and (cons? V1683) (and (tuple? (hd V1683)) (= shen.double (fst (hd V1683))))) (shen.rules->horn-clauses V1682 (append (shen.double->singles (snd (hd V1683))) (tl V1683)))) (true (shen.sys-error shen.rules->horn-clauses))))
103
+ (defun shen.rules->horn-clauses (V1688 V1689) (cond ((= () V1689) ()) ((and (cons? V1689) (and (tuple? (hd V1689)) (= shen.single (fst (hd V1689))))) (cons (shen.rule->horn-clause V1688 (snd (hd V1689))) (shen.rules->horn-clauses V1688 (tl V1689)))) ((and (cons? V1689) (and (tuple? (hd V1689)) (= shen.double (fst (hd V1689))))) (shen.rules->horn-clauses V1688 (append (shen.double->singles (snd (hd V1689))) (tl V1689)))) (true (shen.sys-error shen.rules->horn-clauses))))
104
104
 
105
- (defun shen.double->singles (V1684) (cons (shen.right-rule V1684) (cons (shen.left-rule V1684) ())))
105
+ (defun shen.double->singles (V1690) (cons (shen.right-rule V1690) (cons (shen.left-rule V1690) ())))
106
106
 
107
- (defun shen.right-rule (V1685) (@p shen.single V1685))
107
+ (defun shen.right-rule (V1691) (@p shen.single V1691))
108
108
 
109
- (defun shen.left-rule (V1686) (cond ((and (cons? V1686) (and (cons? (tl V1686)) (and (cons? (tl (tl V1686))) (and (tuple? (hd (tl (tl V1686)))) (and (= () (fst (hd (tl (tl V1686))))) (= () (tl (tl (tl V1686))))))))) (let Q (gensym Qv) (let NewConclusion (@p (cons (snd (hd (tl (tl V1686)))) ()) Q) (let NewPremises (cons (@p (map shen.right->left (hd (tl V1686))) Q) ()) (@p shen.single (cons (hd V1686) (cons NewPremises (cons NewConclusion ())))))))) (true (shen.sys-error shen.left-rule))))
109
+ (defun shen.left-rule (V1692) (cond ((and (cons? V1692) (and (cons? (tl V1692)) (and (cons? (tl (tl V1692))) (and (tuple? (hd (tl (tl V1692)))) (and (= () (fst (hd (tl (tl V1692))))) (= () (tl (tl (tl V1692))))))))) (let Q (gensym Qv) (let NewConclusion (@p (cons (snd (hd (tl (tl V1692)))) ()) Q) (let NewPremises (cons (@p (map shen.right->left (hd (tl V1692))) Q) ()) (@p shen.single (cons (hd V1692) (cons NewPremises (cons NewConclusion ())))))))) (true (shen.sys-error shen.left-rule))))
110
110
 
111
- (defun shen.right->left (V1691) (cond ((and (tuple? V1691) (= () (fst V1691))) (snd V1691)) (true (simple-error "syntax error with ==========
111
+ (defun shen.right->left (V1697) (cond ((and (tuple? V1697) (= () (fst V1697))) (snd V1697)) (true (simple-error "syntax error with ==========
112
112
  "))))
113
113
 
114
- (defun shen.rule->horn-clause (V1692 V1693) (cond ((and (cons? V1693) (and (cons? (tl V1693)) (and (cons? (tl (tl V1693))) (and (tuple? (hd (tl (tl V1693)))) (= () (tl (tl (tl V1693)))))))) (cons (shen.rule->horn-clause-head V1692 (snd (hd (tl (tl V1693))))) (cons :- (cons (shen.rule->horn-clause-body (hd V1693) (hd (tl V1693)) (fst (hd (tl (tl V1693))))) ())))) (true (shen.sys-error shen.rule->horn-clause))))
114
+ (defun shen.rule->horn-clause (V1698 V1699) (cond ((and (cons? V1699) (and (cons? (tl V1699)) (and (cons? (tl (tl V1699))) (and (tuple? (hd (tl (tl V1699)))) (= () (tl (tl (tl V1699)))))))) (cons (shen.rule->horn-clause-head V1698 (snd (hd (tl (tl V1699))))) (cons :- (cons (shen.rule->horn-clause-body (hd V1699) (hd (tl V1699)) (fst (hd (tl (tl V1699))))) ())))) (true (shen.sys-error shen.rule->horn-clause))))
115
115
 
116
- (defun shen.rule->horn-clause-head (V1694 V1695) (cons V1694 (cons (shen.mode-ify V1695) (cons Context_1957 ()))))
116
+ (defun shen.rule->horn-clause-head (V1700 V1701) (cons V1700 (cons (shen.mode-ify V1701) (cons Context_1957 ()))))
117
117
 
118
- (defun shen.mode-ify (V1696) (cond ((and (cons? V1696) (and (cons? (tl V1696)) (and (= : (hd (tl V1696))) (and (cons? (tl (tl V1696))) (= () (tl (tl (tl V1696)))))))) (cons mode (cons (cons (hd V1696) (cons : (cons (cons mode (cons (hd (tl (tl V1696))) (cons + ()))) ()))) (cons - ())))) (true V1696)))
118
+ (defun shen.mode-ify (V1702) (cond ((and (cons? V1702) (and (cons? (tl V1702)) (and (= : (hd (tl V1702))) (and (cons? (tl (tl V1702))) (= () (tl (tl (tl V1702)))))))) (cons mode (cons (cons (hd V1702) (cons : (cons (cons mode (cons (hd (tl (tl V1702))) (cons + ()))) ()))) (cons - ())))) (true V1702)))
119
119
 
120
- (defun shen.rule->horn-clause-body (V1697 V1698 V1699) (let Variables (map shen.extract_vars V1699) (let Predicates (map (lambda X (gensym shen.cl)) V1699) (let SearchLiterals (shen.construct-search-literals Predicates Variables Context_1957 Context1_1957) (let SearchClauses (shen.construct-search-clauses Predicates V1699 Variables) (let SideLiterals (shen.construct-side-literals V1697) (let PremissLiterals (map (lambda X (shen.construct-premiss-literal X (empty? V1699))) V1698) (append SearchLiterals (append SideLiterals PremissLiterals)))))))))
120
+ (defun shen.rule->horn-clause-body (V1703 V1704 V1705) (let Variables (map shen.extract_vars V1705) (let Predicates (map (lambda X (gensym shen.cl)) V1705) (let SearchLiterals (shen.construct-search-literals Predicates Variables Context_1957 Context1_1957) (let SearchClauses (shen.construct-search-clauses Predicates V1705 Variables) (let SideLiterals (shen.construct-side-literals V1703) (let PremissLiterals (map (lambda X (shen.construct-premiss-literal X (empty? V1705))) V1704) (append SearchLiterals (append SideLiterals PremissLiterals)))))))))
121
121
 
122
- (defun shen.construct-search-literals (V1704 V1705 V1706 V1707) (cond ((and (= () V1704) (= () V1705)) ()) (true (shen.csl-help V1704 V1705 V1706 V1707))))
122
+ (defun shen.construct-search-literals (V1710 V1711 V1712 V1713) (cond ((and (= () V1710) (= () V1711)) ()) (true (shen.csl-help V1710 V1711 V1712 V1713))))
123
123
 
124
- (defun shen.csl-help (V1710 V1711 V1712 V1713) (cond ((and (= () V1710) (= () V1711)) (cons (cons bind (cons ContextOut_1957 (cons V1712 ()))) ())) ((and (cons? V1710) (cons? V1711)) (cons (cons (hd V1710) (cons V1712 (cons V1713 (hd V1711)))) (shen.csl-help (tl V1710) (tl V1711) V1713 (gensym Context)))) (true (shen.sys-error shen.csl-help))))
124
+ (defun shen.csl-help (V1716 V1717 V1718 V1719) (cond ((and (= () V1716) (= () V1717)) (cons (cons bind (cons ContextOut_1957 (cons V1718 ()))) ())) ((and (cons? V1716) (cons? V1717)) (cons (cons (hd V1716) (cons V1718 (cons V1719 (hd V1717)))) (shen.csl-help (tl V1716) (tl V1717) V1719 (gensym Context)))) (true (shen.sys-error shen.csl-help))))
125
125
 
126
- (defun shen.construct-search-clauses (V1714 V1715 V1716) (cond ((and (= () V1714) (and (= () V1715) (= () V1716))) shen.skip) ((and (cons? V1714) (and (cons? V1715) (cons? V1716))) (do (shen.construct-search-clause (hd V1714) (hd V1715) (hd V1716)) (shen.construct-search-clauses (tl V1714) (tl V1715) (tl V1716)))) (true (shen.sys-error shen.construct-search-clauses))))
126
+ (defun shen.construct-search-clauses (V1720 V1721 V1722) (cond ((and (= () V1720) (and (= () V1721) (= () V1722))) shen.skip) ((and (cons? V1720) (and (cons? V1721) (cons? V1722))) (do (shen.construct-search-clause (hd V1720) (hd V1721) (hd V1722)) (shen.construct-search-clauses (tl V1720) (tl V1721) (tl V1722)))) (true (shen.sys-error shen.construct-search-clauses))))
127
127
 
128
- (defun shen.construct-search-clause (V1717 V1718 V1719) (shen.s-prolog (cons (shen.construct-base-search-clause V1717 V1718 V1719) (cons (shen.construct-recursive-search-clause V1717 V1718 V1719) ()))))
128
+ (defun shen.construct-search-clause (V1723 V1724 V1725) (shen.s-prolog (cons (shen.construct-base-search-clause V1723 V1724 V1725) (cons (shen.construct-recursive-search-clause V1723 V1724 V1725) ()))))
129
129
 
130
- (defun shen.construct-base-search-clause (V1720 V1721 V1722) (cons (cons V1720 (cons (cons (shen.mode-ify V1721) In_1957) (cons In_1957 V1722))) (cons :- (cons () ()))))
130
+ (defun shen.construct-base-search-clause (V1726 V1727 V1728) (cons (cons V1726 (cons (cons (shen.mode-ify V1727) In_1957) (cons In_1957 V1728))) (cons :- (cons () ()))))
131
131
 
132
- (defun shen.construct-recursive-search-clause (V1723 V1724 V1725) (cons (cons V1723 (cons (cons Assumption_1957 Assumptions_1957) (cons (cons Assumption_1957 Out_1957) V1725))) (cons :- (cons (cons (cons V1723 (cons Assumptions_1957 (cons Out_1957 V1725))) ()) ()))))
132
+ (defun shen.construct-recursive-search-clause (V1729 V1730 V1731) (cons (cons V1729 (cons (cons Assumption_1957 Assumptions_1957) (cons (cons Assumption_1957 Out_1957) V1731))) (cons :- (cons (cons (cons V1729 (cons Assumptions_1957 (cons Out_1957 V1731))) ()) ()))))
133
133
 
134
- (defun shen.construct-side-literals (V1730) (cond ((= () V1730) ()) ((and (cons? V1730) (and (cons? (hd V1730)) (and (= if (hd (hd V1730))) (and (cons? (tl (hd V1730))) (= () (tl (tl (hd V1730)))))))) (cons (cons when (tl (hd V1730))) (shen.construct-side-literals (tl V1730)))) ((and (cons? V1730) (and (cons? (hd V1730)) (and (= let (hd (hd V1730))) (and (cons? (tl (hd V1730))) (and (cons? (tl (tl (hd V1730)))) (= () (tl (tl (tl (hd V1730)))))))))) (cons (cons is (tl (hd V1730))) (shen.construct-side-literals (tl V1730)))) ((cons? V1730) (shen.construct-side-literals (tl V1730))) (true (shen.sys-error shen.construct-side-literals))))
134
+ (defun shen.construct-side-literals (V1736) (cond ((= () V1736) ()) ((and (cons? V1736) (and (cons? (hd V1736)) (and (= if (hd (hd V1736))) (and (cons? (tl (hd V1736))) (= () (tl (tl (hd V1736)))))))) (cons (cons when (tl (hd V1736))) (shen.construct-side-literals (tl V1736)))) ((and (cons? V1736) (and (cons? (hd V1736)) (and (= let (hd (hd V1736))) (and (cons? (tl (hd V1736))) (and (cons? (tl (tl (hd V1736)))) (= () (tl (tl (tl (hd V1736)))))))))) (cons (cons is (tl (hd V1736))) (shen.construct-side-literals (tl V1736)))) ((cons? V1736) (shen.construct-side-literals (tl V1736))) (true (shen.sys-error shen.construct-side-literals))))
135
135
 
136
- (defun shen.construct-premiss-literal (V1735 V1736) (cond ((tuple? V1735) (cons shen.t* (cons (shen.recursive_cons_form (snd V1735)) (cons (shen.construct-context V1736 (fst V1735)) ())))) ((= ! V1735) (cons cut (cons Throwcontrol ()))) (true (shen.sys-error shen.construct-premiss-literal))))
136
+ (defun shen.construct-premiss-literal (V1741 V1742) (cond ((tuple? V1741) (cons shen.t* (cons (shen.recursive_cons_form (snd V1741)) (cons (shen.construct-context V1742 (fst V1741)) ())))) ((= ! V1741) (cons cut (cons Throwcontrol ()))) (true (shen.sys-error shen.construct-premiss-literal))))
137
137
 
138
- (defun shen.construct-context (V1737 V1738) (cond ((and (= true V1737) (= () V1738)) Context_1957) ((and (= false V1737) (= () V1738)) ContextOut_1957) ((cons? V1738) (cons cons (cons (shen.recursive_cons_form (hd V1738)) (cons (shen.construct-context V1737 (tl V1738)) ())))) (true (shen.sys-error shen.construct-context))))
138
+ (defun shen.construct-context (V1743 V1744) (cond ((and (= true V1743) (= () V1744)) Context_1957) ((and (= false V1743) (= () V1744)) ContextOut_1957) ((cons? V1744) (cons cons (cons (shen.recursive_cons_form (hd V1744)) (cons (shen.construct-context V1743 (tl V1744)) ())))) (true (shen.sys-error shen.construct-context))))
139
139
 
140
- (defun shen.recursive_cons_form (V1739) (cond ((cons? V1739) (cons cons (cons (shen.recursive_cons_form (hd V1739)) (cons (shen.recursive_cons_form (tl V1739)) ())))) (true V1739)))
140
+ (defun shen.recursive_cons_form (V1745) (cond ((cons? V1745) (cons cons (cons (shen.recursive_cons_form (hd V1745)) (cons (shen.recursive_cons_form (tl V1745)) ())))) (true V1745)))
141
141
 
142
- (defun preclude (V1740) (let FilterDatatypes (set shen.*datatypes* (difference (value shen.*datatypes*) V1740)) (value shen.*datatypes*)))
142
+ (defun preclude (V1746) (let FilterDatatypes (set shen.*datatypes* (difference (value shen.*datatypes*) V1746)) (value shen.*datatypes*)))
143
143
 
144
- (defun include (V1741) (let ValidTypes (intersection V1741 (value shen.*alldatatypes*)) (let NewDatatypes (set shen.*datatypes* (union ValidTypes (value shen.*datatypes*))) (value shen.*datatypes*))))
144
+ (defun include (V1747) (let ValidTypes (intersection V1747 (value shen.*alldatatypes*)) (let NewDatatypes (set shen.*datatypes* (union ValidTypes (value shen.*datatypes*))) (value shen.*datatypes*))))
145
145
 
146
- (defun preclude-all-but (V1742) (preclude (difference (value shen.*alldatatypes*) V1742)))
146
+ (defun preclude-all-but (V1748) (preclude (difference (value shen.*alldatatypes*) V1748)))
147
147
 
148
- (defun include-all-but (V1743) (include (difference (value shen.*alldatatypes*) V1743)))
148
+ (defun include-all-but (V1749) (include (difference (value shen.*alldatatypes*) V1749)))
149
149
 
150
- (defun shen.synonyms-help (V1748) (cond ((= () V1748) synonyms) ((and (cons? V1748) (cons? (tl V1748))) (do (shen.pushnew (cons (hd V1748) (hd (tl V1748))) shen.*synonyms*) (shen.synonyms-help (tl (tl V1748))))) (true (simple-error (cn "odd number of synonyms
150
+ (defun shen.synonyms-help (V1754) (cond ((= () V1754) synonyms) ((and (cons? V1754) (cons? (tl V1754))) (do (shen.pushnew (cons (hd V1754) (shen.curry-type (hd (tl V1754)))) shen.*synonyms*) (shen.synonyms-help (tl (tl V1754))))) (true (simple-error (cn "odd number of synonyms
151
151
  " "")))))
152
152
 
153
- (defun shen.pushnew (V1749 V1750) (if (element? V1749 (value V1750)) (value V1750) (set V1750 (cons V1749 (value V1750)))))
153
+ (defun shen.pushnew (V1755 V1756) (if (element? V1755 (value V1756)) (value V1756) (set V1756 (cons V1755 (value V1756)))))
154
154
 
155
155
 
156
156