Land of Lisp
(オライリージャパン)
M.D. Conrad Barski (著) 川合 史朗 (翻訳)
原書: Land of LISP
Learn to Program in Lisp, One Game at a Time!
開発環境
- OS X Yosemite - Apple (OS)
- Emacs(Text Editor)
- Scheme (プログラミング言語)
- kscheme, Gauche, GNU Guile (処理系)
Land of Lisp (M.D. Conrad Barski (著)、川合 史朗 (翻訳)、オライリージャパン)の3章(Lisp の構文の世界を探検する)、3.2(Lisp シンタックスの構成要素)をSchemeで取り組んでみる。
3.2(Lisp シンタックスの構成要素)
コード(Emacs)
(begin
(newline)
(define print (lambda (x) (display x) (newline)))
(define square (lambda (n) (* n n)))
(define (square1 n) (* n n))
(print (square 10))
(print (square1 10))
;; Lisp と違って Scheme のシンボルは大文字小文字の区別をする
(print (eq? (quote fooo) (quote FoOo)))
(print (+ 1 1.0))
(define expt
(lambda (x n)
(if (= n 1)
x
(* x (expt x (- n 1))))))
(print (expt 53 53))
(print (/ 4 6))
(print (/ 4.0 6))
(print "Tutti Fruitti")
(print "He yelled \"Stop that thief!\" from the busy street.")
)
入出力結果(Terminal(kscheme), REPL(Read, Eval, Print, Loop))
$ kscheme < sample3_2.scm kscm> 100 100 #f 0.2e1 24356848165022712132477606520104725518533453128685640844505130879576720609150223301256150373 2/3 0.666666666666666666667e0 Tutti Fruitti He yelled "Stop that thief!" from the busy street. #<undefined> kscm> $
0 コメント:
コメントを投稿