Kent Recursive Calculator
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/12/28 14:35 UTC 版)
パラダイム | 関数型、宣言型 |
---|---|
登場時期 | 1981年 |
設計者 | デビッド・ターナー |
型付け | 動的型付け |
影響を受けた言語 | SASL |
影響を与えた言語 | Miranda、Orwell (OL)、Haskell |
ウェブサイト |
krc-lang |
KRC (Kent Recursive Calculator) とは、イギリス・ケント大学(University of Kent)のデビッド・ターナーによって設計・実装された単純な遅延評価方式の純粋関数型プログラミング言語である[1]。1979年11月から1981年10月にかけて、EMAS オペレーティングシステム上に BCPL で実装された[2]。
概要
1972年から1976年にかけてデビット・ターナーはスコットランドのセントアンドリュース大学においてSASL(St.Anrews Static Language)という言語を設計・実装し、主に教育に用いていた。ターナーがケント大学に移ってからはこの経験を生かして新たに言語を設計・実装したが、その言語がKRC(Kent Recursive Calculator)である[3]。KRC は1980年代にケント大学やオックスフォード大学で関数型プログラミングの講義に使用された。
KRCはSASLの文法にさらに改良を加えた言語で、パターンマッチ、ガード、等式で表現された再帰可能な関数定義、ZF 表記(リストの内包表記)を備えている。一方で、where 句は省略された。なお、変数の型が実行時に決まる動的型付け言語である。
KRC の後継言語としては Miranda である。Miranda では多相型が導入された他、KRC では省略された where 句が実装されている。
ZF 集合演算機能(ZF set abstraction)
KRCにおいてリストは遅延評価を実現するストリームとして実装されている。そのストリーム処理の延長として容易に実現できる機能としてKRCに実装されているのがツェルメロ=フレンケル集合演算機能(以下、ZF 集合演算機能と言う)である。ツェルメロ=フレンケルの公理系において、集合を内包表記で記述する場合、
- この節には参考文献や外部リンクの一覧が含まれていますが、脚注によって参照されておらず、情報源が不明瞭です。
- KRC Manual Page
- D. A. Turner (1982), Rrecursion Equations as a Programming Language
- D. A. Turner (2012), Some History of Functional Programming Languages
- D. A. Turner (2017), Some History of Functional Programming Languages
- Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler (2007), A History of Haskell: Being Lazy With Class
- 淵 一博,黒川 利明(編著) 編 『新世代プログラミング』共立出版株式会社、1986年。
関連項目
外部リンク
「Kent Recursive Calculator」の例文・使い方・用例・文例
- Kent Recursive Calculatorのページへのリンク