パウル・ブラ・レヴィ(Paul Blain Levy)による計算モデルにCall-By-Push-Value(CBPVと略記)があります。最近知ったのですが、昔(20世紀)から有名らしいです。 CBPVの理論には、ラムダ計算の拡張である項言語(term language)が登場するのですが、コレ気に入りました。最初から不純なプログラム(impure program)を視野に入れています。僕は不純が好きですからね。不純な計算モデルであるデカルト作用圏やフレイド圏と相性が良さそうです。それと、積分を入れたラムダ計算とも何か関係がありそうな予感。 レヴィのCBPV言語は、ラムダ計算の項言語の拡張ですが、かなり現実の言語に近いものです。そのまま実装しても実用になりそうです。どんな構文かを紹介します。僕の好みを入れて少し変形します。 内容: 前置き 文と式の区別 式の型付け 文の種類と型付け 文に対

