¿Hay un cálculo de SKI mecanografiado?

26

La mayoría de nosotros conocemos la correspondencia entre la lógica combinatoria y el cálculo lambda . Pero nunca he visto (tal vez no he mirado lo suficientemente profundo) el equivalente de "combinadores mecanografiados", correspondiente al cálculo lambda simplemente mecanografiado. ¿Existe tal cosa? ¿Dónde se puede encontrar información al respecto?

Hugo Sereno Ferreira
fuente
Quizás te interese The Reader Monad y Abstraction Elimination en The Monad.Reader, número 17 . La mónada Reader (o más precisamente su functor aplicativo) está estrechamente relacionada con el SKI escrito.
Petr Pudlák

Respuestas:

18

Se ha demostrado la integridad expresiva de los combinadores mecanografiados en comparación con el cálculo lambda simplemente mecanografiado . Para cada combinador sin tipo, se necesita una familia completa de combinadores con tipo. Por ejemplo, uno tiene

  • Iαα
  • Kα(βα)
  • Sα(βγ)(αβ(αγ))

para todas las combinaciones de tipos simples y γ .α,βγ

Alternativamente, solo piense en los tipos como esquemas de tipos (o tipos polimórficos) e ingréselos en Haskell y voila: combinadores .

Dave Clarke
fuente
¡Nunca pensé que el combinador actuara sobre una mónada! ¿Es eso así? S
Hugo Sereno Ferreira
En realidad, he señalado que corresponde al operador de aplicativos Functors, y el K . S<*>pureK
Hugo Sereno Ferreira
es bastante fundamental, por lo que podría corresponder a muchas cosas. S tiene el mismo tipo como la función mónada un p para funtor Λ X . alpha X . SSapΛX.αX
Dave Clarke