CS4613/Assignments/#03.rkt#1#

5730 lines
111 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#reader(lib"read.ss""wxme")WXME0111 ##
#|
This file uses the GRacket editor format.
Open this file in DrRacket version 8.13 or later to read it.
Most likely, it was created by saving a program in DrRacket,
and it probably contains a program with non-text elements
(such as images or comment boxes).
http://racket-lang.org/
|#
34 7 #"wxtext\0"
3 1 6 #"wxtab\0"
1 1 8 #"wximage\0"
2 0 8 #"wxmedia\0"
4 1 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
1 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
1 0 68
(0 68
((lib "image-core.ss" "mrlib") (lib "image-core-wxme.rkt" "mrlib"))
) 1 0 16 #"drscheme:number\0"
3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
1 0 79
(1 79
((lib "srcloc-snip.rkt" "framework") (lib "wxme-srcloc-snip.rkt" "framework"))
) 1 0 93
(2 93
((lib "collapsed-snipclass.ss" "framework") (lib "collapsed-snipclass-wxme.ss" "framework"))
) 0 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
0 0 19 #"drscheme:sexp-snip\0"
0 0 29 #"drscheme:bindings-snipclass%\0"
1 0 101
(3 101
((lib "ellipsis-snip.rkt" "drracket" "private") (lib "ellipsis-snip-wxme.rkt" "drracket" "private"))
) 2 0 88
(4 88
((lib "pict-snip.rkt" "drracket" "private") (lib "pict-snip.rkt" "drracket" "private"))
) 1 0 55
#"((lib \"snip.rkt\" \"pict\") (lib \"snip-wxme.rkt\" \"pict\"))\0"
1 0 34 #"(lib \"bullet-snip.rkt\" \"browser\")\0"
0 0 25 #"(lib \"matrix.ss\" \"htdp\")\0"
1 0 22 #"drscheme:lambda-snip%\0"
1 0 29 #"drclickable-string-snipclass\0"
0 0 26 #"drracket:spacer-snipclass\0"
0 0 57
#"(lib \"hrule-snip.rkt\" \"macro-debugger\" \"syntax-browser\")\0"
1 0 26 #"drscheme:pict-value-snip%\0"
0 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
1 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0"
1 0 18 #"drscheme:xml-snip\0"
1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
1 0 21 #"drscheme:scheme-snip\0"
2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
1 0 10 #"text-box%\0"
1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0"
1 0 1 6 #"wxloc\0"
0 0 73 0 1 #"\0"
0 75 1 #"\0"
0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 1.0 0 0 0 1.0 0 0 0 0.0 255 255
255 0.0 1 -1 0 9 #"Standard\0"
0 75 24 #"CaskaydiaCove Nerd Font\0"
0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 1.0 0 0 0 1.0 0 0 0 0.0 255 255
255 0.0 1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1.0 1 1 1 1.0 0 0 0 0.0 0 0 0
0.0 -1 -1 2 24 #"framework:default-color\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 255 255 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1 1 1 1.0 150 0 150 1.0 0 0
0 0.0 -1 -1 2 15 #"text:ports out\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 192 46 214 1.0 0 0
0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1.0 1.0 1.0 1.0 255 0 0
1.0 0 0 0 0.0 -1 -1 2 15 #"text:ports err\0"
0 -1 1 #"\0"
1 0 -1 -1 93 -1 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 0 0 1.0 0 0 0
0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1 1 1 1.0 0 0 175 1.0 0 0 0
0.0 -1 -1 2 17 #"text:ports value\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 57 89 216 1.0 0 0
0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1.0 1.0 1.0 1.0 34 139 34
1.0 0 0 0 0.0 -1 -1 2 27 #"Matching Parenthesis Style\0"
0 -1 1 #"\0"
1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1.0 1.0 1.0 1.0 34 139 34
1.0 0 0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 157 157 250 1.0 0
0 0 0.0 -1 -1 2 37 #"framework:syntax-color:scheme:symbol\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 157 157 250 1.0 0
0 0 0.0 -1 -1 2 38 #"framework:syntax-color:scheme:keyword\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 157 157 250 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 249 148 40 1.0 0 0
0 0.0 -1 -1 2 38 #"framework:syntax-color:scheme:comment\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 249 148 40 1.0 0 0
0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 140 212 140 1.0 0
0 0 0.0 -1 -1 2 37 #"framework:syntax-color:scheme:string\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 140 212 140 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 51 174 51 1.0 0 0
0 0.0 -1 -1 2 35 #"framework:syntax-color:scheme:text\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 51 174 51 1.0 0 0
0 0.0 -1 -1 2 39 #"framework:syntax-color:scheme:constant\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 140 212 140 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 151 69 43 1.0 0 0
0 0.0 -1 -1 2 49 #"framework:syntax-color:scheme:hash-colon-keyword\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 151 69 43 1.0 0 0
0 0.0 -1 -1 2 42 #"framework:syntax-color:scheme:parenthesis\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 151 69 43 1.0 0 0
0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 0 0 1.0 0 0 0
0.0 -1 -1 2 36 #"framework:syntax-color:scheme:error\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 0 0 1.0 0 0 0
0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 255 255 1.0 0
0 0 0.0 -1 -1 2 36 #"framework:syntax-color:scheme:other\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 255 255 1.0 0
0 0 0.0 -1 -1 2 16 #"Misspelled Text\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 255 255 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 50 163 255 1.0 0 0
0 0.0 -1 -1 2 38 #"drracket:check-syntax:lexically-bound\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 50 163 255 1.0 0 0
0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 192 203 1.0 0
0 0 0.0 -1 -1 2 28 #"drracket:check-syntax:set!d\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 192 203 1.0 0
0 0 0.0 -1 -1 2 37 #"drracket:check-syntax:unused-require\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 192 203 1.0 0
0 0 0.0 -1 -1 2 36 #"drracket:check-syntax:free-variable\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 192 203 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 166 0 255 1.0 0 0
0 0.0 -1 -1 2 31 #"drracket:check-syntax:imported\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 166 0 255 1.0 0 0
0 0.0 -1 -1 2 47 #"drracket:check-syntax:my-obligation-style-pref\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 192 203 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 50 205 50 1.0 0 0
0 0.0 -1 -1 2 50 #"drracket:check-syntax:their-obligation-style-pref\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 50 205 50 1.0 0 0
0 0.0 -1 -1 2 48 #"drracket:check-syntax:unk-obligation-style-pref\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 255 255 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 240 230 140 1.0 0
0 0 0.0 -1 -1 2 49 #"drracket:check-syntax:both-obligation-style-pref\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 240 230 140 1.0 0
0 0 0.0 -1 -1 2 26 #"plt:htdp:test-coverage-on\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 255 255 1.0 0
0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 1 0 0 0 0.0 0 0 0 0.0 205 92 92 1.0 0 0
0 1.0 -1 -1 2 27 #"plt:htdp:test-coverage-off\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 1 0 0 0 0.0 0 0 0 0.0 205 92 92 1.0 0 0
0 1.0 -1 -1 4 1 #"\0"
0 70 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0 0
0 0.0 0 0 0 0.0 -1 -1 4 4 #"XML\0"
0 70 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0 0
0 0.0 0 0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 152 251 152 1.0 0
0 0 0.0 -1 -1 2 61
#"drracket:language name and memory use at top of interactions\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 152 251 152 1.0 0
0 0 0.0 -1 -1 2 37 #"plt:module-language:test-coverage-on\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 0.0 1 1 1 1.0 255 255 255 1.0 0
0 0 0.0 -1 -1 2 38 #"plt:module-language:test-coverage-off\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 1 0 0 0 0.0 0 0 0 0.0 205 92 92 1.0 0 0
0 1.0 -1 -1 0 36 #"mrlib/syntax-browser:subtitle-color\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0.0 0 0 0 0.0 100 149 237 1.0 0
0 0 1.0 -1 -1 0 42 #"mrlib/syntax-browser:focused-syntax-color\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0.0 0 0 0 0.0 50 205 50 1.0 0 0
0 1.0 -1 -1 4 1 #"\0"
0 71 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0 0
0 0.0 0 0 0 0.0 -1 -1 4 1 #"\0"
0 -1 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 0.0 1.0 1.0 1.0 1.0 0 191 255
1.0 0 0 0 0.0 -1 -1 4 1 #"\0"
0 71 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 0.0 1.0 1.0 1.0 1.0 0 191 255
1.0 0 0 0 0.0 -1 -1 51 1 #"\0"
0 71 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0 0
0 0.0 0 0 0 0.0 -1 -1 25 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 0.5 1 1 1 1.0 0 0 0 0.0 0 0 0
0.0 -1 -1 14 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 0.5 1 1 1 1.0 0 0 0 0.0 0 0 0
0.0 -1 -1 22 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 0.5 1 1 1 1.0 0 0 0 0.0 0 0 0
0.0 -1 -1 19 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 0.5 1 1 1 1.0 0 0 0 0.0 0 0 0
0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1 1 1 1.0 200 0 0 1.0 0 0 0
0.0 -1 -1 4 1 #"\0"
0 -1 1 #"\0"
1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0.0 0 0 0 0.0 0 0 0 1.0 255
255 0 1.0 -1 -1 0 1 #"\0"
0 -1 1 #"\0"
0 11 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0
0.0 0 0 0 0.0 -1 -1 0 1 #"\0"
0 -1 1 #"\0"
0 11 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1.0 1.0 1.0 1.0 255 255 255
1.0 0 0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
0 11 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0
0.0 0 0 0 0.0 -1 -1 2 1 #"\0"
0 -1 1 #"\0"
0 11 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0.0 1.0 1.0 1.0 1.0 255 255 255
1.0 0 0 0 0.0 -1 -1 29 1 #"\0"
0 -1 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1.0 0 0 0 1.0 0 0 0 0.0 255
255 255 0.0 -1 -1 52 1 #"\0"
0 -1 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1.0 0 0 0 1.0 0 0 0 0.0 255
255 255 0.0 -1 -1 53 1 #"\0"
0 -1 1 #"\0"
1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0 0 0 1.0 0 0 0 1.0 0 0 0 0.0 255
255 255 0.0 -1 -1 0 5449 0 29 3 11 #"#lang plait"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 11 #"define-type"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"numE"
0 0 25 3 2 #" ("
0 0 14 3 1 #"n"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Number"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 5 #"boolE"
0 0 25 3 2 #" ("
0 0 14 3 1 #"b"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 7 #"Boolean"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"notE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"expr"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 5 #"plusE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"lhs"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #") ("
0 0 14 3 3 #"rhs"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 6 #"minusE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"lhs"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #") ("
0 0 14 3 3 #"rhs"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 6 #"timesE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"lhs"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #") ("
0 0 14 3 3 #"rhs"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 5 #"listE"
0 0 25 3 2 #" ("
0 0 14 3 8 #"elements"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" ("
0 0 14 3 6 #"Listof"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 4 #"))] "
0 0 17 3 6 #";; New"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"if0E"
0 0 25 3 2 #" ("
0 0 14 3 9 #"test-expr"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #") ("
0 0 14 3 9 #"then-expr"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #") ("
0 0 14 3 9 #"else-expr"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"recE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Symbol"
0 0 25 3 3 #") ("
0 0 14 3 2 #"ty"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 2 #"TE"
0 0 25 3 3 #") ("
0 0 14 3 8 #"rhs-expr"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #") ("
0 0 14 3 9 #"body-expr"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 3 #"idE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Symbol"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"lamE"
0 0 25 3 2 #" ("
0 0 14 3 5 #"param"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Symbol"
0 0 25 3 3 #") ("
0 0 14 3 5 #"argty"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 2 #"TE"
0 0 25 3 3 #") ("
0 0 14 3 4 #"body"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 8 #"lam-expr"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #") ("
0 0 14 3 8 #"arg-expr"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 11 #"define-type"
0 0 25 3 1 #" "
0 0 14 3 5 #"Value"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"numV"
0 0 25 3 2 #" ("
0 0 14 3 1 #"n"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Number"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 5 #"boolV"
0 0 25 3 2 #" ("
0 0 14 3 1 #"b"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 7 #"Boolean"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 5 #"listV"
0 0 25 3 2 #" ("
0 0 14 3 8 #"elements"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" ("
0 0 14 3 6 #"Listof"
0 0 25 3 1 #" "
0 0 14 3 5 #"Value"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 8 #"closureV"
0 0 25 3 2 #" ("
0 0 14 3 5 #"param"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Symbol"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ("
0 0 14 3 4 #"body"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ("
0 0 14 3 3 #"env"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 8 #"ValueEnv"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 11 #"define-type"
0 0 25 3 1 #" "
0 0 14 3 2 #"TE"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 5 #"numTE"
0 0 25 3 1 #"]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 6 #"boolTE"
0 0 25 3 1 #"]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 7 #"arrowTE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"arg"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 2 #"TE"
0 0 25 3 3 #") ("
0 0 14 3 6 #"result"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 2 #"TE"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 6 #"listTE"
0 0 25 3 2 #" ("
0 0 14 3 7 #"element"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 2 #"TE"
0 0 25 3 3 #")] "
0 0 17 3 6 #";; New"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 7 #"guessTE"
0 0 25 3 2 #"])"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 11 #"define-type"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"numT"
0 0 25 3 1 #"]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 5 #"boolT"
0 0 25 3 1 #"]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 3 #"arg"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 3 #") ("
0 0 14 3 6 #"result"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 7 #"element"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 3 #")] "
0 0 17 3 6 #";; New"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 4 #"varT"
0 0 25 3 2 #" ("
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Number"
0 0 25 3 3 #") ("
0 0 14 3 3 #"val"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" ("
0 0 14 3 5 #"Boxof"
0 0 25 3 2 #" ("
0 0 14 3 8 #"Optionof"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 5 #")))])"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 11 #"define-type"
0 0 25 3 1 #" "
0 0 14 3 8 #"ValueEnv"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 13 #"EmptyValueEnv"
0 0 25 3 1 #"]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 9 #"BindValue"
0 0 25 3 2 #" ("
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Symbol"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 14 3 5 #"value"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 5 #"Value"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 14 3 4 #"rest"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 8 #"ValueEnv"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 12 #"RecBindValue"
0 0 25 3 2 #" ("
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Symbol"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 17 #" ("
0 0 14 3 9 #"value-box"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" ("
0 0 14 3 5 #"Boxof"
0 0 25 3 1 #" "
0 0 14 3 5 #"Value"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 17 #" ("
0 0 14 3 4 #"rest"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 8 #"ValueEnv"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 11 #"define-type"
0 0 25 3 1 #" "
0 0 14 3 7 #"TypeEnv"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 12 #"EmptyTypeEnv"
0 0 25 3 1 #"]"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ["
0 0 14 3 8 #"BindType"
0 0 25 3 2 #" ("
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 6 #"Symbol"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ("
0 0 14 3 4 #"type"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ("
0 0 14 3 4 #"rest"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 7 #"TypeEnv"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 17 3 63
#";; num-op : (Number Number -> Number) -> (Value Value -> Value)"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 6 #"num-op"
0 0 25 3 1 #" "
0 0 14 3 2 #"op"
0 0 25 3 1 #" "
0 0 14 3 7 #"op-name"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"numV"
0 0 25 3 2 #" ("
0 0 14 3 2 #"op"
0 0 25 3 2 #" ("
0 0 14 3 6 #"numV-n"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 6 #"numV-n"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 4 #"num+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 3 #") ("
0 0 14 3 6 #"num-op"
0 0 25 3 1 #" "
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 4 #"num-"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 3 #") ("
0 0 14 3 6 #"num-op"
0 0 25 3 1 #" "
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 4 #"num*"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 3 #") ("
0 0 14 3 6 #"num-op"
0 0 25 3 1 #" "
0 0 14 3 1 #"*"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"*"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 8 #"numzero?"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 1 #"="
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #" ("
0 0 14 3 6 #"numV-n"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 17 3 28 #";; interp : Exp Env -> Value"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 5 #"a-exp"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 1 #" "
0 0 14 3 5 #"a-exp"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 14 3 1 #"n"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 14 3 1 #"n"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 5 #"boolE"
0 0 25 3 1 #" "
0 0 14 3 1 #"b"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolV"
0 0 25 3 1 #" "
0 0 14 3 1 #"b"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"notE"
0 0 25 3 1 #" "
0 0 14 3 1 #"e"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolV"
0 0 25 3 2 #" ("
0 0 14 3 3 #"not"
0 0 25 3 2 #" ("
0 0 14 3 7 #"boolV-b"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 1 #"e"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 5 #"))))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 5 #"plusE"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 3 #") ("
0 0 14 3 4 #"num+"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 6 #"minusE"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 3 #") ("
0 0 14 3 4 #"num-"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 6 #"timesE"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 3 #") ("
0 0 14 3 4 #"num*"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 5 #"listE"
0 0 25 3 1 #" "
0 0 14 3 8 #"elements"
0 0 25 3 3 #") ("
0 0 14 3 5 #"listV"
0 0 25 3 2 #" ("
0 0 14 3 3 #"map"
0 0 25 3 2 #" ("
0 0 15 3 6 #"lambda"
0 0 25 3 2 #" ("
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #")) "
0 0 14 3 8 #"elements"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 3 #") ("
0 0 14 3 6 #"lookup"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"if0E"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 3 1 #" "
0 0 14 3 9 #"then-part"
0 0 25 3 1 #" "
0 0 14 3 9 #"else-part"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 2 #"if"
0 0 25 3 2 #" ("
0 0 14 3 8 #"numzero?"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 9 #"then-part"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 9 #"else-part"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"recE"
0 0 25 3 1 #" "
0 0 14 3 8 #"bound-id"
0 0 25 3 1 #" "
0 0 14 3 4 #"type"
0 0 25 3 1 #" "
0 0 14 3 10 #"named-expr"
0 0 25 3 1 #" "
0 0 14 3 9 #"body-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 4 #"let*"
0 0 25 3 3 #" (["
0 0 14 3 12 #"value-holder"
0 0 25 3 2 #" ("
0 0 14 3 3 #"box"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 2 #"42"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ["
0 0 14 3 7 #"new-env"
0 0 25 3 2 #" ("
0 0 14 3 12 #"RecBindValue"
0 0 25 3 1 #" "
0 0 14 3 8 #"bound-id"
0 0 25 3 1 #" "
0 0 14 3 12 #"value-holder"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 8 #"set-box!"
0 0 25 3 1 #" "
0 0 14 3 12 #"value-holder"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 10 #"named-expr"
0 0 25 3 1 #" "
0 0 14 3 7 #"new-env"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 9 #"body-expr"
0 0 25 3 1 #" "
0 0 14 3 7 #"new-env"
0 0 25 3 4 #")))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 14 3 5 #"param"
0 0 25 3 1 #" "
0 0 14 3 6 #"arg-te"
0 0 25 3 1 #" "
0 0 14 3 9 #"body-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 8 #"closureV"
0 0 25 3 1 #" "
0 0 14 3 5 #"param"
0 0 25 3 1 #" "
0 0 14 3 9 #"body-expr"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"appE"
0 0 25 3 1 #" "
0 0 14 3 8 #"lam-expr"
0 0 25 3 1 #" "
0 0 14 3 8 #"arg-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 5 #"local"
0 0 25 3 3 #" [("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 7 #"lam-val"
0 0 25 29 1 #"\n"
0 0 25 3 16 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 8 #"lam-expr"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 7 #"arg-val"
0 0 25 29 1 #"\n"
0 0 25 3 16 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 8 #"arg-expr"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 2 #" ("
0 0 14 3 13 #"closureV-body"
0 0 25 3 1 #" "
0 0 14 3 7 #"lam-val"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 14 3 9 #"BindValue"
0 0 25 3 2 #" ("
0 0 14 3 14 #"closureV-param"
0 0 25 3 1 #" "
0 0 14 3 7 #"lam-val"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 24 #" "
0 0 14 3 7 #"arg-val"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" ("
0 0 14 3 12 #"closureV-env"
0 0 25 3 1 #" "
0 0 14 3 7 #"lam-val"
0 0 25 3 7 #"))))]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 14 3 6 #"s-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 14 3 6 #"s-expr"
0 0 25 3 3 #") ("
0 0 14 3 13 #"EmptyValueEnv"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 5 #"check"
0 0 25 3 1 #" "
0 0 14 3 6 #"s-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 14 3 6 #"s-expr"
0 0 25 3 3 #") ("
0 0 14 3 12 #"EmptyTypeEnv"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 6 #"lookup"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 8 #"ValueEnv"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 13 #"EmptyValueEnv"
0 0 25 3 3 #") ("
0 0 14 3 5 #"error"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 6 #"lookup"
0 0 25 3 1 #" "
0 0 19 3 15 #"\"free variable\""
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 9 #"BindValue"
0 0 25 3 1 #" "
0 0 14 3 8 #"sub-name"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 1 #" "
0 0 14 3 8 #"rest-env"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 2 #"if"
0 0 25 3 2 #" ("
0 0 14 3 6 #"equal?"
0 0 25 3 1 #" "
0 0 14 3 8 #"sub-name"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" "
0 0 14 3 3 #"num"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"lookup"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 8 #"rest-env"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 12 #"RecBindValue"
0 0 25 3 1 #" "
0 0 14 3 8 #"sub-name"
0 0 25 3 1 #" "
0 0 14 3 7 #"val-box"
0 0 25 3 1 #" "
0 0 14 3 8 #"rest-env"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 2 #"if"
0 0 25 3 2 #" ("
0 0 14 3 6 #"equal?"
0 0 25 3 1 #" "
0 0 14 3 8 #"sub-name"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 5 #"unbox"
0 0 25 3 1 #" "
0 0 14 3 7 #"val-box"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"lookup"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 8 #"rest-env"
0 0 25 3 5 #"))]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 11 #"parse-error"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 5 #"error"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 5 #"parse"
0 0 25 3 2 #" ("
0 0 14 3 13 #"string-append"
0 0 25 3 1 #" "
0 0 19 3 15 #"\"parse error: \""
0 0 25 3 2 #" ("
0 0 14 3 9 #"to-string"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 14 3 1 #"n"
0 0 25 3 3 #") ("
0 0 14 3 8 #"list-ref"
0 0 25 3 2 #" ("
0 0 14 3 11 #"s-exp->list"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 2 #") "
0 0 14 3 1 #"n"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 5 #"local"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" [("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 14 3 1 #"i"
0 0 25 3 3 #") ("
0 0 14 3 5 #"parse"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 14 3 1 #"i"
0 0 25 3 4 #")))]"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ("
0 0 15 3 4 #"cond"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" [("
0 0 14 3 13 #"s-exp-number?"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 2 #" ("
0 0 14 3 13 #"s-exp->number"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" [("
0 0 14 3 13 #"s-exp-symbol?"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 3 #"let"
0 0 25 3 3 #" (["
0 0 14 3 3 #"sym"
0 0 25 3 2 #" ("
0 0 14 3 13 #"s-exp->symbol"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 15 3 4 #"case"
0 0 25 3 1 #" "
0 0 14 3 3 #"sym"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" [("
0 0 14 3 4 #"true"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolE"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" [("
0 0 14 3 5 #"false"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolE"
0 0 25 3 1 #" "
0 0 22 3 2 #"#f"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 14 3 3 #"sym"
0 0 25 3 5 #")]))]"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" [("
0 0 14 3 12 #"s-exp-match?"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"("
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 14 3 3 #"ANY"
0 0 25 3 1 #" "
0 0 14 3 3 #"..."
0 0 25 3 2 #") "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 14 3 5 #"listE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"map"
0 0 25 3 2 #" ("
0 0 15 3 6 #"lambda"
0 0 25 3 2 #" ("
0 0 14 3 3 #"elt"
0 0 25 3 3 #") ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 14 3 3 #"elt"
0 0 25 3 4 #")) ("
0 0 14 3 4 #"rest"
0 0 25 3 2 #" ("
0 0 14 3 11 #"s-exp->list"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 5 #"))))]"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" [("
0 0 14 3 12 #"s-exp-match?"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"("
0 0 14 3 3 #"lam"
0 0 25 3 2 #" ("
0 0 14 3 6 #"SYMBOL"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"ANY"
0 0 25 3 2 #") "
0 0 14 3 3 #"ANY"
0 0 25 3 2 #") "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 4 #"let*"
0 0 25 3 3 #" (["
0 0 14 3 4 #"args"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ["
0 0 14 3 2 #"id"
0 0 25 3 2 #" ("
0 0 14 3 13 #"s-exp->symbol"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 4 #"args"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ["
0 0 14 3 2 #"te"
0 0 25 3 2 #" ("
0 0 14 3 8 #"parse-te"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 4 #"args"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ["
0 0 14 3 4 #"body"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 2 #"te"
0 0 25 3 1 #" "
0 0 14 3 4 #"body"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" [("
0 0 14 3 12 #"s-exp-match?"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"("
0 0 15 3 3 #"rec"
0 0 25 3 2 #" ("
0 0 14 3 6 #"SYMBOL"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"ANY"
0 0 25 3 2 #") "
0 0 14 3 3 #"ANY"
0 0 25 3 1 #" "
0 0 14 3 3 #"ANY"
0 0 25 3 2 #") "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 4 #"let*"
0 0 25 3 3 #" (["
0 0 14 3 4 #"args"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ["
0 0 14 3 2 #"id"
0 0 25 3 2 #" ("
0 0 14 3 13 #"s-exp->symbol"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 4 #"args"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ["
0 0 14 3 2 #"te"
0 0 25 3 2 #" ("
0 0 14 3 8 #"parse-te"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 4 #"args"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ["
0 0 14 3 3 #"rhs"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ["
0 0 14 3 4 #"body"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"3"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 4 #"recE"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 2 #"te"
0 0 25 3 1 #" "
0 0 14 3 3 #"rhs"
0 0 25 3 1 #" "
0 0 14 3 4 #"body"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" [("
0 0 14 3 12 #"s-exp-match?"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"("
0 0 14 3 3 #"ANY"
0 0 25 3 1 #" "
0 0 14 3 3 #"ANY"
0 0 25 3 2 #") "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 4 #"cond"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" [("
0 0 14 3 6 #"equal?"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #") "
0 0 22 3 1 #"`"
0 0 14 3 3 #"not"
0 0 25 3 3 #") ("
0 0 14 3 4 #"notE"
0 0 25 3 1 #"("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 3 #") ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 5 #"))])]"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" [("
0 0 14 3 11 #"s-exp-list?"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 4 #"case"
0 0 25 3 2 #" ("
0 0 14 3 13 #"s-exp->symbol"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" [("
0 0 14 3 1 #"+"
0 0 25 3 3 #") ("
0 0 14 3 5 #"plusE"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" [("
0 0 14 3 1 #"-"
0 0 25 3 3 #") ("
0 0 14 3 6 #"minusE"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" [("
0 0 14 3 1 #"*"
0 0 25 3 3 #") ("
0 0 14 3 6 #"timesE"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" [("
0 0 14 3 3 #"if0"
0 0 25 3 3 #") ("
0 0 14 3 4 #"if0E"
0 0 25 3 2 #" ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #") ("
0 0 14 3 2 #"px"
0 0 25 3 1 #" "
0 0 22 3 1 #"3"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 11 #"parse-error"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 4 #")])]"
0 0 25 29 1 #"\n"
0 0 25 3 7 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 11 #"parse-error"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 5 #")])))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 8 #"parse-te"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 4 #"cond"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 13 #"s-exp-symbol?"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 4 #"case"
0 0 25 3 2 #" ("
0 0 14 3 13 #"s-exp->symbol"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 3 #"num"
0 0 25 3 3 #") ("
0 0 14 3 5 #"numTE"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 4 #"bool"
0 0 25 3 3 #") ("
0 0 14 3 6 #"boolTE"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 1 #"?"
0 0 25 3 3 #") ("
0 0 14 3 7 #"guessTE"
0 0 25 3 4 #")])]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 12 #"s-exp-match?"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"("
0 0 14 3 3 #"ANY"
0 0 25 3 1 #" "
0 0 14 3 2 #"->"
0 0 25 3 1 #" "
0 0 14 3 3 #"ANY"
0 0 25 3 2 #") "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 7 #"arrowTE"
0 0 25 3 2 #" ("
0 0 14 3 8 #"parse-te"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 4 #")) ("
0 0 14 3 8 #"parse-te"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #")))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 12 #"s-exp-match?"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"("
0 0 14 3 6 #"listof"
0 0 25 3 1 #" "
0 0 14 3 3 #"ANY"
0 0 25 3 2 #") "
0 0 14 3 2 #"sx"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 6 #"listTE"
0 0 25 3 2 #" ("
0 0 14 3 8 #"parse-te"
0 0 25 3 2 #" ("
0 0 14 3 6 #"sx-ref"
0 0 25 3 1 #" "
0 0 14 3 2 #"sx"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 6 #")))]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 8 #"fact-rec"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ("
0 0 14 3 4 #"recE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 4 #"fact"
0 0 25 3 2 #" ("
0 0 14 3 7 #"arrowTE"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 3 #") ("
0 0 14 3 5 #"numTE"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"n"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ("
0 0 14 3 4 #"if0E"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"n"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 6 #"timesE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"n"
0 0 25 3 3 #") ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 4 #"fact"
0 0 25 3 3 #") ("
0 0 14 3 6 #"minusE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"n"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 6 #"))))))"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 4 #"fact"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"5"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 17 #"fact-rec-concrete"
0 0 25 29 1 #"\n"
0 0 25 3 4 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 15 3 3 #"rec"
0 0 25 3 2 #" {"
0 0 14 3 4 #"fact"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" {"
0 0 14 3 3 #"num"
0 0 25 3 1 #" "
0 0 14 3 2 #"->"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"n"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 16 #" {"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 14 3 1 #"n"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" {"
0 0 14 3 1 #"*"
0 0 25 3 1 #" "
0 0 14 3 1 #"n"
0 0 25 3 2 #" {"
0 0 14 3 4 #"fact"
0 0 25 3 2 #" {"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 14 3 1 #"n"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 5 #"}}}}}"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" {"
0 0 14 3 4 #"fact"
0 0 25 3 1 #" "
0 0 22 3 1 #"5"
0 0 25 3 3 #"}})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 7 #"fib-rec"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ("
0 0 14 3 4 #"recE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 3 #"fib"
0 0 25 3 2 #" ("
0 0 14 3 7 #"arrowTE"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 3 #") ("
0 0 14 3 5 #"numTE"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ("
0 0 14 3 4 #"if0E"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 4 #"if0E"
0 0 25 3 2 #" ("
0 0 14 3 6 #"minusE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" ("
0 0 14 3 5 #"plusE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 3 #"fib"
0 0 25 3 3 #") ("
0 0 14 3 6 #"minusE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 30 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 3 #"fib"
0 0 25 3 3 #") ("
0 0 14 3 6 #"minusE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 7 #")))))))"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 3 #"fib"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"4"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 16 #"fib-rec-concrete"
0 0 25 29 1 #"\n"
0 0 25 3 4 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 15 3 3 #"rec"
0 0 25 3 2 #" {"
0 0 14 3 3 #"fib"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" {"
0 0 14 3 3 #"num"
0 0 25 3 1 #" "
0 0 14 3 2 #"->"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 16 #" {"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" {"
0 0 14 3 3 #"if0"
0 0 25 3 2 #" {"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" "
0 0 22 3 1 #"1"
0 0 25 29 1 #"\n"
0 0 25 3 26 #" {"
0 0 14 3 1 #"+"
0 0 25 3 2 #" {"
0 0 14 3 3 #"fib"
0 0 25 3 2 #" {"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 29 #" {"
0 0 14 3 3 #"fib"
0 0 25 3 2 #" {"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 6 #"}}}}}}"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" {"
0 0 14 3 3 #"fib"
0 0 25 3 1 #" "
0 0 22 3 1 #"4"
0 0 25 3 3 #"}})"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" )"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 17 #"print-only-errors"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 2 #"`3"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"3"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"}) ("
0 0 14 3 5 #"plusE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"}) ("
0 0 14 3 6 #"minusE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"} "
0 0 14 3 1 #"x"
0 0 25 3 4 #"}) ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 3 #") ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"}) ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"f"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"}) ("
0 0 14 3 4 #"if0E"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 19 3 5 #"\"foo\""
0 0 25 3 2 #") "
0 0 19 3 13 #"\"parse error\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"foo"
0 0 25 3 3 #"}) "
0 0 19 3 13 #"\"parse error\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 18 #" {{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" {"
0 0 14 3 3 #"num"
0 0 25 3 1 #" "
0 0 14 3 2 #"->"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 23 #" {"
0 0 14 3 1 #"+"
0 0 25 3 2 #" {"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 27 #" {{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 32 #" {"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 26 #" "
0 0 22 3 1 #"3"
0 0 25 3 3 #"}}}"
0 0 25 29 1 #"\n"
0 0 25 3 18 #" {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"y"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 4 #"}}}}"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"f"
0 0 25 3 2 #" ("
0 0 14 3 7 #"arrowTE"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 3 #") ("
0 0 14 3 5 #"numTE"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 31 #" ("
0 0 14 3 5 #"plusE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"f"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 36 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 47 #" ("
0 0 14 3 4 #"appE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"f"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 53 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 42 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"3"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 3 26 #" ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"y"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 31 #" ("
0 0 14 3 5 #"plusE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"y"
0 0 25 3 5 #")))))"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 14 3 16 #"fib-rec-concrete"
0 0 25 3 2 #") "
0 0 14 3 7 #"fib-rec"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 10 #"parse-type"
0 0 25 3 1 #" "
0 0 14 3 2 #"te"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 2 #"TE"
0 0 25 3 1 #" "
0 0 14 3 2 #"te"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 5 #"numTE"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 6 #"boolTE"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 7 #"arrowTE"
0 0 25 3 1 #" "
0 0 14 3 1 #"a"
0 0 25 3 1 #" "
0 0 14 3 1 #"b"
0 0 25 3 3 #") ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 10 #"parse-type"
0 0 25 3 1 #" "
0 0 14 3 1 #"a"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 28 #" ("
0 0 14 3 10 #"parse-type"
0 0 25 3 1 #" "
0 0 14 3 1 #"b"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 7 #"guessTE"
0 0 25 3 2 #")("
0 0 14 3 4 #"varT"
0 0 25 3 2 #" ("
0 0 14 3 12 #"gen-tvar-id!"
0 0 25 3 3 #") ("
0 0 14 3 3 #"box"
0 0 25 3 2 #" ("
0 0 14 3 4 #"none"
0 0 25 3 4 #")))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 6 #"listTE"
0 0 25 3 1 #" "
0 0 14 3 10 #"element-te"
0 0 25 3 3 #") ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 10 #"parse-type"
0 0 25 3 1 #" "
0 0 14 3 10 #"element-te"
0 0 25 3 5 #"))]))"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 11 #"type-lookup"
0 0 25 3 1 #" "
0 0 14 3 12 #"name-to-find"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 7 #"TypeEnv"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 12 #"EmptyTypeEnv"
0 0 25 3 4 #" ) ("
0 0 14 3 5 #"error"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 11 #"type-lookup"
0 0 25 3 1 #" "
0 0 19 3 27 #"\"free variable, so no type\""
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 8 #"BindType"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 2 #"ty"
0 0 25 3 1 #" "
0 0 14 3 4 #"rest"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 2 #"if"
0 0 25 3 2 #" ("
0 0 14 3 8 #"symbol=?"
0 0 25 3 1 #" "
0 0 14 3 12 #"name-to-find"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" "
0 0 14 3 2 #"ty"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 11 #"type-lookup"
0 0 25 3 1 #" "
0 0 14 3 12 #"name-to-find"
0 0 25 3 1 #" "
0 0 14 3 4 #"rest"
0 0 25 3 5 #"))]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 12 #"gen-tvar-id!"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 3 #"let"
0 0 25 3 3 #" (("
0 0 14 3 7 #"counter"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 6 #"lambda"
0 0 25 3 3 #" ()"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 7 #" ("
0 0 14 3 4 #"set!"
0 0 25 3 1 #" "
0 0 14 3 7 #"counter"
0 0 25 3 2 #" ("
0 0 14 3 4 #"add1"
0 0 25 3 1 #" "
0 0 14 3 7 #"counter"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" "
0 0 14 3 7 #"counter"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 7 #"resolve"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"varT"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 3 #"val"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 2 #" ("
0 0 14 3 8 #"Optionof"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 3 #") ("
0 0 14 3 5 #"unbox"
0 0 25 3 1 #" "
0 0 14 3 3 #"val"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 4 #"none"
0 0 25 3 2 #") "
0 0 14 3 1 #"t"
0 0 25 3 1 #"]"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 4 #"some"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 3 #") ("
0 0 14 3 7 #"resolve"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 4 #")])]"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ["
0 0 14 3 4 #"else"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 3 3 #"]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 14 #"uses-type-var?"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 2 #" ("
0 0 14 3 7 #"resolve"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"varT"
0 0 25 3 1 #" "
0 0 14 3 4 #"t-id"
0 0 25 3 1 #" "
0 0 14 3 3 #"val"
0 0 25 3 3 #") ("
0 0 14 3 1 #"="
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 4 #"t-id"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 6 #"arrowT"
0 0 25 3 1 #" "
0 0 14 3 1 #"a"
0 0 25 3 1 #" "
0 0 14 3 1 #"b"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 2 #"or"
0 0 25 3 2 #" ("
0 0 14 3 14 #"uses-type-var?"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 1 #"a"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 14 #"uses-type-var?"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 1 #"b"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ["
0 0 14 3 4 #"else"
0 0 25 3 1 #" "
0 0 22 3 2 #"#f"
0 0 25 3 3 #"]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 7 #"occurs?"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"varT"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 3 #"val"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 2 #" ("
0 0 14 3 7 #"resolve"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 6 #"arrowT"
0 0 25 3 1 #" "
0 0 14 3 1 #"a"
0 0 25 3 1 #" "
0 0 14 3 1 #"b"
0 0 25 3 3 #") ("
0 0 14 3 14 #"uses-type-var?"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ["
0 0 14 3 4 #"else"
0 0 25 3 1 #" "
0 0 22 3 2 #"#f"
0 0 25 3 3 #"])]"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 17 #"expected-type-var"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 7 #"occurs?"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 4 #")]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 10 #"type-error"
0 0 25 3 1 #" "
0 0 14 3 3 #"exp"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 5 #"error"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 9 #"typecheck"
0 0 25 3 2 #" ("
0 0 14 3 13 #"string-append"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" "
0 0 19 3 11 #"\"no type: \""
0 0 25 29 1 #"\n"
0 0 25 3 22 #" ("
0 0 14 3 13 #"string-append"
0 0 25 29 1 #"\n"
0 0 25 3 23 #" ("
0 0 14 3 9 #"to-string"
0 0 25 3 1 #" "
0 0 14 3 3 #"exp"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 23 #" ("
0 0 14 3 13 #"string-append"
0 0 25 29 1 #"\n"
0 0 25 3 23 #" "
0 0 19 3 8 #"\" type \""
0 0 25 29 1 #"\n"
0 0 25 3 24 #" ("
0 0 14 3 13 #"string-append"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" ("
0 0 14 3 9 #"to-string"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" ("
0 0 14 3 13 #"string-append"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" "
0 0 19 3 7 #"\" vs. \""
0 0 25 29 1 #"\n"
0 0 25 3 26 #" ("
0 0 14 3 9 #"to-string"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 8 #"))))))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 17 #"expected-type-var"
0 0 25 3 1 #" "
0 0 14 3 5 #"where"
0 0 25 3 1 #" "
0 0 14 3 4 #"type"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 5 #"error"
0 0 25 3 1 #" "
0 0 14 3 5 #"where"
0 0 25 3 2 #" ("
0 0 14 3 13 #"string-append"
0 0 25 3 1 #" "
0 0 19 3 22 #"\"not a type variable \""
0 0 25 3 2 #" ("
0 0 14 3 9 #"to-string"
0 0 25 3 1 #" "
0 0 14 3 4 #"type"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 15 #"unify-type-var!"
0 0 25 3 1 #" "
0 0 14 3 1 #"T"
0 0 25 3 1 #" "
0 0 14 3 4 #"tau2"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 1 #" "
0 0 14 3 1 #"T"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"varT"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 3 #"val"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 2 #" ("
0 0 14 3 8 #"Optionof"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 3 #") ("
0 0 14 3 5 #"unbox"
0 0 25 3 1 #" "
0 0 14 3 3 #"val"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 4 #"some"
0 0 25 3 1 #" "
0 0 14 3 4 #"tau1"
0 0 25 3 3 #") ("
0 0 14 3 6 #"unify!"
0 0 25 3 1 #" "
0 0 14 3 4 #"tau1"
0 0 25 3 1 #" "
0 0 14 3 4 #"tau2"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 4 #"none"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" ("
0 0 15 3 3 #"let"
0 0 25 3 3 #" (["
0 0 14 3 2 #"t3"
0 0 25 3 2 #" ("
0 0 14 3 7 #"resolve"
0 0 25 3 1 #" "
0 0 14 3 4 #"tau2"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" ("
0 0 15 3 4 #"cond"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" [("
0 0 14 3 6 #"equal?"
0 0 25 3 1 #" "
0 0 14 3 1 #"T"
0 0 25 3 1 #" "
0 0 14 3 2 #"t3"
0 0 25 3 3 #") ("
0 0 14 3 4 #"void"
0 0 25 3 3 #")] "
0 0 17 3 40 #";; nothing to unify, same type variables"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" [("
0 0 14 3 7 #"occurs?"
0 0 25 3 1 #" "
0 0 14 3 1 #"T"
0 0 25 3 1 #" "
0 0 14 3 2 #"t3"
0 0 25 3 4 #") ("
0 0 14 3 10 #"type-error"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #" "
0 0 14 3 1 #"T"
0 0 25 3 1 #" "
0 0 14 3 2 #"t3"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ["
0 0 14 3 4 #"else"
0 0 25 3 3 #" ("
0 0 14 3 8 #"set-box!"
0 0 25 3 1 #" "
0 0 14 3 3 #"val"
0 0 25 3 2 #" ("
0 0 14 3 4 #"some"
0 0 25 3 1 #" "
0 0 14 3 2 #"t3"
0 0 25 3 8 #"))]))])]"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 17 #"expected-type-var"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 15 #"unify-type-var!"
0 0 25 3 1 #" "
0 0 14 3 1 #"T"
0 0 25 3 4 #")]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 13 #"unify-assert!"
0 0 25 3 1 #" "
0 0 14 3 3 #"tau"
0 0 25 3 1 #" "
0 0 14 3 8 #"type-val"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 6 #"unless"
0 0 25 3 2 #" ("
0 0 14 3 6 #"equal?"
0 0 25 3 1 #" "
0 0 14 3 3 #"tau"
0 0 25 3 1 #" "
0 0 14 3 8 #"type-val"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ("
0 0 14 3 10 #"type-error"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #" "
0 0 14 3 3 #"tau"
0 0 25 3 1 #" "
0 0 14 3 8 #"type-val"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 17 3 45 #";; third argument is just for error reporting"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"varT"
0 0 25 3 1 #" "
0 0 14 3 2 #"id"
0 0 25 3 1 #" "
0 0 14 3 3 #"is1"
0 0 25 3 3 #") ("
0 0 14 3 15 #"unify-type-var!"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 5 #" ["
0 0 14 3 4 #"else"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 4 #"varT"
0 0 25 3 1 #" "
0 0 14 3 3 #"id2"
0 0 25 3 1 #" "
0 0 14 3 3 #"is2"
0 0 25 3 3 #") ("
0 0 14 3 15 #"unify-type-var!"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 4 #"numT"
0 0 25 3 3 #") ("
0 0 14 3 13 #"unify-assert!"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #") "
0 0 14 3 4 #"expr"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #") ("
0 0 14 3 13 #"unify-assert!"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #") "
0 0 14 3 4 #"expr"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 5 #"listT"
0 0 25 3 1 #" "
0 0 14 3 12 #"element-type"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" [("
0 0 14 3 5 #"listT"
0 0 25 3 1 #" "
0 0 14 3 18 #"other-element-type"
0 0 25 3 3 #") ("
0 0 14 3 6 #"unify!"
0 0 25 3 1 #" "
0 0 14 3 12 #"element-type"
0 0 25 3 1 #" "
0 0 14 3 18 #"other-element-type"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 10 #"type-error"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 4 #")])]"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" [("
0 0 14 3 6 #"arrowT"
0 0 25 3 1 #" "
0 0 14 3 2 #"a2"
0 0 25 3 1 #" "
0 0 14 3 2 #"b2"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" [("
0 0 14 3 6 #"arrowT"
0 0 25 3 1 #" "
0 0 14 3 2 #"a1"
0 0 25 3 1 #" "
0 0 14 3 2 #"b1"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 1 #" "
0 0 14 3 2 #"a1"
0 0 25 3 1 #" "
0 0 14 3 2 #"a2"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 1 #" "
0 0 14 3 2 #"b1"
0 0 25 3 1 #" "
0 0 14 3 2 #"b2"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 11 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 10 #"type-error"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #" "
0 0 14 3 2 #"t1"
0 0 25 3 1 #" "
0 0 14 3 2 #"t2"
0 0 25 3 8 #")])])]))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 4 #")) ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #")) "
0 0 22 3 1 #"'"
0 0 14 3 4 #"test"
0 0 25 3 3 #") ("
0 0 14 3 4 #"void"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 4 #")) ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")) "
0 0 22 3 1 #"'"
0 0 14 3 4 #"test"
0 0 25 3 2 #") "
0 0 19 3 9 #"\"no type\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #") ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")) "
0 0 22 3 1 #"'"
0 0 14 3 4 #"test"
0 0 25 3 2 #") "
0 0 19 3 9 #"\"no type\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #")) ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #") "
0 0 22 3 1 #"'"
0 0 14 3 4 #"test"
0 0 25 3 2 #") "
0 0 19 3 9 #"\"no type\""
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 2 #" ["
0 0 14 3 3 #"exp"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 3 #"] ["
0 0 14 3 3 #"env"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 7 #"TypeEnv"
0 0 25 3 3 #"]) "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 3 #"Exp"
0 0 25 3 1 #" "
0 0 14 3 3 #"exp"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 14 3 1 #"n"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 5 #"boolE"
0 0 25 3 1 #" "
0 0 14 3 1 #"b"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"notE"
0 0 25 3 1 #" "
0 0 14 3 2 #"ex"
0 0 25 3 3 #") ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 18 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 2 #"ex"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #") "
0 0 14 3 2 #"ex"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 18 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 6 #"timesE"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 3 #") ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #") "
0 0 14 3 1 #"l"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #") "
0 0 14 3 1 #"r"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 5 #"plusE"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 3 #") ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #") "
0 0 14 3 1 #"l"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #") "
0 0 14 3 1 #"r"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 6 #"minusE"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 3 #") ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 1 #"l"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #") "
0 0 14 3 1 #"l"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 1 #"r"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #") "
0 0 14 3 1 #"r"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"if0E"
0 0 25 3 1 #" "
0 0 14 3 9 #"test-expr"
0 0 25 3 1 #" "
0 0 14 3 9 #"then-expr"
0 0 25 3 1 #" "
0 0 14 3 9 #"else-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 3 #"let"
0 0 25 3 3 #" (["
0 0 14 3 7 #"test-ty"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 9 #"test-expr"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" ["
0 0 14 3 7 #"then-ty"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 9 #"then-expr"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" ["
0 0 14 3 7 #"else-ty"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 9 #"else-expr"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 1 #" "
0 0 14 3 7 #"test-ty"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #") "
0 0 14 3 9 #"test-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 1 #" "
0 0 14 3 7 #"then-ty"
0 0 25 3 1 #" "
0 0 14 3 7 #"else-ty"
0 0 25 3 1 #" "
0 0 14 3 9 #"else-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" "
0 0 14 3 7 #"then-ty"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 3 #") ("
0 0 14 3 11 #"type-lookup"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"recE"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 2 #"ty"
0 0 25 3 1 #" "
0 0 14 3 8 #"rhs-expr"
0 0 25 3 1 #" "
0 0 14 3 9 #"body-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 4 #"let*"
0 0 25 3 3 #" (["
0 0 14 3 8 #"type-ann"
0 0 25 3 2 #" ("
0 0 14 3 10 #"parse-type"
0 0 25 3 1 #" "
0 0 14 3 2 #"ty"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ["
0 0 14 3 7 #"new-env"
0 0 25 3 2 #" ("
0 0 14 3 8 #"BindType"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 8 #"type-ann"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ["
0 0 14 3 6 #"rhs-ty"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 8 #"rhs-expr"
0 0 25 3 1 #" "
0 0 14 3 7 #"new-env"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 1 #" "
0 0 14 3 8 #"type-ann"
0 0 25 3 1 #" "
0 0 14 3 6 #"rhs-ty"
0 0 25 3 1 #" "
0 0 14 3 8 #"rhs-expr"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 9 #"body-expr"
0 0 25 3 1 #" "
0 0 14 3 7 #"new-env"
0 0 25 3 4 #")))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"appE"
0 0 25 3 1 #" "
0 0 14 3 2 #"fn"
0 0 25 3 1 #" "
0 0 14 3 3 #"arg"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 3 #"let"
0 0 25 3 3 #" (["
0 0 14 3 6 #"r-type"
0 0 25 3 2 #" ("
0 0 14 3 4 #"varT"
0 0 25 3 2 #" ("
0 0 14 3 12 #"gen-tvar-id!"
0 0 25 3 3 #") ("
0 0 14 3 3 #"box"
0 0 25 3 2 #" ("
0 0 14 3 4 #"none"
0 0 25 3 4 #")))]"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" ["
0 0 14 3 6 #"a-type"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 3 #"arg"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" ["
0 0 14 3 7 #"fn-type"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 2 #"fn"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #")])"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 15 3 5 #"begin"
0 0 25 29 1 #"\n"
0 0 25 3 10 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 6 #"arrowT"
0 0 25 3 1 #" "
0 0 14 3 6 #"a-type"
0 0 25 3 1 #" "
0 0 14 3 6 #"r-type"
0 0 25 3 2 #") "
0 0 14 3 7 #"fn-type"
0 0 25 3 1 #" "
0 0 14 3 2 #"fn"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" "
0 0 14 3 6 #"r-type"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 2 #"te"
0 0 25 3 1 #" "
0 0 14 3 4 #"body"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 15 3 4 #"let*"
0 0 25 3 3 #" (["
0 0 14 3 8 #"arg-type"
0 0 25 3 2 #" ("
0 0 14 3 10 #"parse-type"
0 0 25 3 1 #" "
0 0 14 3 2 #"te"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" ["
0 0 14 3 8 #"res-type"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 4 #"body"
0 0 25 3 2 #" ("
0 0 14 3 8 #"BindType"
0 0 25 3 1 #" "
0 0 14 3 4 #"name"
0 0 25 3 1 #" "
0 0 14 3 8 #"arg-type"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 4 #"))])"
0 0 25 29 1 #"\n"
0 0 25 3 8 #" ("
0 0 14 3 6 #"arrowT"
0 0 25 3 1 #" "
0 0 14 3 8 #"arg-type"
0 0 25 3 1 #" "
0 0 14 3 8 #"res-type"
0 0 25 3 3 #"))]"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" [("
0 0 14 3 5 #"listE"
0 0 25 3 1 #" "
0 0 14 3 8 #"elements"
0 0 25 3 3 #") ("
0 0 15 3 5 #"local"
0 0 25 3 1 #" "
0 0 17 3 58
#";; this sucks. do not think it's right but it passes tests"
0 0 25 29 1 #"\n"
0 0 25 3 26 #" [("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 9 #"type-list"
0 0 25 3 2 #" ("
0 0 14 3 3 #"map"
0 0 25 3 2 #" ("
0 0 15 3 6 #"lambda"
0 0 25 3 2 #" ("
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 3 #"env"
0 0 25 3 3 #")) "
0 0 14 3 8 #"elements"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 26 #" ("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 8 #"filtered"
0 0 25 3 2 #" ("
0 0 14 3 6 #"filter"
0 0 25 3 2 #" ("
0 0 15 3 6 #"lambda"
0 0 25 3 2 #" ("
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 6 #"equal?"
0 0 25 3 2 #" ("
0 0 14 3 5 #"first"
0 0 25 3 1 #" "
0 0 14 3 9 #"type-list"
0 0 25 3 2 #") "
0 0 14 3 1 #"x"
0 0 25 3 3 #")) "
0 0 14 3 9 #"type-list"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 26 #" ("
0 0 15 3 6 #"define"
0 0 25 3 2 #" ("
0 0 14 3 9 #"check-all"
0 0 25 3 1 #" "
0 0 14 3 3 #"lst"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 28 #" ("
0 0 15 3 9 #"type-case"
0 0 25 3 1 #" "
0 0 14 3 4 #"Type"
0 0 25 3 2 #" ("
0 0 14 3 5 #"first"
0 0 25 3 1 #" "
0 0 14 3 9 #"type-list"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 31 #" [("
0 0 14 3 4 #"varT"
0 0 25 3 1 #" "
0 0 14 3 1 #"v"
0 0 25 3 1 #" "
0 0 14 3 1 #"t"
0 0 25 3 3 #") ("
0 0 14 3 6 #"second"
0 0 25 3 1 #" "
0 0 14 3 9 #"type-list"
0 0 25 3 2 #")]"
0 0 25 29 1 #"\n"
0 0 25 3 30 #" ["
0 0 14 3 4 #"else"
0 0 25 3 2 #" ("
0 0 14 3 5 #"error"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 9 #"typecheck"
0 0 25 3 1 #" "
0 0 19 3 9 #"\"no type\""
0 0 25 3 5 #")]))]"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" ("
0 0 14 3 2 #"if"
0 0 25 3 2 #" ("
0 0 14 3 6 #"equal?"
0 0 25 3 1 #" "
0 0 14 3 8 #"filtered"
0 0 25 3 1 #" "
0 0 14 3 9 #"type-list"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 29 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"first"
0 0 25 3 1 #" "
0 0 14 3 9 #"type-list"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 29 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 9 #"check-all"
0 0 25 3 1 #" "
0 0 14 3 9 #"type-list"
0 0 25 3 7 #"))))]))"
0 0 25 29 1 #"\n"
0 0 17 3 43 #";; ----------------------------------------"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 18 #"define-syntax-rule"
0 0 25 3 2 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 1 #" "
0 0 14 3 4 #"type"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 4 #" ("
0 0 15 3 5 #"begin"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"check"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 2 #") "
0 0 14 3 4 #"type"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 2 #") "
0 0 14 3 4 #"type"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" "
0 0 14 3 4 #"type"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 18 #"define-syntax-rule"
0 0 25 3 2 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 3 #") ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 5 #"check"
0 0 25 3 1 #" "
0 0 14 3 4 #"expr"
0 0 25 3 2 #") "
0 0 19 3 9 #"\"no type\""
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 17 #"print-only-errors"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"check"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"}) ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 14 3 1 #"x"
0 0 25 3 2 #") "
0 0 19 3 15 #"\"free variable\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"not"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 4 #"}) ("
0 0 14 3 5 #"boolV"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 3 #"`10"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 4 #"}) ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 2 #"27"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 1 #" "
0 0 22 3 1 #"7"
0 0 25 3 4 #"}) ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"3"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 2 #"12"
0 0 25 3 4 #"}} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 5 #"}}) ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 2 #"30"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ("
0 0 14 3 9 #"BindValue"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 3 #") ("
0 0 14 3 13 #"EmptyValueEnv"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 7 #"lam-lam"
0 0 25 29 1 #"\n"
0 0 25 3 4 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" {{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" ("
0 0 14 3 3 #"num"
0 0 25 3 1 #" "
0 0 14 3 2 #"->"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #")}"
0 0 25 29 1 #"\n"
0 0 25 3 18 #" {"
0 0 14 3 1 #"+"
0 0 25 3 2 #" {"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 22 #" {{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 27 #" {"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" "
0 0 22 3 1 #"3"
0 0 25 3 3 #"}}}"
0 0 25 29 1 #"\n"
0 0 25 3 13 #" {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"y"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 18 #" {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"y"
0 0 25 3 4 #"}}}}"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 14 3 7 #"lam-lam"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"3"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" )"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"}) ("
0 0 14 3 5 #"listV"
0 0 25 3 2 #" ("
0 0 14 3 4 #"list"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 1 #" "
0 0 14 3 4 #"true"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 4 #"}) ("
0 0 14 3 5 #"listV"
0 0 25 3 2 #" ("
0 0 14 3 4 #"list"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolV"
0 0 25 3 1 #" "
0 0 22 3 2 #"#f"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolV"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolV"
0 0 25 3 1 #" "
0 0 22 3 2 #"#f"
0 0 25 3 5 #")))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 17 #"print-only-errors"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 14 3 1 #"x"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"not"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"not"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 3 #"} ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 14 3 7 #"lam-lam"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 2 #" "
0 0 22 3 3 #"`10"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 3 #"} ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 1 #" "
0 0 22 3 1 #"7"
0 0 25 3 3 #"} ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"-"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 2 #"12"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"} "
0 0 14 3 1 #"x"
0 0 25 3 2 #"} "
0 0 14 3 4 #"true"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"y"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 4 #"bool"
0 0 25 3 2 #"} "
0 0 14 3 1 #"x"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #") ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 4 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 2 #"12"
0 0 25 3 4 #"}} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 4 #"}} ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 1 #"+"
0 0 25 3 2 #" {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} "
0 0 22 3 2 #"12"
0 0 25 3 2 #"} "
0 0 22 3 1 #"2"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 41 #";; Added coverage test for type-to-string"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" {"
0 0 14 3 3 #"num"
0 0 25 3 1 #" "
0 0 14 3 2 #"->"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 23 #" {"
0 0 14 3 1 #"f"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #"}}"
0 0 25 29 1 #"\n"
0 0 25 3 17 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" )"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 17 #"print-only-errors"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 16 #";; Tests for if0"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 4 #"}) ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 4 #"}) ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 3 #"} ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 3 #"} ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #" {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"} "
0 0 14 3 1 #"x"
0 0 25 3 2 #"} "
0 0 22 3 1 #"0"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"if0"
0 0 25 3 2 #" {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"} "
0 0 14 3 1 #"x"
0 0 25 3 2 #"} "
0 0 22 3 1 #"0"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" )"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 17 #"print-only-errors"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 16 #";; Tests for Rec"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"parse"
0 0 25 3 1 #" "
0 0 14 3 17 #"fact-rec-concrete"
0 0 25 3 2 #") "
0 0 14 3 8 #"fact-rec"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 14 3 16 #"fib-rec-concrete"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 7 #"fib-rec"
0 0 25 3 2 #" ("
0 0 14 3 13 #"EmptyValueEnv"
0 0 25 3 4 #")) ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"5"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 14 3 17 #"fact-rec-concrete"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 1 #" "
0 0 14 3 8 #"fact-rec"
0 0 25 3 2 #" ("
0 0 14 3 13 #"EmptyValueEnv"
0 0 25 3 4 #")) ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 3 #"120"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 15 3 3 #"rec"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} {"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"y"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 2 #"} "
0 0 22 3 1 #"3"
0 0 25 3 2 #"} "
0 0 22 3 2 #"10"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 48 #";; Contrived test to get full coverage of lookup"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 6 #"interp"
0 0 25 3 2 #" ("
0 0 14 3 4 #"recE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 20 #" ("
0 0 14 3 4 #"recE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"y"
0 0 25 3 2 #" ("
0 0 14 3 5 #"numTE"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 25 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 15 #" ("
0 0 14 3 13 #"EmptyValueEnv"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 9 #" ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 2 #"10"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 1 #"?"
0 0 25 3 3 #"} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 2 #"12"
0 0 25 3 4 #"}} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 4 #"}} ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 74
(5 74
;; illustrate that the return of our typecheck function can be a bit messy
) 0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 15 3 6 #"define"
0 0 25 3 1 #" "
0 0 14 3 12 #"wrapped-type"
0 0 25 3 2 #" ("
0 0 14 3 5 #"check"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 1 #"?"
0 0 25 3 3 #"} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 2 #"12"
0 0 25 3 4 #"}} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 2 #"17"
0 0 25 3 4 #"}}))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 5 #"varT?"
0 0 25 3 1 #" "
0 0 14 3 12 #"wrapped-type"
0 0 25 3 2 #") "
0 0 22 3 2 #"#t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 8 #"varT-val"
0 0 25 3 1 #" "
0 0 14 3 12 #"wrapped-type"
0 0 25 3 3 #") ("
0 0 14 3 3 #"box"
0 0 25 3 2 #" ("
0 0 14 3 4 #"some"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 2 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 1 #"?"
0 0 25 3 3 #"} {"
0 0 14 3 1 #"+"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 2 #"12"
0 0 25 3 4 #"}} ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 2 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 1 #"?"
0 0 25 3 3 #"} {"
0 0 14 3 3 #"if0"
0 0 25 3 1 #" "
0 0 22 3 1 #"0"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 4 #"}} ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 28 #";; coverage for occurs check"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 1 #"?"
0 0 25 3 3 #"} {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 3 #"}})"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 4 #" ("
0 0 15 3 3 #"let"
0 0 25 3 3 #" (["
0 0 14 3 1 #"T"
0 0 25 3 2 #" ("
0 0 14 3 4 #"varT"
0 0 25 3 2 #" ("
0 0 14 3 12 #"gen-tvar-id!"
0 0 25 3 3 #") ("
0 0 14 3 3 #"box"
0 0 25 3 2 #" ("
0 0 14 3 4 #"none"
0 0 25 3 5 #")))])"
0 0 25 29 1 #"\n"
0 0 25 3 6 #" ("
0 0 14 3 7 #"occurs?"
0 0 25 3 1 #" "
0 0 14 3 1 #"T"
0 0 25 3 2 #" ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #") "
0 0 14 3 1 #"T"
0 0 25 3 4 #"))) "
0 0 22 3 2 #"#t"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 7 #"occurs?"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #") ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #"))) "
0 0 19 3 21 #"\"not a type variable\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 30 #";; coverage for unify-type-var"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 15 #"unify-type-var!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #") "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #") "
0 0 19 3 21 #"\"not a type variable\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 9 #"typecheck"
0 0 25 3 2 #" ("
0 0 14 3 4 #"lamE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 2 #" ("
0 0 14 3 7 #"guessTE"
0 0 25 3 3 #") ("
0 0 14 3 5 #"plusE"
0 0 25 3 2 #" ("
0 0 14 3 3 #"idE"
0 0 25 3 1 #" "
0 0 22 3 1 #"'"
0 0 14 3 1 #"x"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 2 #"12"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 32 #" ("
0 0 14 3 12 #"EmptyTypeEnv"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numT"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 21 #" ("
0 0 14 3 4 #"numE"
0 0 25 3 1 #" "
0 0 22 3 2 #"-1"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 12 #" "
0 0 19 3 9 #"\"no type\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 29 #";; soundness bug still exists"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 2 #"#;"
0 0 60 3 1 #"("
0 0 61 3 8 #"test/exn"
0 0 60 3 2 #" ("
0 0 61 3 9 #"typecheck"
0 0 60 3 2 #" ("
0 0 61 3 4 #"recE"
0 0 60 3 1 #" "
0 0 62 3 1 #"'"
0 0 61 3 1 #"f"
0 0 60 3 2 #" ("
0 0 61 3 7 #"arrowTE"
0 0 60 3 2 #" ("
0 0 61 3 5 #"numTE"
0 0 60 3 3 #") ("
0 0 61 3 5 #"numTE"
0 0 60 3 4 #")) ("
0 0 61 3 3 #"idE"
0 0 60 3 1 #" "
0 0 62 3 1 #"'"
0 0 61 3 1 #"f"
0 0 60 3 3 #") ("
0 0 61 3 4 #"appE"
0 0 60 3 2 #" ("
0 0 61 3 3 #"idE"
0 0 60 3 1 #" "
0 0 62 3 1 #"'"
0 0 61 3 1 #"f"
0 0 60 3 3 #") ("
0 0 61 3 4 #"numE"
0 0 60 3 1 #" "
0 0 62 3 2 #"10"
0 0 60 3 3 #")))"
0 0 60 29 1 #"\n"
0 0 60 3 26 #" ("
0 0 61 3 12 #"EmptyTypeEnv"
0 0 60 3 2 #"))"
0 0 60 29 1 #"\n"
0 0 60 3 14 #" "
0 0 63 3 9 #"\"no type\""
0 0 60 3 1 #")"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 19 #";; lists of numbers"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 3 #"} ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 31 #";; report error for mixed types"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 2 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 14 3 4 #"true"
0 0 25 3 2 #"})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 21 #";; infer type of list"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} {"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 4 #"}} ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #") ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 35 #";; functions taking list parameters"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 2 #" {"
0 0 14 3 6 #"listof"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"}} "
0 0 14 3 1 #"x"
0 0 25 3 1 #"}"
0 0 25 29 1 #"\n"
0 0 25 3 14 #" ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #")) ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 40 #";; report error for mixed inferred types"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 3 #"num"
0 0 25 3 3 #"} {"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 14 3 4 #"true"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 3 #"}})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 53 #";; infer type of function parameter from list element"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 1 #"?"
0 0 25 3 3 #"} {"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 4 #"}} ("
0 0 14 3 6 #"arrowT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #") ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 56 #";; complain about cyclic type (Y-combinator) inside list"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 11 #"test/notype"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 1 #"?"
0 0 25 3 3 #"} {"
0 0 14 3 4 #"list"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 4 #"}}})"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 2 #" "
0 0 17 3 47 #";; infer type of list from function application"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 9 #"test/type"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 2 #"{{"
0 0 14 3 3 #"lam"
0 0 25 3 2 #" {"
0 0 14 3 1 #"x"
0 0 25 3 1 #" "
0 0 14 3 1 #":"
0 0 25 3 1 #" "
0 0 14 3 1 #"?"
0 0 25 3 3 #"} {"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 14 3 1 #"x"
0 0 25 3 3 #"}} "
0 0 22 3 1 #"2"
0 0 25 3 3 #"} ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")))"
0 0 25 29 1 #"\n"
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 4 #")) ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #")) "
0 0 22 3 1 #"'"
0 0 14 3 4 #"test"
0 0 25 3 3 #") ("
0 0 14 3 4 #"void"
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 4 #")) ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")) "
0 0 22 3 1 #"'"
0 0 14 3 4 #"test"
0 0 25 3 2 #") "
0 0 19 3 9 #"\"no type\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolT"
0 0 25 3 3 #") ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 3 #")) "
0 0 22 3 1 #"'"
0 0 14 3 4 #"test"
0 0 25 3 2 #") "
0 0 19 3 9 #"\"no type\""
0 0 25 3 1 #")"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 8 #"test/exn"
0 0 25 3 2 #" ("
0 0 14 3 6 #"unify!"
0 0 25 3 2 #" ("
0 0 14 3 5 #"listT"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numT"
0 0 25 3 4 #")) ("
0 0 14 3 5 #"boolT"
0 0 25 3 2 #") "
0 0 22 3 1 #"'"
0 0 14 3 4 #"test"
0 0 25 3 2 #") "
0 0 19 3 9 #"\"no type\""
0 0 25 3 2 #"))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0 25 3 1 #"("
0 0 15 3 7 #"module+"
0 0 25 3 1 #" "
0 0 14 3 4 #"test"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"}) ("
0 0 14 3 5 #"listV"
0 0 25 3 2 #" ("
0 0 14 3 4 #"list"
0 0 25 3 2 #" ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"1"
0 0 25 3 3 #") ("
0 0 14 3 4 #"numV"
0 0 25 3 1 #" "
0 0 22 3 1 #"2"
0 0 25 3 4 #"))))"
0 0 25 29 1 #"\n"
0 0 25 3 3 #" ("
0 0 14 3 4 #"test"
0 0 25 3 2 #" ("
0 0 14 3 3 #"run"
0 0 25 3 1 #" "
0 0 22 3 1 #"`"
0 0 25 3 1 #"{"
0 0 14 3 4 #"list"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 1 #" "
0 0 14 3 4 #"true"
0 0 25 3 1 #" "
0 0 14 3 5 #"false"
0 0 25 3 4 #"}) ("
0 0 14 3 5 #"listV"
0 0 25 3 2 #" ("
0 0 14 3 4 #"list"
0 0 25 3 2 #" ("
0 0 14 3 5 #"boolV"
0 0 25 3 1 #" "
0 0 22 3 2 #"#f"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolV"
0 0 25 3 1 #" "
0 0 22 3 2 #"#t"
0 0 25 3 3 #") ("
0 0 14 3 5 #"boolV"
0 0 25 3 1 #" "
0 0 22 3 2 #"#f"
0 0 25 3 5 #")))))"
0 0 25 29 1 #"\n"
0 0 25 29 1 #"\n"
0 0