未薄型のラムダ微積分に、より高いキンデッドタイプ(モナド!)を埋め込む
-
30-10-2019 - |
質問
高次関数を介して、型のないラムダ微積分のさまざまなタイプをエンコードすることができます。
Examples:
zero = λfx. x
one = λfx. fx
two = λfx. f(fx)
three = λfx. f(f(fx))
etc
true = λtf. t
false = λtf. f
tuple = λxyb. b x y
null = λp. p (λxy. false)
私は、他の少ない従来のタイプを埋め込む研究があったかどうか疑問に思っていました。あらゆるタイプを埋め込むことができると主張する定理がある場合、それは素晴らしいことです。たぶん制限があるかもしれません。たとえば、種類の種類のみ *を埋め込むことができます。
より少ない従来のタイプを表すことが実際に可能であれば、例を見るのは素晴らしいことです。 Monadタイプのクラスのメンバーがどのように見えるかを見ることに特に熱心です。
正しい解決策はありません
所属していません StackOverflow