Next: 9.4 組み込み基本関数の定義
Up: 9 Continuation操作機構をもつSchemeインタプリタ
Previous: 9.2 スペシャルフォームの実行
関数呼び出しの部分は,リストデータの各要素を最初から順にinterp
してゆく手続きmap-interpをまず定義します.
それは,リストデータがnilならば,与えられたccをnil
を引数として実行します.
(defun interp-call (call env cc)
(map-interp call env
#'(lambda (fa)
(apply (car fa) cc (cdr fa)))))
(defun map-interp (list env cc)
(if (null list)
(funcall cc nil)
(interp (car list) env
#'(lambda (x)
(map-interp
(cdr list) env
#'(lambda (y)
(funcall cc (cons x y))))))))
generated through LaTeX2HTML. M.Inaba 平成18年5月6日