Domanda

Dato che esiste un calcolo Lambda non tipicato e un calcolo Lambda semplicemente tipizzato (come descritto, ad esempio, nei tipi di libri e nei linguaggi di programmazione di Benjamin Pierce), esiste una logica combinatoria semplicemente tipita?

Ad esempio, sembrerebbe che i tipi naturali per i combinatori s, K, e lo sarei

S : (a -> b -> c) -> (a -> b) -> a -> c
K : a -> b -> a
I : a -> a

Dove A, B e C sono variabili di tipo che vanno da alcuni tipi T. Ora, forse potremmo iniziare con un singolo tipo di base, bool. Il nostro set di tipi t è quindi il bool insieme a qualsiasi tipo può essere formato usando i tre motivi

(a -> b -> c) -> (a -> b) -> a -> c
a -> b -> a
a -> a

Dove A, B, C in T.

Ci sarebbero due nuove costanti nella lingua.

T : Bool
F : Bool

Quindi, questo linguaggio è costituito dai simboli S, K, I, T e F, insieme alle parentesi. Ha un tipo di tipo base e i "tipi di funzione" che possono essere realizzati con i modelli S, K e I Combinator.

Questo sistema può essere fatto funzionare? Ad esempio, esiste una costruzione If-then-Else ben tipita che può essere formata solo da S, K, I, T, F?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top