J'essaye de construire une fonction qui prend un nombre donné d'arguments et retourne toujours la même valeur.Lambda Calculus: construire une fonction qui prend plus d'arguments à chaque itération
Ceci fait partie d'un devoir. Il y a un indice fourni:
Le "k-way T" est une fonction qui prend k arguments et renvoie toujours T. A "0-way T" est juste T.
Où k est fourni en tant que numéro d'église et T est l'expression lambda pour True (\ x. \ yx).
La tâche complète consiste à fournir une expression lambda qui calcule une fonction OR de type K. Où le nombre d'arguments 'boolean' est fourni avant les arguments 'boolean'. par exemple:
((OR 3) F T F)
Mais pour l'instant, je suis en train de créer qui prend k arguments et renvoie toujours T. Le k est fourni en tant que premier argument. Donc, fondamentalement, je ne voulais pas créer une fonction qui ait un argument de plus pour chaque «itération» de l'église.
Mais de toute façon je suis complètement coincé. Est-ce que je peux le faire avec seulement un numéro d'église? Ou ai-je besoin d'une récursivité (Y-Combinator)?
En général: existe-t-il de bons outils (par exemple pour la visualisation) qui prennent en charge la création d'expressions lambda.
Je suis vraiment étonné de la puissance du lambda-calcul et je veux vraiment l'apprendre. Mais je ne sais pas comment ...
Merci à l'avance
Merci beaucoup! J'ai encore besoin de comprendre. Mais je pense que je vais gérer avec votre explication ... – woodtluk
N'hésitez pas à poser des questions de suivi ... –
Merci, je comprends maintenant le k-way TRUE et a réussi à l'implémenter. J'ai déjà regardé Scheme et j'ai essayé de suivre le cours MIT Scheme (c'est un peu vieux mais je pense que c'est encore une très bonne introduction à la programmation fonctionnelle et à CS en général). – woodtluk