開発環境
- OS X Lion - Apple(OS)
- Emacs、BBEdit - Bare Bones Software, Inc. (Text Editor)
- プログラミング言語: MIT/GNU Scheme
計算機プログラムの構造と解釈(Gerald Jay Sussman(原著)、Julie Sussman(原著)、Harold Abelson(原著)、和田 英一(翻訳)、ピアソンエデュケーション、原書: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の4(超言語的抽象)、4.1(超循環評価器)、4.1.6(内部定義)、問題 4.21を解いてみる。
その他参考書籍
問題 4.21
a.
入出力結果(Terminal, REPL(Read, Eval, Print, Loop))
1 ]=> ((lambda (n) ((lambda (fact) (fact fact n)) (lambda (ft k) (if (= k 1) 1 (* k (ft ft (- k 1))))))) 10) ;Value: 3628800 1 ]=> (* 10 9 8 7 6 5 4 3 2 1) ;Value: 3628800
b.
コード(BBEdit)
sample.scm
(define (f x) ((lambda (even? odd?) (even? even? odd? x)) (lambda (ev? od? n) (if (= n 0) true (od? ev? od? (- n 1)))) (lambda (ev? od? n) (if (= n 0) false (ev? ev? od? (- n 1))))))
入出力結果(Terminal, REPL(Read, Eval, Print, Loop))
1 ]=> (f 0) ;Value: #t 1 ]=> (f 1) ;Value: #f 1 ]=> (f 2) ;Value: #t 1 ]=> (f 3) ;Value: #f 1 ]=> (f 4) ;Value: #t 1 ]=> (f 5) ;Value: #f 1 ]=> (f 100) ;Value: #t 1 ]=> (f 101) ;Value: #f
0 コメント:
コメントを投稿