diff --git a/collects/htdp/matrix-invisible.rkt b/collects/htdp/matrix-invisible.rkt index ececf59eaa..bf1379d239 100644 --- a/collects/htdp/matrix-invisible.rkt +++ b/collects/htdp/matrix-invisible.rkt @@ -1,4 +1,4 @@ -#lang scheme +#lang racket (require htdp/matrix-sig htdp/matrix-render-sig diff --git a/collects/htdp/matrix-sig.rkt b/collects/htdp/matrix-sig.rkt index 270cebd322..4654d05ba5 100644 --- a/collects/htdp/matrix-sig.rkt +++ b/collects/htdp/matrix-sig.rkt @@ -1,4 +1,4 @@ -#lang scheme/signature +#lang racket/signature ;; CONVENTION: ;; [Rectangle X] = [Listof [Listof X]] diff --git a/collects/htdp/matrix-unit.rkt b/collects/htdp/matrix-unit.rkt index aeb4dad025..6bb73325b7 100644 --- a/collects/htdp/matrix-unit.rkt +++ b/collects/htdp/matrix-unit.rkt @@ -1,4 +1,4 @@ -#lang scheme/unit +#lang racket/unit (require htdp/matrix-sig htdp/matrix-render-sig @@ -215,9 +215,30 @@ [(>= j* j) (matrix-ref M (+ i* 1) (+ j* 1))])])))) +#| from bug report 13264: + +I have two problems with matrix-set!. + +1. When I enable matrix-set! + + (require htdp/matrix) + (define M (build-matrix 2 3 (λ (i j) (* (expt 2 i) (expt 3 j))))) + (matrix-set! M 1 2 'a) + (eq? (matrix-ref M 1 2) 'a) + (equal? M (build-matrix 2 3 (λ (i j) (* (expt 2 i) (expt 3 j))))) + +I get the results 'true' and 'true' -- the second one should NOT be true but false. + +Because I can't change the snip either, M also displays wrong. + +2. I really don't want to enable it in language levels strictly below ASL. +Otherwise the functional model breaks. ** But I do not know how to make teachpacks +depend on the language into which they linked. ** +|# + (define (matrix-set! M* i j x) - (define _ (when (is-a? M imatrix%) - (error 'matrix-set! "use functional updates instead"))) + (when (is-a? M imatrix%) + (error 'matrix-set! "use functional updates instead")) (define-values (M n m) (check-matrix 'matrix-ref M* i j)) (vector-set! (matrix-get-mat M) (+ (* i m) j) x) M*) diff --git a/collects/htdp/matrix.rkt b/collects/htdp/matrix.rkt index b3bf8e3d7e..f9dd89454d 100644 --- a/collects/htdp/matrix.rkt +++ b/collects/htdp/matrix.rkt @@ -1,4 +1,4 @@ -#lang scheme/gui +#lang racket/gui ;; 4. integrate with snips diff --git a/collects/htdp/tests/matrix-client.rkt b/collects/htdp/tests/matrix-client.rkt index 19b48d1e44..ba9ec45fea 100644 --- a/collects/htdp/tests/matrix-client.rkt +++ b/collects/htdp/tests/matrix-client.rkt @@ -1,7 +1,7 @@ #reader(lib"read.ss""wxme")WXME0108 ## #| This file uses the GRacket editor format. - Open this file in DrRacket version 5.0.99.900 or later to read it. + Open this file in DrRacket version 5.3.1.5 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 @@ -9,7 +9,7 @@ http://racket-lang.org/ |# - 28 7 #"wxtext\0" + 30 7 #"wxtext\0" 3 1 6 #"wxtab\0" 1 1 8 #"wximage\0" 2 0 8 #"wxmedia\0" @@ -17,22 +17,31 @@ 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" +1 0 93 +( + #"((lib \"collapsed-snipclass.ss\" \"framework\") (lib \"collapsed-sni" + #"pclass-wxme.ss\" \"framework\"))\0" +) 0 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 29 #"drscheme:bindings-snipclass%\0" +1 0 88 +( + #"((lib \"pict-snip.rkt\" \"drracket\" \"private\") (lib \"pict-snip.r" + #"kt\" \"drracket\" \"private\"))\0" +) 0 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0" +0 0 25 #"(lib \"matrix.ss\" \"htdp\")\0" 1 0 22 #"drscheme:lambda-snip%\0" -1 0 57 +1 0 26 #"drracket:spacer-snipclass\0" +0 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" +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" @@ -40,14 +49,13 @@ 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 125 0 1 #"\0" +1 0 1 6 #"wxloc\0" + 0 0 136 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 12 #"Courier New\0" -0 13 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 14 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 @@ -119,6 +127,9 @@ 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 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 1 1 1 0 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" @@ -131,7 +142,13 @@ 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 +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 37 +#"drracket:check-syntax:unused-require\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 +#"drracket:check-syntax:free-variable\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 68 0 203 0 0 0 -1 -1 2 31 @@ -155,14 +172,35 @@ 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 4 1 +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 0 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 0 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 4 1 #"\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" @@ -175,18 +213,21 @@ 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 13 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 0 1 #"\0" 0 -1 1 #"\0" -0 13 -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.0 13 -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 13 -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.0 13 -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 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" +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 100 0 0 0 +0 -1 -1 0 1 #"\0" 0 75 13 #" Inconsolata\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 38 #"drscheme:check-syntax:lexically-bound\0" @@ -221,17 +262,14 @@ 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 139 0 139 0 0 0 -1 -1 2 38 #"profj:syntax-colors:scheme:identifier\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" +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 34 +#"profj:syntax-colors:scheme:string\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 34 139 34 0 -0 0 -1 -1 2 34 #"profj:syntax-colors:scheme:string\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 35 +#"profj:syntax-colors:scheme:literal\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 34 139 34 0 -0 0 -1 -1 2 35 #"profj:syntax-colors:scheme:literal\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 34 139 34 0 -0 0 -1 -1 2 35 #"profj:syntax-colors:scheme:comment\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 35 +#"profj:syntax-colors: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 33 #"profj:syntax-colors:scheme:error\0" @@ -414,7 +452,10 @@ 0 -1 -1 0 1 #"\0" 0 75 23 #"Lucida Sans Typewriter\0" 0.0 12 90 -1 90 -1 1 -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 0 820 0 4 3 85 +255 255 1 -1 44 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 255 255 255 -1 -1 + 0 734 0 4 3 85 ( #";; The first three lines of this file were inserted by DrRacket. The" #"y record metadata" @@ -434,227 +475,208 @@ ) 0 0 4 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 7 #"require" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 3 #"lib" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 19 3 11 #"\"matrix.ss\"" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 19 3 6 #"\"htdp\"" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 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 2 #"m1" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 11 #"make-matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"3" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 4 #"list" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 1 #"a" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 1 #"b" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 1 #"c" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 1 #"d" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 1 #"e" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 1 #"f" 0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 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 2 #"m2" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-set" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"m1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 14 3 1 #"x" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"m1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 1 #"a" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"m1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 1 #"b" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"m1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 1 #"c" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"m1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 1 #"d" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"m1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 1 #"e" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"m1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 1 #"f" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"m2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 1 #"x" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 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 7 #"matrix1" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 11 #"make-matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"3" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"(" 0 0 14 3 3 #"a00" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a01" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a02" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a10" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a11" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a12" 0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 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 9 #"matrix1-2" -0 0 4 3 1 #" " -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 14 4 4 29624 +0 0 22 3 1 #" " +0 0 22 29 1 #"\n" +0 0 22 3 2 #" " +0 16 4 135 29624 ( #"(((a00 a01 a02) (a10 a11 a12)) (#(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25" #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " @@ -1093,600 +1115,534 @@ #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " #"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 94 0 0))\0" ) 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 9 #"matrix1-2" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 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 2 #"r1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 2 #"((" 0 0 14 3 3 #"a00" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a01" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a02" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 13 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 14 #" (" 0 0 14 3 3 #"a10" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a11" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a12" 0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 13 #"matrix-render" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 3 #") (" 0 0 14 3 13 #"matrix-render" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 17 #"rectangle->matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 2 #"r1" 0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 3 #"a00" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 3 #"a01" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 3 #"a02" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 3 #"a10" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 3 #"a11" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 22 3 1 #")" -0 0 4 3 1 #" " +0 0 22 3 2 #") " 0 0 20 3 1 #"'" 0 0 14 3 3 #"a12" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 13 #"matrix-render" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 12 #"build-matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"3" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 15 3 6 #"lambda" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 1 #"i" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"j" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 3 #") (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"i" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"j" 0 0 22 3 4 #"))))" -0 0 4 29 1 #"\n" -0 0 4 3 14 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 15 #" (" 0 0 14 3 13 #"matrix-render" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix1" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 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 7 #"matrix2" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 11 #"make-matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"(" 0 0 14 3 3 #"a00" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a01" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a10" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 3 #"a11" 0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 13 #"matrix-render" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 12 #"matrix-minor" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 3 14 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 15 #" (" 0 0 14 3 13 #"matrix-render" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 11 #"make-matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"(" 0 0 14 3 3 #"a11" 0 0 22 3 4 #"))))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 13 #"matrix-render" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 12 #"matrix-minor" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 3 14 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 15 #" (" 0 0 14 3 13 #"matrix-render" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 11 #"make-matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 1 #"(" 0 0 14 3 3 #"a00" 0 0 22 3 4 #"))))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 17 3 78 ( #";; =================================================================" #"==========" -) 0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +) 0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 17 3 20 #";; Matrix -> Number " -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 17 3 53 #";; compute the determinat of a square (n x n) matrix " -0 0 4 29 1 #"\n" +0 0 22 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 22 3 2 #" (" 0 0 14 3 11 #"determinant" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"M" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 3 #" (" 0 0 15 3 5 #"local" -0 0 4 3 1 #" " -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"((" +0 0 22 3 1 #" " +0 0 22 29 1 #"\n" +0 0 22 3 6 #" ((" 0 0 15 3 6 #"define" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"n" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 11 #"matrix-rows" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"M" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 3 5 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 6 #" (" 0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 6 #"series" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"i" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 7 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 8 #" (" 0 0 14 3 1 #"*" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 4 #"expt" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 2 #"-1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"i" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 3 #") (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"M" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"i" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 3 #") (" 0 0 14 3 11 #"determinant" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 12 #"matrix-minor" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"M" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"i" 0 0 22 3 5 #")))))" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 5 #" (" 0 0 14 3 2 #"if" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 1 #"=" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"n" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 8 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 9 #" (" 0 0 14 3 10 #"matrix-ref" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"M" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 8 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 9 #" (" 0 0 14 3 5 #"foldl" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"+" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"build-list" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"n" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 6 #"series" 0 0 22 3 5 #")))))" -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 22 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 11 #"determinant" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 17 #"rectangle->matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 2 #"((" 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 48 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 49 #" (" 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" 0 0 22 3 4 #"))))" -0 0 4 29 1 #"\n" -0 0 4 3 14 #" " +0 0 22 29 1 #"\n" +0 0 22 3 14 #" " 0 0 20 3 1 #"0" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 11 #"determinant" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 17 #"rectangle->matrix" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"'" 0 0 22 3 2 #"((" 0 0 20 3 1 #"2" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 48 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 49 #" (" 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" 0 0 22 3 4 #"))))" -0 0 4 29 1 #"\n" -0 0 4 3 14 #" " +0 0 22 29 1 #"\n" +0 0 22 3 14 #" " 0 0 20 3 1 #"1" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 17 3 78 ( #";; =================================================================" #"==========" -) 0 0 4 29 1 #"\n" +) 0 0 22 29 1 #"\n" 0 0 17 3 32 #";; matrix with structure inside " -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 15 3 13 #"define-struct" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"p" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 1 #"x" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 1 #"y" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 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 7 #"matrix3" -0 0 4 3 1 #" " -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 22 3 1 #"(" +0 0 22 3 1 #" " +0 0 22 29 1 #"\n" +0 0 22 3 3 #" (" 0 0 14 3 17 #"rectangle->matrix" -0 0 4 3 1 #" " -0 0 4 29 1 #"\n" -0 0 4 3 3 #" " -0 0 22 3 1 #"(" +0 0 22 3 1 #" " +0 0 22 29 1 #"\n" +0 0 22 3 4 #" (" 0 0 14 3 4 #"list" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 4 #"list" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 6 #"make-p" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 3 #") (" 0 0 14 3 6 #"make-p" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 3 9 #" " -0 0 22 3 1 #"(" +0 0 22 29 1 #"\n" +0 0 22 3 10 #" (" 0 0 14 3 4 #"list" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 6 #"make-p" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 3 #") (" 0 0 14 3 6 #"make-p" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" 0 0 22 3 5 #")))))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 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 7 #"matrix4" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 10 #"matrix-set" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix3" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 19 3 29 #"\"intentionally failing check\"" 0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix3" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix3" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 12 #"check-expect" -0 0 4 3 1 #" " +0 0 22 3 2 #" (" +0 0 14 3 6 #"equal?" +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix3" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 14 3 7 #"matrix4" +0 0 22 3 2 #") " +0 0 14 3 5 #"false" 0 0 22 3 1 #")" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 19 3 28 #"\"the above test should fail\"" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 22 3 1 #"(" 0 0 14 3 11 #"check-error" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" +0 0 22 3 2 #" (" 0 0 14 3 13 #"matrix-where?" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"0" -0 0 4 3 1 #" " +0 0 22 3 1 #" " 0 0 20 3 1 #"1" +0 0 22 3 2 #") " +0 0 22 29 1 #"\n" +0 0 22 3 13 #" " +0 0 19 3 58 +#"\"matrix-where?: expects a matrix as first argument, given " +0 0 19 3 2 #"0\"" 0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 4 29 1 #"\n" -0 0 4 3 13 #" " -0 0 19 3 25 #"\"matrix-where?: expected " -0 0 19 3 37 #" as first argument, given: 0\"" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" 0 0 diff --git a/collects/htdp/tests/matrix-test.rkt b/collects/htdp/tests/matrix-test.rkt index 5c12c64b00..5b02fc571a 100644 --- a/collects/htdp/tests/matrix-test.rkt +++ b/collects/htdp/tests/matrix-test.rkt @@ -1,4 +1,4 @@ -;; The first three lines of this file were inserted by DrScheme. They record metadata +;; The first three lines of this file were inserted by DrRacket. They record metadata ;; about the language level of this file in a form that our tools can easily process. #reader(lib "htdp-intermediate-lambda-reader.ss" "lang")((modname matrix-test) (read-case-sensitive #t) (teachpacks ()) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ()))) ;(require htdp/matrix-invisible) @@ -50,7 +50,11 @@ (check-expect (matrix-ref m1-minor 0 0) 'a00) (check-expect (matrix-ref m1-minor 0 1) 'a02) -;; --- IMPERATIVE --- (check-expect (matrix-ref m1 0 0) 'a00) -;(define m1-modified (matrix-set! m1 0 0 'xxx)) ;; <-------- uncomment this and the test engine breaks -;(check-expect (matrix-ref m1 0 0) 'xxx) +;; --- IMPERATIVE --- +;; see comment in matrix-unit.rkt +;; --------------------------------- +;; (define M-imperative (build-matrix 2 3 (λ (i j) (* (expt 2 i) (expt 3 j))))) +;; (define M-modified (matrix-set! M-imperative 0 0 'xxx)) +;; (check-expect (matrix-ref M-modified 0 0) 'xxx) +;; (check-expect (matrix-ref M-imperative 0 0) 'xxx)