Pregunta

Es posible codificar varios tipos en el cálculo de lambda sin tipo a través de funciones de orden superior.

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)

Me preguntaba si se ha realizado alguna investigación para incorporar otros tipos menos convencionales. Sería brillante si hay algún teorema que afirme que cualquier tipo puede ser incrustado. Tal vez hay restricciones, por ejemplo, solo se pueden incrustar tipos de tipos *.

Si de hecho es posible representar tipos menos convencionales, sería increíble ver un ejemplo. Estoy particularmente interesado en ver cómo son los miembros de la clase de tipo Mónada.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top