Incorporer des types plus élevés (Monades!) Dans le calcul Lambda non typlé
-
30-10-2019 - |
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