#reader(lib"read.ss""wxme")WXME0108 ## #| This file uses the PLT Scheme editor format. Open this file in DrScheme version 4.2.3 or later to read it. Most likely, it was created by saving a program in DrScheme, and it probably contains a program with non-text elements (such as images or comment boxes). http://www.plt-scheme.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 72 0 1 #"\0" 0 75 1 #"\0" 0 12 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 17 #"Courier New Bold\0" 0 22 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 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 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.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 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 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 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 2 37 #"framework:syntax-color:scheme:symbol\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 0 0 0 0 0 0 -1 -1 2 38 #"framework:syntax-color:scheme:keyword\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 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 0 0 3 0 0 0 -1 -1 2 38 #"framework:syntax-color:scheme:comment\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 0 0 3 0 0 0 -1 -1 2 37 #"framework:syntax-color:scheme:string\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 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 41 128 38 0 0 0 -1 -1 2 39 #"framework:syntax-color:scheme:constant\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 41 128 38 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 132 60 36 0 0 0 -1 -1 2 42 #"framework:syntax-color:scheme:parenthesis\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 132 60 36 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 255 0 0 0 0 0 -1 -1 2 36 #"framework:syntax-color:scheme:error\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 255 0 0 0 0 0 -1 -1 2 36 #"framework:syntax-color:scheme:other\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 0 0 0 0 0 0 -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 81 112 203 0 0 0 -1 -1 2 38 #"drscheme:check-syntax:lexically-bound\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 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 #"drscheme: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 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 68 0 203 0 0 0 -1 -1 2 31 #"drscheme:check-syntax:imported\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 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 2 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 2 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 17 #"Courier New Bold\0" 0.0 22 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 22 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 15 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.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 1 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 14 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 20 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 18 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 22 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 0 0 0 0 -1 -1 14 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 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 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 0 0 0 0 -1 -1 20 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 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 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 255 255 -1 -1 17 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 255 255 -1 -1 22 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 255 255 -1 -1 15 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 255 255 -1 -1 14 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 255 255 -1 -1 18 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 255 255 -1 -1 20 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 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 1 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 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 65 105 225 0 0 0 -1 -1 24 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 0 0 0 0 -1 -1 24 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 15 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 0 0 0 0 -1 -1 17 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 0 0 0 0 -1 -1 24 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 255 255 -1 -1 17 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 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 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 0 -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 18 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 0 0 0 0 -1 -1 0 377 0 4 3 85 ( #";; The first three lines of this file were inserted by DrScheme. The" #"y record metadata" ) 0 0 4 29 1 #"\n" 0 0 4 3 85 ( #";; about the language level of this file in a form that our tools ca" #"n easily process." ) 0 0 4 29 1 #"\n" 0 0 4 3 368 ( #"#reader(lib \"htdp-beginner-reader.ss\" \"lang\")((modname 130lect03" #"-projected) (read-case-sensitive #t) (teachpacks ((lib \"fabric-teac" #"hpack.scm\" \"installed-teachpacks\") (lib \"universe.ss\" \"teachpa" #"ck\" \"2htdp\"))) (htdp-settings #(#t constructor repeating-decimal " #"#f #t none #f ((lib \"fabric-teac" #"hpack.scm\" \"installed-teachpacks\") (lib \"universe.ss\" \"teachpa" #"ck\" \"2htdp\")))))" ) 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 33 #"; CIS 130 - Week 3, Monday, 02-01" 0 0 17 3 3 #"-10" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 44 #"; you can give a name of your choice a value" 0 0 4 29 1 #"\n" 0 0 17 3 31 #"; using the define operation" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 9 #"; syntax:" 0 0 4 29 1 #"\n" 0 0 17 3 41 #"; (define name-of-your-choice expression)" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 12 #"; semantics:" 0 0 4 29 1 #"\n" 0 0 17 3 43 #"; this odd expression does not have a type!" 0 0 4 29 1 #"\n" 0 0 17 3 48 #"; ...it has a SIDE-EFFECT instead, it makes that" 0 0 4 29 1 #"\n" 0 0 17 3 56 #"; name have the value of that expression as its value" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 14 3 10 #"fave-color" 0 0 4 3 1 #" " 0 0 18 3 5 #"\"red\"" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 17 #"; result of this?" 0 0 4 29 1 #"\n" 0 0 17 3 40 #"; fave-color is now a simple expression," 0 0 4 29 1 #"\n" 0 0 17 3 25 #"; whose value is \"red\"" 0 0 4 29 1 #"\n" 0 0 17 3 25 #"; whose type is string" 0 0 4 29 1 #"\n" 0 0 17 3 62 #"; that can be used anywhere a string expression can be used" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 19 #"create-solid-fabric" 0 0 4 3 1 #" " 0 0 14 3 10 #"fave-color" 0 0 4 3 1 #" " 0 0 20 3 3 #"300" 0 0 4 3 1 #" " 0 0 20 3 3 #"200" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 56 #"; a name you choose in a program is called an IDENTIFIER" 0 0 4 29 1 #"\n" 0 0 17 3 57 #"; in Scheme, here are the syntax rules for an identifier:" 0 0 4 29 1 #"\n" 0 0 17 3 28 #"; * must start with a letter" 0 0 4 29 1 #"\n" 0 0 17 3 25 #"; * cannot contain blanks" 0 0 4 29 1 #"\n" 0 0 17 3 46 #"; * first letter may be followed by 0 or more " 0 0 4 29 1 #"\n" 0 0 17 3 15 #"; letters," 0 0 4 29 1 #"\n" 0 0 17 3 14 #"; digits," 0 0 4 29 1 #"\n" 0 0 17 3 60 #"; or several other \"permitted\" characters such as _ - ?" 0 0 4 29 1 #"\n" 0 0 17 3 46 #"; * avoid using the characters \" ' , ` # ; | \\" 0 0 4 29 1 #"\n" 0 0 17 3 31 #"; * also avoid using [ ] or { }" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 21 #"; let's talk STYLE --" 0 0 4 29 1 #"\n" 0 0 17 3 48 #"; when you choose identifiers, they should be" 0 0 4 29 1 #"\n" 0 0 17 3 50 #"; descriptive, meaningful, and not misleading;" 0 0 4 29 1 #"\n" 0 0 17 3 49 #"; that's a STYLE \"rule\" or guideline, not syntax;" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 54 #"; once defined, you can use that new name for the rest" 0 0 4 29 1 #"\n" 0 0 17 3 35 #"; of that set of definitions... " 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 14 3 2 #"PI" 0 0 4 3 1 #" " 0 0 20 3 7 #"3.14159" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 14 3 2 #"PI" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 19 #"add-vertical-stripe" 0 0 4 3 1 #" " 0 0 14 3 10 #"fave-color" 0 0 4 3 1 #" " 0 0 20 3 1 #"7" 0 0 4 3 1 #" " 0 0 14 3 5 #"chili" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 19 #"add-vertical-stripe" 0 0 4 3 1 #" " 0 0 14 3 10 #"fave-color" 0 0 4 3 1 #" " 0 0 14 3 2 #"PI" 0 0 4 3 1 #" " 0 0 14 3 4 #"worm" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 14 3 8 #"fave-box" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 19 #"create-solid-fabric" 0 0 4 3 1 #" " 0 0 14 3 10 #"fave-color" 0 0 4 3 1 #" " 0 0 20 3 2 #"20" 0 0 4 3 1 #" " 0 0 20 3 2 #"20" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 14 3 8 #"fave-box" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 14 3 10 #"WIDGET-MAX" 0 0 4 3 1 #" " 0 0 20 3 2 #"13" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 1 #"+" 0 0 4 3 1 #" " 0 0 14 3 10 #"WIDGET-MAX" 0 0 4 3 1 #" " 0 0 20 3 2 #"15" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 14 3 6 #"my-car" 0 0 4 3 1 #" " 0 3 23 4 1 #"\0" 2 -1.0 -1.0 0.0 0.0 0 6 500 ( #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0(\0\0\0(\b" #"\2\0\0\0\3\234/:\0\0\t\242IDATx\234\225X[\217\\G\21" #"\376\252\272\373\23493;\263;\353\275:v|I|!\6\207$\212\34'D" #"F\344\1\344\4!~D~\20R\4/\274\360\4B\240\b\371\t\311B\261\22" #"\23 X!8\27\331\261\223\370\262^\307\336]\357\316\356\234[wW\361pf" #"}\331]\e(\315\264\216\272\373\364\327U]]\365\325!\225\22\0\300 @\r" #"\b\0G\0@\4\"@\200\0\0\0240\200\3\f\36\21\21\250*3\21a\213" #"x\37\2353[{Gx\243\37A\251Am\376e\25\b0@\f\200\302\0\6" #"\b\36\6P\t\352C\360\225\372 \3213\301\30\re)\321#J\f\265\372\0" #"\b\24\316\356\214\n\200T\343\243\373\30" #"I\214\221\210@|_\17U@\205I\200\baP\2040\214B\30,\250\"R" #"3\352\17\200\5\324\0\2\343\36^\366" #"\276X\200\25x\324H\2\300\30\212U\251\2526M\1\204\252\2`\323Dj\317" #"L`\6\31\20\20\242\206\340%$i\6\20\210@\6\226@\n\205\204\310\306\355" #"\254\261\250\312\346\226\350!`\250 \6" #"D\17\347\0\335\234\316\242\2510\f\320" #"\274\325\264\21`\205\22 \b\n\307P" #"\332\262\346\377\f\\\347\303$k\1\320" #"\252 \347\232\261\205\353\vK\203\272R" #"\22\201jd\266\316\31\347Rky~\376\251V\213\230\240\200*\230F'g\36" #"\203M\252\272\315\324\0 \321\2631\0" #"\240\32c\34\16\326.]\272t\361\213" #"\313\347\316\377MA\215\266D\206H\233" #"\366\364\351\267\16\36\334\377\354\263\207\333" #"\231\1\20\5D0\324\370\355\16b\1\331\34x\340\2\n\220q\e" #"\303B\210;\355\264\214z\376\302\305s\347\316\335\270q\343go\275\231" ) 500 ( #"8\223\246\251\265VD\312\262\314\363\274" #"\252\252\337\374\372\227\247N\235\312,\216" #"\36=JD\244\21\nc\236\340\325\3427\37\e`\26E\4B\204\261\330(\244" #"\235\361\27\227\256\377\342\235w\16\348" #"\360\3637\177r\374\360^\250\337\276\320" #"\207\357\275w\346\314\231~\277\377\366\333" #"oO\314\316\"\4X\253\265\247\264\243" #"\330\341\2163\240#\337Q\3312\246@" #"'\343\262\306\237\317\236%\266\247~\370" #"\243#G\16\210($\"\306-\355\211" #"\23'N\276\366\352\342\342\342\373\347?" #"\200\b\234\5\240\333c\312C\246\336\"" #"B VJ\354\310\225\313\341\360\362\347" #"\237\36{\356\271\223/\36\1 \306\t" #"\0345\307\361pk\361\322\251\323\357}" #"\364\371\227\213\3o: \324uh\245\231@I\267\201\0\315u4 \33645" #"\b\302\bT\0276\326\24\352\260\261T\335\273\265w\"I5T\203U\0\2\304" #"m\355\240\250\273\23\23Y\267[\324\365" #"\332\260(\352&\342\1\272\263\3226n\306H\0\244\0\2TH\274\3269\262\324" #"\220\214\313\340\360\244\2311\e(\27{" #"\2356b\21y\207\2300\221\331\242," #"\346&\307\254\265~x\257\337\231a\342" #"\262\312[I\266#0\25\252\0044a\331\0\320\0\251!5(Bk\250G\250" #"n~\370\376\236\247\237\302\356y\30\a" #"\356\300\30(\203dk\353\313\245\257\257" #"\223\301\256\231y\364:P\6%\240\216" #"R\272\335\271h\240\332\\5\v8\200" #"\324#\226\220\34\371\332\360\372\25S\257" #"\267z\31\252!\262\4\371\0\203U\264" #"\333 \205\322\326\266\250\0\301\314\34B" #"\215\365!\30\260\t\366\177\17\235\303j&\266\3\333\0\30 i\374\n0 \240" #"\202,m\374\343\314\345\177~`\225\234" #"K\363\302\267\234\366]Q\25\253D\4(CH\2057\337R" #"\330\244=vwieb\327T\276>pL\23\335\26\307z" ) 500 ( #"\342\2257qb\216\2703:Lj2!\264\1\6\324\202b-!a\202e\312" #"\363\17~\267z\366W\317\233\252\f\343" #"\313\276\27\314\214\304\241\215W\246;\272R1;\227Pd\361V#3{\241B" #"]\2129\233\257\255\227\271\321`\265\34" #"\2538\321aq.\317&\236\303\2617" #"\240\26\"\260\231\367\265q-%\330\24\336B-H\211=\300\4FH\374pJ" #"\227\3152\2\225\331\370\224N\357I8" #"\364\226\26\363\245\205\376\344Xt\\\3708,J#u/K\306\fR\251o." #"\\\3315s\320L\356e\343\374\362\215" #"\345\305K\363\261\242\372\32\212\25\250\a" #"\4\302\2008&%(`{\22\1\200\210\231c\343_\222z\237\222\233\256\333\313" #"\343\317\234\304\367Oc\356\5\370!." #"\246\367\376\372\256\206jb\337\276l\337" #"\213h\365!5\206wp\345\357\371W" #"\v3\273\372\235\327_\305\364\v\30\233" #"\302\315+\327\316\375\36\353\377N3#" #"\336\263\0\0044\307L\324\4z\213Z" #"\300\200!2<\212a\2015\270\365\202" #"\333\266\227\348\212\227^F\272\37!" #"\307\352\241\264?\337\303\0\335\31t\366" #"\201z\220\22-\207\316T'[\260\263" #"s8r\34\235\357\242\267\a\335\335\364" #"\331\5TW\206U\310\232$\315\334\\h\25Q\22\5[\4\3\3\360\210X\261" #"\0021\232@\211\355\n7\224\250\206\251" #"A\21\355l\274;\261\366\315\355~6\\\362k\267}M1L\323\372\344b1" #"X\306\344\376.\\\37\331nh\37-" #"D\236\255\244Wy\357\340\2146\221\212" #"\241\254\233\231\310\216\270\e\251\252\32\"" #"\253\2\210\2052[U-\326\226\262\345" #"\ehO\240\334\300\362\265r\371V\177" #"|\f\323\375\251\3\363S\355\31\210\307\372\0020\335\317oc\355\36n_C" #"\353\20\230q\347\252\324\367\224\304u:" #"!J*M\"e\20\230M\243\235\205\261" ) 500 ( #"0\0\tD\254a\326\n\360\306\312\332" #"`9\345\215\374\233/\242\343\354\332\327" #"&\37\310'g\207\267nf\323\314\267\202\16\226JNX%\325\34\353\v\236\6" #"\305j1\376\341\273X\370\nIw\351" #"\3267\262\364q^\335\251\332\323c\316" #"\300\244\340\255\264\313\"m\2\t\253D\333D.Fp\326LN\267\220-\0176" #"\356|t\1\331\325\266\344s\325\342\314|ZWAV\327\302\352\300\a!Hp" #"\306\262\6Nm\253{\375\352\227\346\333" #"%\17\211\305\260\347\242K\270H{\246\325\2051#S\203$F6\f\300\16\30" #"\4\244\242\t[\250@\25un_x\t7>\276\374\331\205\231\376LV\305\220" #"S\221Wy+\201\260\17\316\n\234\26" #"-\1\b\336\333\234\263\212\3232G\232" #"\366\314F\205b}\252\327\361\245_\36\2463\a\237o\37>\216\b07\324\275" #"a5\4\330\34p@\322\3446\1\214A6\16\232\235}\371\307\350\314&\245\366" #"\2u:=\227\261\226\v\336W\211\266" #"\215\252\215\303\206\16XN\331\264\rg\t(q\370\350}\363\b\255=j\17B7\3152c\306\234\233\356O\266\223T" #"*\334[^'\"\345Gt\35ilk\300 \30(C\241\34\225\2438\342\304" #"\302\3%p\350\310\\\235_\3353\265" #"\347\330\323\343-W\203\31p\6\243\220" #"\v@\340\f\f\324\316\355\333\375\364\201" #"\335U\351\247\247\306\215C$t[\335\250 \240I\f\274\211M\20\322\\a\21" #"]S\205\n\251 2\300!\"\32\250" #"ED\376\325\227\377\372\316\376\375(\205" #"\340Lw\"\202\31$hL3\262\241\201 \326+w\276]]]\335w\360\220" #"I\333+\353\325X7m\350\315\375]BUU\241\2214jS\242n\236\201\214" #"\30>\221\22\274\304\242\34\372*g\225\261l,i\265\345\1\357x\304_\fq" #"U\346eY\212H\222$I\232\261qD\17n\320\26\nbG\324\340A\0177" #"t\224\b\4\260h,C\276Q3s\222pB\266)\212\266\227%1\306\242\254" #"\327\327\207Ddl\342\334\316E\342C\300O\24\357}S\244\30c:\235\0166" #"\275c\2734\345\314\306\306\2061&\3132U%\"\21\341mQ\372\277\0037\30" #"\316\271,\313\254\265\326>i\262s\256" #"\325jeY\306\314\306\230\68\306\3708`\332\256A\323\323\3547\204\20c\4" #"\320,g\214\331\341K\307\246\324u]U\25\200$I\222$y\302\314'\1W" #"U%\"\"\322\350JD!\4\357\375\343\n@\21!\242\373`\274)\217\233\377" #"X\353UU\245\252\252\32c\364\3367K\217>\214\354$\215U\e\230\306\316\r" #"p\343\31\377\ap\263D\243t\3l\214q" #"\316=\316\271\356C\336\357QU\221\255\25\350" ) 23 #"}\371\17\v\306:\265\307\v\352\6\0\0\0\0IEND\256B`\202" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 14 3 6 #"my-car" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 9 #"add-print" 0 0 4 3 1 #" " 0 0 14 3 6 #"my-car" 0 0 4 3 1 #" " 0 0 14 3 5 #"chili" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 40 #"; we want to work our way up to defining" 0 0 4 29 1 #"\n" 0 0 17 3 41 #"; our OWN operations, which we'll call" 0 0 4 29 1 #"\n" 0 0 17 3 14 #"; functions" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 6 #"define" 0 0 4 3 1 #" " 0 0 14 3 10 #"red-swatch" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 19 #"create-solid-fabric" 0 0 4 3 1 #" " 0 0 18 3 5 #"\"red\"" 0 0 4 3 1 #" " 0 0 20 3 3 #"300" 0 0 4 3 1 #" " 0 0 20 3 3 #"150" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 14 3 10 #"red-swatch" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 16 #"add-horiz-stripe" 0 0 4 3 1 #" " 0 0 18 3 7 #"\"black\"" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 4 3 1 #" " 0 0 14 3 10 #"red-swatch" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 9 #"add-print" 0 0 4 3 1 #" " 0 0 14 3 5 #"chili" 0 0 4 3 1 #" " 0 0 14 3 10 #"red-swatch" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 16 #"add-horiz-stripe" 0 0 4 3 1 #" " 0 0 18 3 7 #"\"green\"" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 19 #"create-solid-fabric" 0 0 4 3 1 #" " 0 0 18 3 6 #"\"blue\"" 0 0 4 3 1 #" " 0 0 20 3 3 #"100" 0 0 4 3 1 #" " 0 0 20 3 3 #"100" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 16 #"add-horiz-stripe" 0 0 4 3 1 #" " 0 0 18 3 5 #"\"red\"" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 19 #"create-solid-fabric" 0 0 4 3 1 #" " 0 0 18 3 8 #"\"purple\"" 0 0 4 3 1 #" " 0 0 20 3 3 #"100" 0 0 4 3 1 #" " 0 0 20 3 3 #"100" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 55 #"; what if I decide -- I'm going to be doing this a lot," 0 0 4 29 1 #"\n" 0 0 17 3 57 #"; I WISH I had an operation -- a function -- that I could" 0 0 4 29 1 #"\n" 0 0 17 3 63 #"; just give two colors to, and get a 100x100 pixel horizontally" 0 0 4 29 1 #"\n" 0 0 17 3 39 #"; striped box image of those colors?" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 44 #"; here is the syntax for defining a FUNCTION" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 63 #"; a PARAMETER is a name for a value that a function will expect" 0 0 4 29 1 #"\n" 0 0 17 3 20 #"; when it is used" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 67 #"; (define (new-function-name parameter-name-1 parameter-name-2 ...)" 0 0 4 29 1 #"\n" 0 0 17 3 16 #"; expression)" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 17 3 12 #"; semantics:" 0 0 4 29 1 #"\n" 0 0 17 11 55 #"; define a new operation -- a new function -- named " 0 0 17 3 18 #"new-function-name," 0 0 4 29 1 #"\n" 0 0 17 11 63 #"; that expects the same number of expressions as parameters " 0 0 17 3 6 #"given," 0 0 4 29 1 #"\n" 0 0 17 11 60 #"; whose value is the value of the expression (called the " 0 0 17 3 10 #"function's" 0 0 4 29 1 #"\n" 0 0 17 3 10 #"; body)" 0 0 4 29 1 #"\n" 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 16 #"make-striped-box" 0 0 4 3 1 #" " 0 0 14 3 6 #"color1" 0 0 4 3 1 #" " 0 0 14 3 6 #"color2" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 11 64 #"; IN the body of the function -- the expression in the function " 0 0 17 3 2 #"--" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 65 #"; USE the parameters to represent the eventual values the user" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 17 3 17 #"; will provide" 0 0 4 29 1 #"\n" 0 0 4 3 2 #" " 0 0 22 3 1 #"(" 0 0 14 3 16 #"add-horiz-stripe" 0 0 4 3 1 #" " 0 0 14 3 6 #"color1" 0 0 4 3 1 #" " 0 0 20 3 2 #"10" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 19 #"create-solid-fabric" 0 0 4 3 1 #" " 0 0 14 3 6 #"color2" 0 0 4 3 1 #" " 0 0 20 3 3 #"100" 0 0 4 3 1 #" " 0 0 20 3 3 #"100" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 16 #"make-striped-box" 0 0 4 3 1 #" " 0 0 18 3 7 #"\"green\"" 0 0 4 3 1 #" " 0 0 18 3 6 #"\"blue\"" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 16 #"make-striped-box" 0 0 4 3 1 #" " 0 0 18 3 5 #"\"red\"" 0 0 4 3 1 #" " 0 0 18 3 8 #"\"purple\"" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 16 #"make-striped-box" 0 0 4 3 1 #" " 0 0 18 3 8 #"\"orange\"" 0 0 4 3 1 #" " 0 0 18 3 9 #"\"magenta\"" 0 0 22 3 1 #")" 0 0 4 29 1 #"\n" 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 9 #"add-print" 0 0 4 3 1 #" " 0 0 14 3 5 #"chili" 0 0 4 3 1 #" " 0 0 22 3 1 #"(" 0 0 14 3 16 #"make-striped-box" 0 0 4 3 1 #" " 0 0 18 3 7 #"\"black\"" 0 0 4 3 1 #" " 0 0 18 3 6 #"\"teal\"" 0 0 22 3 2 #"))" 0 0 4 29 1 #"\n" 0 0