diff --git a/SICP/slide11.tm b/SICP/slide11.tm index 8b35be2..3fe1566 100644 --- a/SICP/slide11.tm +++ b/SICP/slide11.tm @@ -15,14 +15,26 @@ \; - \; - \<#57FA\>\<#7840\>SICP - 11>|>>|\<#6D6A\>\<#718A\>\<#732B\>\<#513F\>>>>|>>|\<#53F7\>\<#6570\>\<#636E\>\<#548C\>\<#7B26\>\<#53F7\>\<#6C42\>\<#5BFC\>>> + 11>|>>|\<#6D6A\>\<#718A\>\<#732B\>\<#513F\>>>>||<\author-affiliation> + \; + + \; + + \; + + \; + + \; + + \; + + \; + >>|\<#53F7\>\<#6570\>\<#636E\>\<#548C\>\<#7B26\>\<#53F7\>\<#6C42\>\<#5BFC\>>> <\slide> - \<#57FA\>\<#7840\>SICP\<#FF1A\>\<#7B2C\>10\<#8BFE\>> + \<#57FA\>\<#7840\>SICP\<#FF1A\>\<#7B2C\>11\<#8BFE\>> <\wide-tabular> || @@ -33,10 +45,18 @@ <\large> + >| + \; + |<\cell> + \; >| \<#6B21\>\<#6027\>\<#6570\>\<#636E\>\<#548C\>\<#95ED\>\<#5305\>\<#6027\>\<#8D28\>>> |<\cell> > + >| + \; + |<\cell> + \; >| \<#53F7\>\<#6570\>\<#636E\>>> |<\cell> @@ -108,7 +128,7 @@ <\input> \\ <|input> - \; + (list? ) @@ -120,7 +140,8 @@ <\slide> \<#4E49\>\<#7B26\>\<#53F7\>\<#6570\>\<#636E\>\V\<#6784\>\<#9020\>\<#51FD\>\<#6570\>quote> - >\<#662F\>\<#4E00\>\<#79CD\>\<#8BED\>\<#6CD5\>\<#7CD6\>\<#8863\>\<#FF0C\>\<#5982\>\<#679C\>\<#6CA1\>\<#6709\>>\<#FF0C\>\<#4E5F\>\<#53EF\>\<#4EE5\>\<#4F7F\>\<#7528\>\<#3002\>Scala\<#91CC\>\<#9762\>\<#4E5F\>\<#6709\>\<#7B26\>\<#53F7\>\<#6570\>\<#636E\>\<#3002\> + >\<#662F\>\<#4E00\>\<#79CD\>\<#8BED\>\<#6CD5\>\<#7CD6\>\<#8863\>\<#FF0C\>\<#5982\>\<#679C\>\<#6CA1\>\<#6709\>>\<#FF0C\>\<#4E5F\>\<#53EF\>\<#4EE5\>\<#4F7F\>\<#7528\>\<#3002\>Scala\<#91CC\>\<#9762\>\<#4E5F\>\<#6709\>\<#7B26\>\<#53F7\>\<#6570\>\<#636E\>\<#3002\>SRFI-1 + List <\with|par-columns|2> <\session|s7|default> @@ -169,7 +190,7 @@ <|folded-io> (eq? 1 (quote 1)) <|folded-io> - #t + #f <\folded-io> @@ -204,13 +225,13 @@ #f - <\unfolded-io> + <\folded-io> \\ - <|unfolded-io> + <|folded-io> '' - <|unfolded-io> + <|folded-io> #\ - + <\input> \\ @@ -220,7 +241,9 @@ - \<#5B57\>\<#9762\>\<#91CF\>\<#5728\>\<#5F15\>\<#7528\>\<#4E4B\>\<#540E\>\<#FF0C\>\<#8FD8\>\<#662F\>\<#5B57\>\<#9762\>\<#91CF\>\<#3002\>\<#7B26\>\<#53F7\>\<#5728\>\<#5F15\>\<#7528\>\<#4E4B\>\<#540E\>\<#FF0C\>\<#5219\>\<#53D8\>\<#6210\>\<#4E86\>\<#7B26\>\<#53F7\>\<#6570\>\<#636E\>\<#3002\> + \<#5B57\>\<#9762\>\<#91CF\>\<#FF08\>literally\<#FF09\>\<#5728\>\<#5F15\>\<#7528\>\<#FF08\>\<#4E24\>\<#6B21\>\<#5F15\>\<#7528\>\<#FF1F\>\<#FF09\>\<#4E4B\>\<#540E\>\<#FF0C\>\<#8FD8\>\<#662F\>\<#5B57\>\<#9762\>\<#91CF\>\<#3002\>\<#7B26\>\<#53F7\>\<#5728\>\<#5F15\>\<#7528\>\<#4E4B\>\<#540E\>\<#FF0C\>\<#5219\>\<#53D8\>\<#6210\>\<#4E86\>\<#7B26\>\<#53F7\>\<#6570\>\<#636E\>\<#3002\> + + \; <\slide> @@ -274,20 +297,14 @@ <|folded-io> (quasiquote (unquote a)) <|folded-io> - 3 + 1 - - <\input> - \\ - <|input> - \; - - \<#8BD5\>\<#8BD1\>\<#FF1A\>quote\<#4E3A\>\<#5F15\>\<#7528\>\<#FF0C\>unquote\<#4E3A\>\<#89E3\>\<#5F15\>\<#7528\>\<#FF0C\>quasiquote\<#4E3A\>\<#53CD\>\<#5E94\>\<#7528\>\<#3002\>> + \<#8BD5\>\<#8BD1\>\<#FF1A\>quote\<#4E3A\>\<#5F15\>\<#7528\>\<#FF0C\>unquote\<#4E3A\>\<#89E3\>\<#5F15\>\<#7528\>\<#FF0C\>quasiquote\<#4E3A\>\<#51C6\>\<#5F15\>\<#7528\>\<#3002\>> \<#662F\>\<#5F15\>\<#53F7\>\<#FF0C\>> \<#662F\>\<#89E3\>\<#5F15\>\<#53F7\>\<#FF0C\>> - \<#662F\>\<#53CD\>\<#5F15\>\<#53F7\>\<#3002\> + \<#662F\>\<#51C6\>\<#5F15\>\<#53F7\>\<#3002\> <\slide> @@ -342,21 +359,17 @@ <\scm-code> - ' # quote + ' ; quote - ` # quasiquote + ` ; quasiquote - , # unquote + , ; unquote - - \; <\slide> \<#4E49\>\<#7B26\>\<#53F7\>\<#6570\>\<#636E\>\V\<#5728\>\<#5217\>\<#8868\>\<#4E2D\>\<#7406\>\<#89E3\>\<#9009\>\<#62E9\>\<#51FD\>\<#6570\>> - \; - <\with|par-columns|2> <\session|s7|default> <\folded-io> @@ -370,9 +383,17 @@ <\folded-io> \\ <|folded-io> - (define a 3) + (define a 4) <|folded-io> - 3 + 4 + + + <\folded-io> + \\ + <|folded-io> + `(+ ,(+ a 1) 1) + <|folded-io> + (+ 5 1) <\folded-io> @@ -380,7 +401,7 @@ <|folded-io> `(+ ,a 1) <|folded-io> - (+ 3 1) + (+ 4 1) <\folded-io> @@ -388,14 +409,12 @@ <|folded-io> (eval `(+ ,a 1)) <|folded-io> - 4 + 5 - \; - <\equation*> - |)>|)>|)>|3> + |)>|)>|)>|3> @@ -455,29 +474,29 @@ \<#53F7\>\<#6C42\>\<#5BFC\>\V\<#5E94\>\<#7528\>> <\session|s7|default> - <\input> + <\folded-io> \\ - <|input> + <|folded-io> (deriv '(+ x 3) 'x) - + <|folded-io> + (+ 1 0) + - <\input> + <\folded-io> \\ - <|input> + <|folded-io> (deriv '(* x y) 'x) - + <|folded-io> + (+ (* x 0) (* 1 y)) + - <\input> + <\folded-io> \\ - <|input> + <|folded-io> (deriv '(* (* x y) (+ x 3)) 'x) - - - <\input> - \\ - <|input> - \; - + <|folded-io> + (+ (* (* x y) (+ 1 0)) (* (+ (* x 0) (* 1 y)) (+ x 3))) + <\session|maxima|default> @@ -495,35 +514,37 @@ <\folded-io> - 1) > + 4) > <|folded-io> diff() <|folded-io> - ) + ) >>d*x>> <\folded-io> - 2) > + 5) > <|folded-io> diff(,x) <|folded-io> - \; - - \ ) + ) >>y>> <\folded-io> - 3) > + 6) > <|folded-io> diff(>,x) <|folded-io> - \; - - \ ) + ) >>*y+x*y>> + + <\input> + 7) > + <|input> + \; + @@ -531,9 +552,9 @@ \<#53F7\>\<#6C42\>\<#5BFC\>\V\<#5B9E\>\<#73B0\>> <\session|s7|default> - <\folded-io> + <\unfolded-io> \\ - <|folded-io> + <|unfolded-io> (define (deriv exp var) \ \ (cond ((number? exp) 0) @@ -565,9 +586,9 @@ \ \ \ \ \ \ \ \ (else \ \ \ \ \ \ \ \ \ (error "unknown expression type -- DERIV" exp)))) - <|folded-io> + <|unfolded-io> deriv - +