|
Lambda
著者: 森 洋久 / joshua@globalbase.org ※
プロトタイプ
LISP形式
-
( Lambda[Order="Normal"] ( Arguments symbol ....) exp)
-
( Lambda[Order="Applicative"] env-exp ( Arguments symbol ....) exp)
-
( Lambda[Order="Normal"] symbol exp)
-
( Lambda[Order="Applicative"] env-exp symbol exp)
XML形式
-
<Lambda Order="Normal"> <Arguments> ^symbol ^symbol .... </Arguments> exp </Lambda>
-
<Lambda Order="Applicative"> env-exp <Arguments> ^symbol ^symbol .... </Arguments> exp </Lambda>
-
<Lambda Order="Normal"> ^symbol exp </Lambda>
-
<Lambda Order="Applicative"> env-exp ^symbol exp </Lambda>
引数
Arguments [0-1] XLT_SYMBOL のリスト
exp [1] 任意の型
env-exp [0-1] XLT_ENV
属性
Order Applicative / Normal
評価形式
applicative
所属エージェント
xl
所属環境
Env0
説明
評価順序 (Order) には、引数の評価方法としてNormal か Applicative のいずれ かを指定する。Normal の場合は引数はすべて評価されずに、そのまま関数に渡 される。環境は新たに生成され、そこに引数、属性情報などが記憶される。 Applicative の場合は、引数はすべて評価され関数に渡される。関数はexpを評 価し、その戻り値を関数の戻り値とする。引数の評価の時に使用する環境は、 env-expで指定される。env-exp = () とすると評価時のカレント環境で引数を評 価する。
Lambdaの戻り値は関数である。この戻り値をEvalによって評価すると、まず、与え られた環境で、この関数の属性に従って引数を評価する。次に、与えられた環 境を親に持つ環境を生成し、その環境に、シンボルリストで定義されたシンボ ルと先の値の対応を記憶し、この環境をもって、expを評価する。評価結果を、 この関数の戻り値とする。
(1) の場合、引数の指定された順番と、Argumentのシンボルの順番を照らし合わせ、 対応するシンボルに引数を対応させる。一方、 (2) は関数呼び出し時の 構造型全体をシンボルsymbolに対応させる。
▲ページトップへ戻る
戻り値
評価結果。
エラー
-
XLE_SEMANTICS_INV_FORMAT "format error in lambda argment"
参考
バグ
▲ページトップへ戻る
|
|