#reader(lib"read.ss""wxme")WXME0108 ## #| This file uses the GRacket editor format. Open this file in DrRacket version 5.1.2 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 #"wximage\0" 2 0 8 #"wxmedia\0" 4 1 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 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0" 1 0 68 ( #"((lib \"image-core.ss\" \"mrlib\") (lib \"image-core-wxme.rkt\" \"mr" #"lib\"))\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 57 #"(lib \"hrule-snip.rkt\" \"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 55 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 9 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 -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 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 -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 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 -1 -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 -1 -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 -1 -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 -1 -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 -1 -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 -1 -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 -1 -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 -1 -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 -1 -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 -1 -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 -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 2 36 #"framework:syntax-color:scheme:error\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 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 0 0 0 0 -1 -1 2 36 #"framework:syntax-color:scheme:other\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 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 2 47 #"drracket:check-syntax:my-obligation-style-pref\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 0 116 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 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 116 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 -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 139 142 28 0 0 0 -1 -1 2 49 #"drracket:check-syntax:both-obligation-style-pref\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 139 142 28 0 0 0 -1 -1 2 26 #"plt:htdp:test-coverage-on\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 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 2 27 #"plt:htdp:test-coverage-off\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 255 165 0 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 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 34 139 34 0 0 0 -1 -1 2 37 #"plt:module-language:test-coverage-on\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 34 139 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 176 48 96 0 0 0 -1 -1 2 38 #"plt:module-language:test-coverage-off\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 176 48 96 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 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 200 0 0 0 0 0 -1 -1 0 1 #"\0" 0 -1 1 #"\0" 0 11 -1 -1 -1 -1 -1 -1 0 0 1 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 11 -1 -1 -1 -1 -1 -1 0 0 1 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 0 677 0 17 3 12 #";;; Provides" 0 0 17 3 103 ( #" a read-only Racket connection to public Liitin objects and a set of" #" functions to utilize them locally." ) 0 0 4 29 1 #"\n" 0 0 26 3 12 #"#lang racket" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 137 ( #";;; Note that while an external connection to Liitin objects provide" #"s access to the persistent storage system along with dynamic updates" #"," ) 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 121 ( #";;; it cannot quarantee compatibility between diverse operating syst" #"ems and application versions under constant changes. " ) 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 57 #";;; For full benefits, a native Liitin account is needed." 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 60 #";;; Finndesign Liitin home page: http://liitin.finndesign.fi" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 59 #";; A set of requires to approximate the Liitin environment." 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 104 ( #";; You may additionally want to set the DrRacket language level to '" #"Pretty Big', uncheck case sensivity," ) 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 92 ( #";; and uncheck 'Disallow redefinition of initial bindings' to furthe" #"r improve compatibility." ) 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 7 #"require" 0 0 4 3 1 #" " 0 0 17 3 1 #";" 0 0 17 3 1 #"(" 0 0 17 3 10 #"for-syntax" 0 0 17 3 1 #" " 0 0 17 3 12 #"racket/base)" 0 0 4 29 1 #"\n" 0 0 4 3 11 #" " 0 0 22 3 1 #"(" 0 0 14 3 3 #"lib" 0 0 24 3 1 #" " 0 0 19 3 12 #"\"process.ss\"" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 11 #" " 0 0 14 3 12 #"mzlib/string" 0 0 4 29 1 #"\n" 0 0 4 3 11 #" " 0 0 14 3 11 #"racket/port" 0 0 4 29 1 #"\n" 0 0 4 3 11 #" " 0 0 14 3 11 #"racket/file" 0 0 4 29 1 #"\n" 0 0 4 3 11 #" " 0 0 14 3 10 #"racket/gui" 0 0 4 29 1 #"\n" 0 0 4 3 11 #" " 0 0 14 3 9 #"framework" 0 0 4 29 1 #"\n" 0 0 4 3 11 #" " 0 0 14 3 11 #"racket/date" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 7 #"provide" 0 0 4 3 1 #" " 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"rename-out" 0 0 4 3 1 #" " 0 0 22 3 1 #"[" 0 0 14 3 6 #"my-top" 0 0 4 3 1 #" " 0 0 14 3 5 #"#%top" 0 0 22 3 2 #"])" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"except-out" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 12 #"all-from-out" 0 0 4 3 1 #" " 0 0 14 3 6 #"racket" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 5 #"#%top" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 1 #"(" 0 0 14 3 15 #"all-defined-out" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 1 #"(" 0 0 14 3 12 #"all-from-out" 0 0 4 3 1 #" " 0 0 14 3 12 #"mzlib/string" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 1 #"(" 0 0 14 3 12 #"all-from-out" 0 0 4 3 1 #" " 0 0 14 3 11 #"racket/file" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 1 #"(" 0 0 14 3 10 #"except-out" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 12 #"all-from-out" 0 0 4 3 1 #" " 0 0 14 3 10 #"racket/gui" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 14 3 5 #"#%top" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 1 #"(" 0 0 14 3 12 #"all-from-out" 0 0 4 3 1 #" " 0 0 14 3 9 #"framework" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 3 #" " 0 0 22 3 1 #"(" 0 0 14 3 12 #"all-from-out" 0 0 4 3 1 #" " 0 0 14 3 11 #"racket/port" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 33 #";XXX READ-ONLY LIITIN CLIENT XXX" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-name" 0 0 4 3 1 #" " 0 0 19 3 22 #"\"liitin.finndesign.fi\"" 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 6 #"define" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-port" 0 0 4 3 1 #" " 0 0 20 3 4 #"9877" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 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 14 #"eval-in-server" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-name" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-port" 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 4 #" " 0 0 22 3 1 #"(" 0 0 15 3 10 #"let-values" 0 0 4 3 1 #" " 0 0 22 3 3 #"(((" 0 0 14 3 10 #"server->me" 0 0 4 3 1 #" " 0 0 14 3 10 #"me->server" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 18 #" " 0 0 22 3 1 #"(" 0 0 14 3 11 #"tcp-connect" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-name" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-port" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 6 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"write" 0 0 4 3 1 #" " 0 0 14 3 4 #"expr" 0 0 4 3 1 #" " 0 0 14 3 10 #"me->server" 0 0 22 3 1 #")" 0 0 14 3 1 #"-" 0 0 4 29 1 #"\n" 0 0 4 3 6 #" " 0 0 22 3 1 #"(" 0 0 14 3 17 #"close-output-port" 0 0 4 3 1 #" " 0 0 14 3 10 #"me->server" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 6 #" " 0 0 22 3 1 #"(" 0 0 15 3 3 #"let" 0 0 4 3 1 #" " 0 0 22 3 2 #"((" 0 0 14 3 8 #"response" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"read" 0 0 4 3 1 #" " 0 0 14 3 10 #"server->me" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 1 #"(" 0 0 14 3 16 #"close-input-port" 0 0 4 3 1 #" " 0 0 14 3 10 #"server->me" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 14 3 8 #"response" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 2 #";(" 0 0 17 3 6 #"define" 0 0 17 3 1 #" " 0 0 17 3 1 #"(" 0 0 17 3 7 #"quotify" 0 0 17 3 1 #" " 0 0 17 3 3 #"var" 0 0 17 3 1 #")" 0 0 17 3 1 #" " 0 0 17 3 1 #"(" 0 0 17 3 11 #"eval-string" 0 0 17 3 1 #" " 0 0 17 3 1 #"(" 0 0 17 3 13 #"string-append" 0 0 17 3 1 #" " 0 0 17 3 4 #"\"''\"" 0 0 17 3 1 #" " 0 0 17 3 1 #"(" 0 0 17 3 14 #"symbol->string" 0 0 17 3 1 #" " 0 0 17 3 7 #"var))))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 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 7 #"quotify" 0 0 4 3 1 #" " 0 0 14 3 1 #"x" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 20 3 2 #"`'" 0 0 26 3 1 #"," 0 0 14 3 1 #"x" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 15 3 18 #"define-syntax-rule" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 6 #"my-top" 0 0 4 3 1 #" " 0 0 26 3 1 #"." 0 0 4 3 1 #" " 0 0 14 3 2 #"id" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 1 #"(" 0 0 14 3 6 #"lookup" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 2 #"id" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 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 6 #"lookup" 0 0 4 3 1 #" " 0 0 14 3 2 #"id" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 7 151 4 0 0 0 24 0 2 3 4 #" " 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 9 #"symbolize" 0 0 2 3 1 #" " 0 0 14 3 12 #"id-candidate" 0 0 22 3 1 #")" 0 0 2 29 1 #"\n" 0 0 2 3 6 #" " 0 0 22 3 1 #"(" 0 0 14 3 11 #"eval-string" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"string-append" 0 0 2 3 1 #" " 0 0 19 3 3 #"\"'\"" 0 0 2 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 14 #"symbol->string" 0 0 2 3 1 #" " 0 0 14 3 12 #"id-candidate" 0 0 22 3 4 #"))))" 0 0 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 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 9 #"symbolize" 0 0 4 3 1 #" " 0 0 14 3 4 #"smbl" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 6 #" " 0 0 14 3 4 #"smbl" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 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 9 #"l-exists?" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 9 #"symbolize" 0 0 4 3 1 #" " 0 0 14 3 2 #"id" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 1 #"(" 0 0 14 3 11 #"eval-string" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"l-get" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 9 #"symbolize" 0 0 4 3 1 #" " 0 0 14 3 2 #"id" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 8 #" " 0 0 22 3 1 #"(" 0 0 14 3 5 #"error" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 13 #"string-append" 0 0 4 3 1 #" " 0 0 19 3 37 #"\"reference to undefined identifier: \"" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 14 #"symbol->string" 0 0 4 3 1 #" " 0 0 14 3 2 #"id" 0 0 22 3 5 #")))))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 16 #";XXX UTILS XXX" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 60 #";; For the future use: requests Liitin server identification" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 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 #"l-id" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-name" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-port" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 1 #"(" 0 0 14 3 14 #"eval-in-server" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-name" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-port" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"(" 0 0 14 3 17 #"identify-yourself" 0 0 22 3 3 #")))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 26 #";; Liitin-object-exists?. " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 95 ( #";; E.g. (l-exists? 'gaia:fibonacci) or (l-exists? 'gaia:fibonacci:20" #"11-06-30T12:00:00) >> #t/#f" ) 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 61 #";; Leaving the timestamp out returns #t if any version exists" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 85 ( #";; The timestamp can point to the future but pointing too early in h" #"istory returns #f" ) 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 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 9 #"l-exists?" 0 0 4 3 1 #" " 0 0 14 3 13 #"liitin-object" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 1 #"(" 0 0 14 3 14 #"eval-in-server" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-name" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-port" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"list" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 21 #"public-object-exists?" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 7 #"quotify" 0 0 4 3 1 #" " 0 0 14 3 13 #"liitin-object" 0 0 22 3 4 #"))))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 38 #";; Fetches the specified Liitin object" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 88 ( #";; E.g. (l-get 'gaia:fibonacci) or (l-get 'gaia:fibonacci:2011-06-30" #"T12:00:00) >> string" ) 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 55 #";; Leaving the timestamp out returns the latest version" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 69 ( #";; Inexact timestamp returns the latest version at the specified tim" #"e" ) 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 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 #"l-get" 0 0 4 3 1 #" " 0 0 14 3 13 #"liitin-object" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 1 #"(" 0 0 14 3 14 #"eval-in-server" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-name" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-port" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"list" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 28 #"fetch-public-object-contents" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 7 #"quotify" 0 0 4 3 1 #" " 0 0 14 3 13 #"liitin-object" 0 0 22 3 4 #"))))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 61 #";; Lists all existing versions of the specified Liitin object" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 45 #";; E.g. (l-versions 'gaia:fibonacci) >> list " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 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 10 #"l-versions" 0 0 4 3 1 #" " 0 0 14 3 13 #"liitin-object" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 1 #"(" 0 0 14 3 14 #"eval-in-server" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-name" 0 0 4 3 1 #" " 0 0 14 3 11 #"server-port" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"list" 0 0 4 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 22 #"public-object-versions" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 7 #"quotify" 0 0 4 3 1 #" " 0 0 14 3 13 #"liitin-object" 0 0 22 3 4 #"))))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 67 #";; To allow using the same top-level definition format as in Liitin" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 65 #";; i.e. (named-lambda (name args) ...) = (define (name args) ...)" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 15 3 13 #"define-syntax" 0 0 4 3 1 #" " 0 0 14 3 12 #"named-lambda" 0 0 4 29 1 #"\n" 0 0 4 3 4 #" " 0 0 22 3 1 #"(" 0 0 15 3 12 #"syntax-rules" 0 0 4 3 1 #" " 0 0 22 3 2 #"()" 0 0 4 29 1 #"\n" 0 0 4 3 6 #" " 0 0 22 3 2 #"((" 0 0 15 3 3 #"rec" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 4 #"name" 0 0 4 3 1 #" " 0 0 26 3 1 #"." 0 0 4 3 1 #" " 0 0 14 3 9 #"variables" 0 0 22 3 1 #")" 0 0 4 3 1 #" " 0 0 26 3 1 #"." 0 0 4 3 1 #" " 0 0 14 3 4 #"body" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 7 #" " 0 0 22 3 1 #"(" 0 0 15 3 6 #"letrec" 0 0 4 3 1 #" " 0 0 22 3 2 #"((" 0 0 14 3 4 #"name" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 15 3 6 #"lambda" 0 0 4 3 1 #" " 0 0 14 3 9 #"variables" 0 0 4 3 1 #" " 0 0 26 3 1 #"." 0 0 4 3 1 #" " 0 0 14 3 4 #"body" 0 0 22 3 3 #")))" 0 0 4 3 1 #" " 0 0 14 3 4 #"name" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 6 #" " 0 0 22 3 2 #"((" 0 0 15 3 3 #"rec" 0 0 4 3 1 #" " 0 0 14 3 4 #"name" 0 0 4 3 1 #" " 0 0 14 3 10 #"expression" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 7 #" " 0 0 22 3 1 #"(" 0 0 15 3 6 #"letrec" 0 0 4 3 1 #" " 0 0 22 3 2 #"((" 0 0 14 3 4 #"name" 0 0 4 3 1 #" " 0 0 14 3 10 #"expression" 0 0 22 3 2 #"))" 0 0 4 3 1 #" " 0 0 14 3 4 #"name" 0 0 22 3 4 #"))))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 17 3 1 #" " 0 0 14 3 11 #"environment" 0 0 17 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 19 #"read-case-sensitive" 0 0 17 3 1 #" " 0 0 20 3 2 #"#f" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 17 3 20 #";;XXX EXAMPLES XXX" 0 0 4 29 1 #"\n" 0 0 17 3 1 #";" 0 0 4 29 1 #"\n" 0 0 17 3 76 ( #";;; Use of the provided primitives (see liitin-lib.rkt for more info" #"rmation)" ) 0 0 4 29 1 #"\n" 0 0 17 3 31 #";(l-id server-name server-port)" 0 0 4 29 1 #"\n" 0 0 17 3 48 #";(l-exists? 'gaia:fibonacci:2011-01-01T12:00:00)" 0 0 4 29 1 #"\n" 0 0 17 3 44 #";(l-get 'gaia:fibonacci:2011-01-01T12:00:00)" 0 0 4 29 1 #"\n" 0 0 17 3 29 #";(l-versions 'gaia:fibonacci)" 0 0 4 29 1 #"\n" 0 0 17 3 1 #";" 0 0 4 29 1 #"\n" 0 0 17 3 26 #";;; Calling Liitin objects" 0 0 4 29 1 #"\n" 0 0 17 3 20 #";(gaia:fibonacci 10)" 0 0 4 29 1 #"\n" 0 0 17 3 35 #";(mirko:eliza \"i can't play piano\")" 0 0 4 29 1 #"\n" 0 0 17 3 102 ( #";(map gaia:fibonacci '(1 2 3 4 5 6 7 8 9 10)); combine freely with l" #"ocal primitives (map in this case)" ) 0 0 4 29 1 #"\n" 0 0 17 3 66 #";(jtu100:calculator~); GUI example (functionality not implemented)" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0