演算子は①である:演算子が複数現れるような部分式が左から右へグループ化される時
②の演算子は①左結合, 減算
演算子は①である:演算子が複数現れるような部分式が右から左へグループ化される時
②は①である右結合, 指数
他の関数を介してでもfが自分自身を駆動する時fを①であるという再帰的
関数fの駆動f(a)が最大1回新しいfを駆動する時、fの定義が①であるという線形再帰
関数fが再帰を必要とせずに値をリターンするか、あるいは単に再帰的駆動の結果をリターンする時、関数fは①であるという末端再帰
線形再帰の評価は次の二段階
新しい駆動が行われる①
後入れ先出し法で駆動から制御に戻る、引き続く②巻き取り段階, 巻き戻し段階
「式の値があれば、それはその部分式の値だけに依存する」
この原則に特徴づけられるプログラミング純関数型プログラミング
関数型言語の特徴
ユーザがデータの①に気を使わなくて良いメモリ領域
データ領域に関する組み込み操作が、必要に応じてメモリ領域を確保する。アクセスできなくなったメモリ領域は、自動的に解放される暗黙の領域管理
関数は、他のすべての値と同じ地位を持つ。関数は式の値となり得る。関数を引数として渡すことも出来る。また関数をデータ構造の中に収めることも出来る。一等値としての関数
①:式をデータとして扱うために必須である。①された項目は、それ自身として評価される。引用
無名の関数値に対しての表記法
1度しか使わない関数は関数名を省略できるラムダ関数
ゼロ個以上の値の並び
(XYZ)は該当する。XYZは該当しないリスト
リストの要素に沿ってループまたは繰り返しを行って、要素それぞれに対して何ごとか行う関数である。繰り返し子
P if Q1 and Q2 and…and Qkただしk>=0^1
このような規則のことホーン節
k=0となる規則の特別な場合で、そこでPは無条件で成立する。事実
論理プログラミングは、関係についての①によって駆動される。最も単純な①は、特定の組がある関係にあるかどうかを尋ねるものである。質問
・情報の表現のための事実と規則の使用
・質問の応答への論理推論の使用
を指している用語論理プログラミング
単項とは数、大文字で始まる①、あるいはそれ自身を表す②である。変数, アトム
アトムとカッコで括られた部分項の並びからなる。:①
そのようなアトムは②、そして部分項は③と呼ばれる複合項, ファンクタ, 引数
2つの項T1とT2が共通の具体値Uを持つ時に単一とされるというもの単一化
項Tの①は、Tの中の変数を部分項によって置換して求められる。ある変数の全ての出現を同一の部分項によって置換しなければならない具体値
ある置換σに対してU=Tσであれば、項UはTの具体値であるという。ある置換σに対してT1σとT2が同一となれば、項T1とT2は単一化されるという。この時σをT1とT2の①と呼ぶ単一子
他の全ての単一子σ’に対してT1σがT1σ’の具体値となる時、その置換σをT1とT2の①最汎単一子
3.1459に名前piを与える
(① pi 3.14159)define
xが空リストであれば真、さもなければ偽
(① x)null?
リストxから最初の要素を除いた残余
(① x)cdr
if P1 then E1 else P2 then E2 else E3
(① (P1 E1)(P2 E2)(else E3)cond
演算子は①である:演算子が複数現れるような部分式が左から右へグループ化される時
②の演算子は①左結合, 減算
演算子は①である:演算子が複数現れるような部分式が右から左へグループ化される時
②は①である右結合, 指数
他の関数を介してでもfが自分自身を駆動する時fを①であるという再帰的
関数fの駆動f(a)が最大1回新しいfを駆動する時、fの定義が①であるという線形再帰
関数fが再帰を必要とせずに値をリターンするか、あるいは単に再帰的駆動の結果をリターンする時、関数fは①であるという末端再帰
線形再帰の評価は次の二段階
新しい駆動が行われる①
後入れ先出し法で駆動から制御に戻る、引き続く②巻き取り段階, 巻き戻し段階
「式の値があれば、それはその部分式の値だけに依存する」
この原則に特徴づけられるプログラミング純関数型プログラミング
関数型言語の特徴
ユーザがデータの①に気を使わなくて良いメモリ領域
データ領域に関する組み込み操作が、必要に応じてメモリ領域を確保する。アクセスできなくなったメモリ領域は、自動的に解放される暗黙の領域管理
関数は、他のすべての値と同じ地位を持つ。関数は式の値となり得る。関数を引数として渡すことも出来る。また関数をデータ構造の中に収めることも出来る。一等値としての関数
①:式をデータとして扱うために必須である。①された項目は、それ自身として評価される。引用
無名の関数値に対しての表記法
1度しか使わない関数は関数名を省略できるラムダ関数
ゼロ個以上の値の並び
(XYZ)は該当する。XYZは該当しないリスト
リストの要素に沿ってループまたは繰り返しを行って、要素それぞれに対して何ごとか行う関数である。繰り返し子
P if Q1 and Q2 and…and Qkただしk>=0^1
このような規則のことホーン節
k=0となる規則の特別な場合で、そこでPは無条件で成立する。事実
論理プログラミングは、関係についての①によって駆動される。最も単純な①は、特定の組がある関係にあるかどうかを尋ねるものである。質問
・情報の表現のための事実と規則の使用
・質問の応答への論理推論の使用
を指している用語論理プログラミング
単項とは数、大文字で始まる①、あるいはそれ自身を表す②である。変数, アトム
アトムとカッコで括られた部分項の並びからなる。:①
そのようなアトムは②、そして部分項は③と呼ばれる複合項, ファンクタ, 引数
2つの項T1とT2が共通の具体値Uを持つ時に単一とされるというもの単一化
項Tの①は、Tの中の変数を部分項によって置換して求められる。ある変数の全ての出現を同一の部分項によって置換しなければならない具体値
ある置換σに対してU=Tσであれば、項UはTの具体値であるという。ある置換σに対してT1σとT2が同一となれば、項T1とT2は単一化されるという。この時σをT1とT2の①と呼ぶ単一子
他の全ての単一子σ’に対してT1σがT1σ’の具体値となる時、その置換σをT1とT2の①最汎単一子
3.1459に名前piを与える
(① pi 3.14159)define
xが空リストであれば真、さもなければ偽
(① x)null?
リストxから最初の要素を除いた残余
(① x)cdr
if P1 then E1 else P2 then E2 else E3
(① (P1 E1)(P2 E2)(else E3)cond