Question

Comme il y a un calcul Lambda non typlé et un calcul Lambda simplement de type (comme décrit, par exemple, dans les types de livres et les langages de programmation de Benjamin Pierce), y a-t-il une logique combinatoire simplement de type?

Par exemple, il semblerait que des types naturels pour les combinateurs S, K et je serais

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

Lorsque A, B et C sont des variables de type allant sur un ensemble de types T. Maintenant, nous pourrions peut-être commencer avec un seul type de base, bool. Notre ensemble de types T est alors bool avec tous les types qui peuvent être formés en utilisant les trois modèles

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

où a, b, c dans T.

Il y aurait deux nouvelles constantes dans la langue.

T : Bool
F : Bool

Ainsi, cette langue se compose des symboles S, K, I, T et F, ainsi que des parenthèses. Il a un bool de type de base et les "types de fonctions" qui peuvent être fabriqués à partir des modèles de combinateur S, K et I.

Ce système peut-il être fait fonctionner? Par exemple, existe-t-il une construction si bien de type qui peut être formée à partir de S, k, i, t, f?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top