Le λ-calcul est un système formel de définition de fonction, d'application de fonction et de récursivité qui forme la base mathématique de la programmation fonctionnelle.
J'apprends actuellement le calcul lambda et je me posais des questions sur les deux différents types d'écriture d'un terme lambda. λxy.xyλxy.xy\lambda xy.xy λx.λy.xyλx.λy.xy\lambda x.\lambda y.xy Y a-t-il une différence de sens ou de manière d'appliquer la réduction bêta, ou s'agit-il simplement de deux façons d'exprimer la même chose? Surtout cette …
J'ai du mal à comprendre le but de la quantification universelle et existentielle des types. Je joue avec l'écriture d'un langage jouet basé sur le calcul des constructions . J'ai lu sur Morte et Henk pour m'aider à mieux comprendre. Je ne comprends pas pourquoi le CoC a une abstraction …
Il a été porté à mon attention que le coût de l'inférence de type dans un langage fonctionnel comme OCaml peut être très élevé. L'affirmation est qu'il existe une séquence d'expressions telle que pour chaque expression, la longueur du type correspondant est exponentielle sur la longueur de l'expression. J'ai conçu …
Plus précisément, si j'ai défini un nouveau comme au lieu de le -calcul serait-il une base concurrentielle?K2K2K_2K2=λx.(λy.y)K2=λx.(λy.y)K_2 = \lambda x. (\lambda y. y)K=λx.(λy.x)K=λx.(λy.x)K = \lambda x. (\lambda y. x){ S, K2, Je}{S,K2,I}\{S, K_2,I\} Ma supposition est "non", simplement parce que je ne peux pas sembler être capable de construire le …
Soit être -reduction dans le -calculus. Définissez -expansion par .→β→β\to_\betaββ\betaλλ\lambdaββ\beta←β←β\leftarrow_\betat′←βt⟺t→βt′t′←βt⟺t→βt′t'\leftarrow_\beta t \iff t\to_\beta t' Est confluentes? En d'autres termes, avons-nous cela pour tout , si , alors il existe tel que ?←β←β\leftarrow_\betal,d,rl,d,rl,d,rl→∗βd←∗βrl→β∗d←β∗rl \to_\beta^* d\leftarrow_\beta^* ruuul←∗βu→∗βrl←β∗u→β∗rl\leftarrow_\beta^* u \to_\beta^* r Mots-clés: confluence ascendante, propriété CR à l'envers J'ai commencé par regarder la …
Je ne sais pas où poser cette question, j'espère que c'est un bon endroit. Je suis juste curieux de savoir s'il est possible de faire un générateur de calcul lambda; essentiellement, une boucle qui, avec un temps infini, produira toutes les fonctions de calcul lambda possibles. (comme sous la forme …
J'ai appris aujourd'hui que l'analyse d'algorithme diffère en fonction du modèle de calcul. C'est quelque chose auquel je n'ai jamais pensé ni entendu parler. Un exemple qui m'a été donné, qui l'a illustré davantage, par l'utilisateur @chi était: Par exemple, considérons la tâche: étant donné retournent . En RAM, cela …
Les Self Types sont une extension du Calcul des constructions [1] qui permettent au langage d'exprimer des types de données algébriques encodés par le Scott Encoding. Le Scott Encoding offre une possibilité de correspondance de motifs O(1), qui est l'un des principaux facteurs de motivation pour l'inclusion de définitions inductives …
Selon Peter Selinger , le Lambda Calculus est algébrique (PDF). Au début de cet article, il dit: L'interprétation combinatoire du calcul lambda est connue pour être imparfaite, car elle ne satisfait pas à la règle ξξξ : selon l'interprétation, M=NM=NM = N n'implique pas λx.M=λx.Nλx.M=λx.N\lambda x.M = \lambda x.N (Barendregt, …
Je travaille sur un petit compilateur de calcul lambda qui a un système d'inférence de type Hindley-Milner qui fonctionne et prend désormais également en charge le let récursif (pas dans le code lié), ce qui, je crois, devrait suffire à le rendre complet . Le problème est maintenant que je …
Je commence un cours de premier cycle en informatique à l'automne prochain, mais je ne peux pas vraiment comprendre le λ-calcul dans le contexte de la programmation fonctionnelle. Je peux mal interpréter cela complètement, mais basé sur cette définition de la Stanford Encyclopedia of Philosophy, c'est juste une autre notation …
Que sont les fonctions anonymes (lambda)? Quelle est la définition formelle d'une fonction anonyme dans un langage de programmation fonctionnel? En termes simples, lorsque je programme en schéma / lisp, je dirais qu'une fonction anonyme (lambda) est une fonction qui n'est pas liée à un identifiant. Est-ce tout ce que …
Je comprends qu'un chiffre d'église ressemble à (... n fois ...) . Cela ne signifie rien de plus que "la fonction appliquée fois à la fonction ". λ s . λ z . s scncnc_nλ s . λ z. sλs.λz.s\lambda s. \lambda z. ss n zszszs\;zsssnnnzzz Une définition possible de …
Je voudrais comparer les performances des structures de données codées par fonction (Church / Scott) par rapport aux structures de données classiquement codées (assembleur / C). Mais avant de le faire, j'ai besoin de savoir à quel point la représentation des fonctions est / peut être efficace en mémoire. La …
Je lis cet article bien connu sur les univers en théorie des types . Au début, je m'attendais à quelque chose de similaire à SetωAgda, mais il s'avère que c'est même quelque chose de plus général. Il semble généraliser la construction de l'univers d'un simple type inductif-récursif à un liant …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.