Next: 2.2 再帰関数の定義
Up: 2 インタプリタの実行例
Previous: 2 インタプリタの実行例
関数の定義は,シンボルの本体にlambdaスペシャルフォームで
作られるリストを代入することで可能です.
つまり,
==> (set! test (lambda (n) (car n)))
(EXCL::.LEXICAL-CLOSURE.
(LAMBDA (&REST ARGS)
(INTERP CODE (NCONC (MAPCAR (FUNCTION LIST)
VARS ARGS) ENV)))
((CODE BEGIN (CAR N))
(VARS N)
(ENV)
(PARAMS (N) (CAR N))
(NAME . LAMBDA))
NIL
((SCHEME-SPECIAL-FORM-INTERP . EXCL::INVALID)) NIL)
==> (test '(a b c))
A
==> (begin (test '(a b c)))
A
という具合いに関数testが定義可能です.
generated through LaTeX2HTML. M.Inaba 平成18年5月6日