Question

Il est possible de coder différents types dans le calcul Lambda non typlé via des fonctions d'ordre supérieur.

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)

Je me demandais si des recherches ont été consacrées à l'intégration d'autres types moins conventionnels. Il serait génial s'il y a un théorème qui affirme que tout type peut être intégré. Peut-être qu'il existe des restrictions, par exemple, seuls les types de types * peuvent être intégrés.

S'il est effectivement possible de représenter des types moins conventionnels, ce serait génial de voir un exemple. Je suis particulièrement désireux de voir à quoi ressemblent les membres de la classe Monad Type.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top