La programmation fonctionnelle est un paradigme de programmation qui utilise principalement des fonctions comme moyen de construire des abstractions et d'exprimer des calculs qui comprennent un programme informatique.
Je travaille sur un langage d'expression de la généalogie ML, il a donc naturellement besoin d'une inférence de type> :) Maintenant, j'essaie d'étendre une solution basée sur des contraintes au problème de l'inférence des types, basée sur une implémentation simple en EOPL (Friedman et Wand), mais ils décalent élégamment les …
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 …
Je veux fournir des preuves pour des parties d'un programme Haskell que j'écris dans le cadre de ma thèse. Jusqu'à présent cependant, je n'ai pas réussi à trouver un bon ouvrage de référence. Le livre d'introduction de Graham Hutton, Programming in Haskell ( Google Books ) - que j'ai lu …
Je ne connais pas la terminologie correcte pour poser cette question, donc je vais la décrire avec beaucoup de mots à la place, supportez-moi. Contexte , juste pour que nous soyons sur la même longueur d'onde: les programmes contiennent souvent des caches - un compromis temps / mémoire. Une erreur …
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 …
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 …
La défonctionnalisation est une transformation décrite pour la première fois en 1972 par John C. Reynolds pour éliminer les fonctions d'ordre supérieur. Existe-t-il des transformations alternatives (plus efficaces?) Pour éliminer les fonctions d'ordre supérieur?
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 veux savoir dans quelle mesure un système de type dans un langage de programmation peut être bénéfique. Par exemple, je sais que dans un langage de programmation typé de manière dépendante, nous pouvons créer une Vectorclasse incorporant la taille du vecteur dans la signature de type. C'est comme un …
Il existe donc un algorithme pour convertir les termes de calcul lambda en logique combinatoire à l'aide de combinateurs SK. Il produit des choses qui explosent en taille. J'aimerais en savoir plus sur cette explosion de taille. Je n'arrive pas à penser à un meilleur algorithme cependant. J'ai entendu dire …
Bien que je travaille en tant que programmeur dans ma vie quotidienne et que j'utilise tous les langages à la mode (Python, Java, C, etc.), je n'ai toujours pas de vision claire de ce qu'est la programmation fonctionnelle. D'après ce que j'ai lu, une propriété des langages fonctionnels est que …
Disons que les listes sont définies comme List a = Nil | Cons a (List a) Alors, à Haskell est List xle plus grand point ou le moins fixe? Je demande parce que le lfp devrait exclure les listes infinies (mais vous pouvez les construire dans Haskell), tandis que le …
StackOverflow m'a pointé ici, donc la question pourrait être un peu en termes simples. Wikipedia définit les fonctions pures comme En programmation informatique, une fonction peut être décrite comme une fonction pure si ces deux déclarations sur la fonction sont valables: La fonction évalue toujours la même valeur de résultat …
Dans la théorie des types podcast ep. 3 , Dan Licata affirme que le fait que pour chaque entrée, insertionsort et mergesort donnent le même résultat n'implique pas que le résultat serait égal lorsqu'il est utilisé en tant que fonctions d'ordre supérieur comme arguments d'une troisième fonction, c'est map insertionsort-à- …
Comme défini par Wikipedia, (La correspondance Curry-Howard) est une généralisation d'une analogie syntaxique entre les systèmes de logique formelle et les calculs computationnels qui a été découverte pour la première fois par le mathématicien américain Haskell Curry et le logicien William Alvin Howard. Le λ-cube qui lui est associé est …
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.