Je suis un étudiant universitaire et nous étudions actuellement le lambda calcul. Cependant, j'ai encore du mal à comprendre exactement pourquoi cela est utile pour moi. Je me rends compte que si vous faites beaucoup de programmation fonctionnelle, cela pourrait être utile, mais je pense que ce n'est pas vraiment nécessaire pour apprendre la programmation fonctionnelle, qu'en pensez-vous?
Deuxièmement, le calcul lambda peut-il être utilisé dans le domaine de l'informatique mais en dehors des langages de programmation fonctionnels?
Vous demandez une application en dehors de l'informatique et de la logique. C'est facile à trouver, par exemple en topologie algébrique, il est pratique d'avoir une catégorie fermée cartésienne d'espaces, voir la catégorie pratique des espaces topologiques sur nLab. Le langage formel correspondant aux catégories fermées cartésiennes est précisément le -calculus. Permettez-moi d'illustrer avec un exemple très simple comment cela est utile.λ
Tout d'abord, comme exercice d'échauffement, supposons que quelqu'un vous demande si la fonction définie par f ( x ) = x 2 e x + log ( 1 + x 2 ) est différentiable. Vous n'avez pas réellement à prouver que c'est le cas, vous constatez simplement qu'il s'agit d'une composition de fonctions différenciables, donc différenciables. En d'autres termes, vous avez tiré une conclusion facile basée sur la forme de la définition.f:R→R f(x)=x2ex+log(1+x2)
Diverses extensions du -calculus permettent de faire la même chose dans d'autres domaines. Par exemple, comme un topos lisse est une catégorie fermée cartésienne, toute carte définie à l'aide du -calculus, à partir des dérivés et de la structure en anneau des réels (et vous pouvez ajouter la fonction exponentielle si vous le souhaitez) est automatiquement lisse. (En fait, le principal objectif des topos lisses est l'existence d'infinitésimaux nilpotents qui vous permettent de dire de manière significative des choses comme "nous disséquons un disque en triangles isocèles infiniment fins".)λλ λ
la source
Une façon de voir -calculus est un modèle simple et concis de programmes de paramétrage. Vous paramétrez le code dans presque tous les langages de programmation qui ont des fonctions, des procédures ou des méthodes, et dans n'importe quel langage qui a des modules ou qui vous permet de paramétrer des types. Le paramétrage est une forme de réutilisation. Parce que -calculus est si simple, les points communs entre de nombreux langages de programmation qui vous permettent de paramétrer du code, apparaissent clairement.λλ λ
Il est certainement possible d'être un très bon programmeur sans connaître -calculus, mais vous manquez quelque chose de beau qui est également très utile.λ
la source
la source
Sans en savoir plus, j'entends dire que les linguistes utilisent le lambda calcul.
http://www.sfu.ca/~jeffpell/Ling406/LambdaAbstractionOH.pdf , https://files.nyu.edu/cb125/public/Lambda/
la source