http://d.hatena.ne.jp/sumii/20070511/p6 の続き。質問の仕方からわかったかもしれませんが、教科書的解答は「(逐次言語では)実装できない」です。たとえば、名前呼び(call-by-name)や値呼び(call-by-value)のλ計算(要するに逐次関数型言語)では、簡約規則についてよく考察すれば、porは定義できないことが証明できてしまいます。 ところが、(たとえば領域理論などの)表示的意味論では、porも「計算可能」な連続関数になります。ということは、たとえば「関数fを受け取って、fがporを実装していればtrueを返す」という関数is_porと、「fを受け取り、falseを返す」という関数は、操作的意味論では等価なのに表示的意味論では等価でなくなってしまいます。 ということで、 (普通の)λ計算はあくまで逐次言語に過ぎず、(porのような意味での)