「型付きラムダ計算」の版間の差分
表示
削除された内容 追加された内容
m ボット: 言語間リンク 7 件をウィキデータ上の (d:Q2607208 に転記) |
I.hidekazu (会話 | 投稿記録) →定義: 細かい修正 |
||
(同じ利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
'''型付きラムダ計算'''(かたつきらむだけいさん、{{lang-en-short|typed lambda calculus}})とは、定義域と値域の定まった関数を意味する型付きラムダ式と簡約規則からなる簡約の体系を言う。 |
|||
⚫ | |||
== 定義 == |
|||
=== 型付きラムダ式(typed lambda expression) === |
|||
D, D' を集合または類(class)<ref>フォンノイマン・ベルナイス・ゲーデル集合論の意味での類である。</ref>とする。M を D 上の値を取るものとする。このとき、 |
|||
:λ x : D' . M |
|||
は D' から D へのなにか写像(関数)f : D' → D を意味するものとする。このような λ を用いた関数の表現を'''型付きラムダ式'''(typed lambda expression)と呼ぶ。 |
|||
さらに、D' の値を取る N に対して、(λ x : D' . M)N は一般的な関数でいうところの f(N) を意味するものとする。 |
|||
<!-- 何を言っているのか意味が分からないため |
|||
== 概要 == |
|||
⚫ | |||
ある観点から見れば、型付きラムダ計算は型を持たない[[ラムダ計算]]を改良したものと言えるが、別の観点からは、より根本的な理論と見ることもでき、型を持たないラムダ計算の方が型が1つしかない特殊ケースと見ることができる。 |
ある観点から見れば、型付きラムダ計算は型を持たない[[ラムダ計算]]を改良したものと言えるが、別の観点からは、より根本的な理論と見ることもでき、型を持たないラムダ計算の方が型が1つしかない特殊ケースと見ることができる。 |
||
12行目: | 22行目: | ||
[[プログラミング (コンピュータ)|プログラミング]]において、[[型システム#強い型付けと弱い型付け|強い型付け]]のプログラミング言語のルーチン(関数、プロシージャ、メソッド)は、型付きラムダ計算と密接に関連している。[[Eiffel]]には "inline agent" の記法があり、型付きラムダ式を直接定義して操作できる。例えば、'''agent''' (p: PERSON): STRING '''do Result''' := p.spouse.name '''end''' という式があるとき、これはある人 (person) の配偶者 (spouse) の名前を返す関数を表したオブジェクトを記述している。 |
[[プログラミング (コンピュータ)|プログラミング]]において、[[型システム#強い型付けと弱い型付け|強い型付け]]のプログラミング言語のルーチン(関数、プロシージャ、メソッド)は、型付きラムダ計算と密接に関連している。[[Eiffel]]には "inline agent" の記法があり、型付きラムダ式を直接定義して操作できる。例えば、'''agent''' (p: PERSON): STRING '''do Result''' := p.spouse.name '''end''' という式があるとき、これはある人 (person) の配偶者 (spouse) の名前を返す関数を表したオブジェクトを記述している。 |
||
--> |
|||
== 脚注 == |
|||
<references /> |
|||
== 参考文献 == |
== 参考文献 == |
||
* {{cite book| author=Joseph E. Stoy| title=Denotational Semantics: The Scott-Strachey Approach to Programming Language Semantics|publisher=MIT Press | year=1977| }} |
|||
⚫ | |||
* {{citation | author=Alfred Tarski | title=A lattice-theoretical fixpoint theorem and its applications | year=1955 | url=http://projecteuclid.org/DPubS/Repository/1.0/Disseminate?view=body&id=pdf_1&handle=euclid.pjm/1103044538 | ref=Tarski(1955) }} |
|||
* {{citation | author=Dana Scott | title=Continuous lattices | year=1972 | url=http://repository.readscheme.org/ftp/papers/plsemantics/oxford/Scott-PRG07.pdf | journal=Lecture Notes in Mathematics Volume 274 | ref=Scott(1972) }} |
|||
* {{citation | author=Dana Scott | title=Data types as lattices | year=1976 | journal=Lecture Notes in Mathematics Volume 499 | url=http://www.cs.ox.ac.uk/files/3287/PRG05.pdf | ref=Scott(1976) }} |
|||
⚫ | |||
{{DEFAULTSORT:かたつきらむたけいさん}} |
{{DEFAULTSORT:かたつきらむたけいさん}} |
2013年12月21日 (土) 07:23時点における版
型付きラムダ計算(かたつきらむだけいさん、英: typed lambda calculus)とは、定義域と値域の定まった関数を意味する型付きラムダ式と簡約規則からなる簡約の体系を言う。
定義
型付きラムダ式(typed lambda expression)
D, D' を集合または類(class)[1]とする。M を D 上の値を取るものとする。このとき、
- λ x : D' . M
は D' から D へのなにか写像(関数)f : D' → D を意味するものとする。このような λ を用いた関数の表現を型付きラムダ式(typed lambda expression)と呼ぶ。
さらに、D' の値を取る N に対して、(λ x : D' . M)N は一般的な関数でいうところの f(N) を意味するものとする。
脚注
- ^ フォンノイマン・ベルナイス・ゲーデル集合論の意味での類である。
参考文献
- Joseph E. Stoy (1977). Denotational Semantics: The Scott-Strachey Approach to Programming Language Semantics. MIT Press
- Alfred Tarski (1955), A lattice-theoretical fixpoint theorem and its applications
- Dana Scott (1972), “Continuous lattices”, Lecture Notes in Mathematics Volume 274
- Dana Scott (1976), “Data types as lattices”, Lecture Notes in Mathematics Volume 499
- Henk Barendregt (1992). “Typed lambda calculi with types”. Handbook of Logic in Computer Science. Volume II. Oxford University Press