#reader(lib"read.ss""wxme")WXME0108 ## #| This file uses the GRacket editor format. Open this file in DrRacket version 5.0 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/ |# 28 7 #"wxtext\0" 3 1 6 #"wxtab\0" 1 1 8 #"wxmedia\0" 4 1 8 #"wximage\0" 2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0" 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 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0" 0 0 19 #"drscheme:sexp-snip\0" 0 0 40 #"(lib \"image-core.ss\" \"2htdp\" \"private\")\0" 1 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0" 1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0" 0 0 29 #"drscheme:bindings-snipclass%\0" 1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0" 1 0 22 #"drscheme:lambda-snip%\0" 1 0 56 #"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browser\")\0" 1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0" 1 0 26 #"drscheme:pict-value-snip%\0" 0 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 15 #"test-case-box%\0" 2 0 1 6 #"wxloc\0" 0 0 48 0 1 #"\0" 0 75 1 #"\0" 0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9 #"Standard\0" 0 75 12 #"Courier New\0" 0 20 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 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 1 1 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 1 1 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 1 1 1 150 0 150 0 0 0 -1 -1 2 15 #"text:ports out\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 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 1.0 1.0 1.0 255 0 0 0 0 0 -1 -1 2 15 #"text:ports err\0" 0 -1 1 #"\0" 1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 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 1 1 1 0 0 175 0 0 0 -1 -1 2 17 #"text:ports value\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 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 1.0 1.0 1.0 34 139 34 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 1.0 1.0 1.0 34 139 34 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37 #"framework:syntax-color:scheme:symbol\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38 #"framework:syntax-color:scheme:keyword\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 38 #"framework:syntax-color:scheme:comment\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37 #"framework:syntax-color:scheme:string\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39 #"framework:syntax-color:scheme:constant\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42 #"framework:syntax-color:scheme:parenthesis\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 #"framework:syntax-color:scheme:error\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36 #"framework:syntax-color:scheme:other\0" 0 -1 1 #"\0" 1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 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 1 1 1 81 112 203 0 0 0 -1 -1 2 38 #"drracket:check-syntax:lexically-bound\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 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 1 1 1 178 34 34 0 0 0 -1 -1 2 28 #"drracket:check-syntax:set!d\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 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 1 1 1 68 0 203 0 0 0 -1 -1 2 31 #"drracket:check-syntax:imported\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 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 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 0 0 0 0 0 0 -1 -1 8 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24 #"drscheme:text:ports err\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 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 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 1.0 1.0 1.0 0 0 255 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 1.0 1.0 1.0 0 0 255 0 0 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 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1 -1 0 1 #"\0" 0 75 12 #"Courier New\0" 0.0 20 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 255 255 1 -1 2 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 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.0 1.0 1.0 1.0 150 0 150 0 0 0 -1 -1 0 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 200 0 0 0 0 0 -1 -1 0 1 #"\0" 0 -1 1 #"\0" 0.0 8 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 0.0 8 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.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 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 0 570 0 26 3 10 #"#lang plai" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 11 #"define-type" 0 0 4 3 1 #" " 0 0 14 3 3 #"WAE" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"num" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"n" 0 0 4 3 1 #" " 0 0 14 3 7 #"number?" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"add" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"lhs" 0 0 4 3 1 #" " 0 0 14 3 4 #"WAE?" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 7 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"rhs" 0 0 4 3 1 #" " 0 0 14 3 4 #"WAE?" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"sub" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"lhs" 0 0 4 3 1 #" " 0 0 14 3 4 #"WAE?" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 7 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"rhs" 0 0 4 3 1 #" " 0 0 14 3 4 #"WAE?" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"with" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"name" 0 0 4 3 1 #" " 0 0 14 3 7 #"symbol?" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"named-expr" 0 0 4 3 1 #" " 0 0 14 3 4 #"WAE?" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"body" 0 0 4 3 1 #" " 0 0 14 3 4 #"WAE?" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 2 #"id" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"name" 0 0 4 3 1 #" " 0 0 14 3 7 #"symbol?" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 1 #" " 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 21 #";;parse : sexp -> WAE" 0 0 4 29 1 #"\n" 0 0 17 3 36 #";;to convert s-expressions into WAEs" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 15 3 4 #"cond" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 2 #"((" 0 0 14 3 7 #"number?" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 2 #")(" 0 0 14 3 3 #"num" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 2 #"((" 0 0 14 3 7 #"symbol?" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 2 #")(" 0 0 14 3 2 #"id" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 2 #"((" 0 0 14 3 5 #"list?" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 15 3 4 #"case" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"first" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 7 #" " 0 0 22 3 2 #"((" 0 0 14 3 1 #"+" 0 0 22 3 2 #")(" 0 0 14 3 3 #"add" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 6 #"second" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 16 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"third" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 4 #"))))" 0 0 4 29 1 #"\n" 0 0 4 3 7 #" " 0 0 22 3 2 #"((" 0 0 14 3 1 #"-" 0 0 22 3 2 #")(" 0 0 14 3 3 #"sub" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 6 #"second" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 16 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"third" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 4 #"))))" 0 0 4 29 1 #"\n" 0 0 4 3 7 #" " 0 0 22 3 2 #"((" 0 0 14 3 4 #"with" 0 0 22 3 2 #")(" 0 0 14 3 4 #"with" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"caadr" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 20 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 6 #"cadadr" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 20 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"third" 0 0 4 3 1 #" " 0 0 14 3 4 #"sexp" 0 0 22 3 4 #"))))" 0 0 4 29 1 #"\n" 0 0 4 3 6 #" " 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 31 #";;subst : WAE symbol WAE -> WAE" 0 0 4 29 1 #"\n" 0 0 17 3 37 #";;replaces second argument with third" 0 0 4 29 1 #"\n" 0 0 17 3 28 #";;argument in first argument" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 4 #"expr" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 9 #"type-case" 0 0 4 3 1 #" " 0 0 14 3 3 #"WAE" 0 0 4 3 1 #" " 0 0 14 3 4 #"expr" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"num" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"n" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 4 #"expr" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"add" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"l" 0 0 4 3 1 #" " 0 0 14 3 1 #"r" 0 0 22 3 2 #")(" 0 0 14 3 3 #"add" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 1 #"l" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 20 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 1 #"r" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"sub" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"l" 0 0 4 3 1 #" " 0 0 14 3 1 #"r" 0 0 22 3 2 #")(" 0 0 14 3 3 #"sub" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 1 #"l" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 20 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 1 #"r" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"with" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 8 #"bound-id" 0 0 4 3 1 #" " 0 0 14 3 10 #"named-expr" 0 0 4 3 1 #" " 0 0 14 3 10 #"bound-body" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 9 #" " 0 0 22 3 1 #"(" 0 0 14 3 2 #"if" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"eq?" 0 0 4 3 1 #" " 0 0 14 3 8 #"bound-id" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 13 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"with" 0 0 4 3 1 #" " 0 0 14 3 8 #"bound-id" 0 0 4 29 1 #"\n" 0 0 4 3 19 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 10 #"named-expr" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 19 #" " 0 0 14 3 10 #"bound-body" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 13 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"with" 0 0 4 3 1 #" " 0 0 14 3 8 #"bound-id" 0 0 4 29 1 #"\n" 0 0 4 3 19 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 10 #"named-expr" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 19 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 10 #"bound-body" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 22 3 4 #"))))" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 2 #"id" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"v" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 2 #"if" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"eq?" 0 0 4 3 1 #" " 0 0 14 3 1 #"v" 0 0 4 3 1 #" " 0 0 14 3 6 #"sub-id" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 3 #"val" 0 0 4 3 1 #" " 0 0 14 3 4 #"expr" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 22 #";;calc : WAE -> number" 0 0 4 29 1 #"\n" 0 0 17 3 40 #";;consumes an WAE and computes the value" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 4 3 1 #" " 0 0 14 3 5 #"a-wae" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 9 #"type-case" 0 0 4 3 1 #" " 0 0 14 3 3 #"WAE" 0 0 4 3 1 #" " 0 0 14 3 5 #"a-wae" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"num" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"n" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 1 #"n" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"add" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"l" 0 0 4 3 1 #" " 0 0 14 3 1 #"r" 0 0 22 3 2 #")(" 0 0 14 3 1 #"+" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 4 3 1 #" " 0 0 14 3 1 #"l" 0 0 22 3 2 #")(" 0 0 14 3 4 #"calc" 0 0 4 3 1 #" " 0 0 14 3 1 #"r" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"sub" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"l" 0 0 4 3 1 #" " 0 0 14 3 1 #"r" 0 0 22 3 2 #")(" 0 0 14 3 1 #"-" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 4 3 1 #" " 0 0 14 3 1 #"l" 0 0 22 3 2 #")(" 0 0 14 3 4 #"calc" 0 0 4 3 1 #" " 0 0 14 3 1 #"r" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"with" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 8 #"bound-id" 0 0 4 3 1 #" " 0 0 14 3 10 #"named-expr" 0 0 4 3 1 #" " 0 0 14 3 10 #"bound-body" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 11 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"subst" 0 0 4 3 1 #" " 0 0 14 3 10 #"bound-body" 0 0 4 29 1 #"\n" 0 0 4 3 24 #" " 0 0 14 3 8 #"bound-id" 0 0 4 29 1 #"\n" 0 0 4 3 24 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"num" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 4 3 1 #" " 0 0 14 3 10 #"named-expr" 0 0 22 3 5 #")))))" 0 0 4 29 1 #"\n" 0 0 4 3 5 #" " 0 0 22 3 1 #"(" 0 0 14 3 2 #"id" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 1 #"v" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"error" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 4 #"calc" 0 0 4 3 1 #" " 0 0 19 3 17 #"\"free identifier\"" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 1 #" " 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 7 799 4 0 0 0 132 0 22 3 1 #"(" 0 0 14 3 4 #"test" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 2 3 1 #" " 0 0 20 3 2 #"'3" 0 0 22 3 2 #"))" 0 0 2 3 1 #" " 0 0 20 3 1 #"3" 0 0 22 3 1 #")" 0 0 2 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 4 #"test" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 2 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"{" 0 0 14 3 1 #"+" 0 0 2 3 1 #" " 0 0 20 3 1 #"3" 0 0 2 3 1 #" " 0 0 20 3 1 #"4" 0 0 22 3 3 #"}))" 0 0 2 3 1 #" " 0 0 20 3 1 #"7" 0 0 22 3 1 #")" 0 0 2 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 4 #"test" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 2 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"{" 0 0 14 3 1 #"+" 0 0 2 3 1 #" " 0 0 22 3 1 #"{" 0 0 14 3 1 #"-" 0 0 2 3 1 #" " 0 0 20 3 1 #"3" 0 0 2 3 1 #" " 0 0 20 3 1 #"4" 0 0 22 3 1 #"}" 0 0 2 3 1 #" " 0 0 20 3 1 #"7" 0 0 22 3 3 #"}))" 0 0 2 3 1 #" " 0 0 20 3 1 #"6" 0 0 22 3 1 #")" 0 0 2 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 4 #"test" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 2 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"{" 0 0 14 3 4 #"with" 0 0 2 3 1 #" " 0 0 22 3 1 #"{" 0 0 14 3 1 #"x" 0 0 2 3 1 #" " 0 0 20 3 1 #"5" 0 0 22 3 2 #"}{" 0 0 14 3 1 #"+" 0 0 2 3 1 #" " 0 0 14 3 1 #"x" 0 0 2 3 1 #" " 0 0 20 3 1 #"3" 0 0 22 3 4 #"}}))" 0 0 2 3 1 #" " 0 0 20 3 1 #"8" 0 0 22 3 1 #")" 0 0 2 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 4 #"test" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"calc" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 2 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"{" 0 0 14 3 4 #"with" 0 0 2 3 1 #" " 0 0 22 3 1 #"{" 0 0 14 3 1 #"x" 0 0 2 3 1 #" " 0 0 20 3 1 #"5" 0 0 22 3 2 #"}{" 0 0 14 3 1 #"+" 0 0 2 3 1 #" " 0 0 14 3 1 #"x" 0 0 2 3 1 #" " 0 0 22 3 1 #"{" 0 0 14 3 4 #"with" 0 0 2 3 1 #" " 0 0 22 3 1 #"{" 0 0 14 3 1 #"y" 0 0 2 3 1 #" " 0 0 20 3 1 #"7" 0 0 22 3 1 #"}" 0 0 2 3 1 #" " 0 0 22 3 1 #"{" 0 0 14 3 1 #"+" 0 0 2 3 1 #" " 0 0 14 3 1 #"y" 0 0 2 3 1 #" " 0 0 14 3 1 #"x" 0 0 22 3 6 #"}}}}))" 0 0 2 3 1 #" " 0 0 20 3 2 #"17" 0 0 22 3 1 #")" 0 0 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 7 109 4 0 0 0 17 0 22 3 1 #"(" 0 0 14 3 8 #"test/exn" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"parse" 0 0 2 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"{" 0 0 14 3 1 #"+" 0 0 2 3 1 #" " 0 0 14 3 1 #"a" 0 0 2 3 1 #" " 0 0 14 3 1 #"b" 0 0 22 3 2 #"})" 0 0 2 3 1 #" " 0 0 19 3 10 #"\"expected\"" 0 0 22 3 1 #")" 0 0 0 0