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 regardais la conférence de Jim Weirich, intitulée « Aventures dans la programmation fonctionnelle ». Dans cette conférence, il présente le concept de combinateurs Y, qui trouve essentiellement le point fixe pour les fonctions d'ordre supérieur. L'une des motivations, comme il le mentionne, est de pouvoir exprimer des fonctions récursives …
Notre professeur nous a demandé de penser à une fonction dans OCaml qui a le type 'a -> 'b c'est-à-dire une fonction d'un argument qui pourrait être n'importe quoi, et qui peut retourner un autre chose. J'ai pensé à utiliser raisedans une fonction qui ignore son argument: let f x …
Selon cet article, la ligne suivante de code Lisp imprime "Hello world" sur la sortie standard. (format t "hello, world") Le lisp, qui est un langage homoiconique , peut traiter le code comme des données de cette manière: Imaginez maintenant que nous avons écrit la macro suivante: (defmacro backwards (expr) …
Je suis récemment devenu extrêmement intéressé par la compréhension et la démonstration d'aspects des langages de programmation (fonctionnels). Cependant, alors que je plonge plus profondément, des choses comme calcul, la théorie des catégories et la sémantique dénotationnelle sont un peu difficiles à comprendre sans explication appropriée.λλ\lambda J'ai lu SICP (un …
Dans l'article de Philip Wadler sur les théorèmes gratuits, il déclare dans la section 2 sur la paramétrie que il n'y a pas de modèles naïfs de théorie des ensembles du calcul lambda polymorphe Dans le modèle naïf de la théorie des ensembles, les types sont des ensembles et les …
Les CPU sont dans une certaine mesure conçus en tenant compte du logiciel que les gens vont écrire pour cela, implicitement ou explicitement. Il me semble que si vous regardez la conception des architectures de jeux d'instructions, elles sont très "impératives", dans le sens où chaque instruction code une commande …
Quelqu'un peut-il me renvoyer à des articles évalués par des pairs qui étudient les avantages ou les inconvénients de l'écriture de code dans un style fonctionnel? Existe-t-il des articles qui discutent des applications de Lambda Calculus dans des domaines tels que l'apprentissage automatique, la conception de langage, etc.?
La programmation fonctionnelle a le très élégant Lambda Calculus et ses variantes comme théorie de sauvegarde. Y a-t-il une telle chose pour OOP? Qu'est-ce qu'une abstraction pour le modèle orienté objet?
J'ai posé une question similaire sur cstheory.SE . Selon cette réponse sur Stackoverflow, il existe un algorithme qui, sur un langage de programmation fonctionnel pur non paresseux, a une complexité , tandis que le même algorithme en programmation impérative est Ω ( n ) . Ajouter la paresse au langage …
Y a-t-il des modifications qui pourraient être apportées aux processeurs pour les rendre plus performants pour des exécutions simultanées comme Rust? Par exemple, y a-t-il des changements dans les implémentations de prédiction de branche ou les tailles de cache qui pourraient aider les exécutions simultanées? J'ai l'impression que les conceptions …
Sur le wiki haskell, il y a l'exemple suivant d'utilisation conditionnelle de la monade IO (voir ici) . when :: Bool -> IO () -> IO () when condition action world = if condition then action world else ((), world) Notez que dans cet exemple, la définition de IO aest …
Je pense comprendre comment la déforestation consomme et produit une liste en même temps (à partir d'une fonction de pliage et de dépliage - voir cette bonne réponse sur CodeReview ici ), mais quand je l'ai comparé avec l' entrée de wikipedia sur la technique dont il a parlé de …
Supposons que l'on veuille raisonner sur les propriétés du code au-delà de choses comme la totalité et la pureté fonctionnelle - on se soucie également de la consommation de mémoire ou de la complexité algorithmique d'une fonction. Cela peut-il être fait à l'aide de systèmes de typage et d'effets dépendants?
Je recherche une structure de données persistante similaire à un tableau (mais immuable), permettant des opérations d'indexation, d'ajout, de pré-ajout et d'itération rapides (bonne localité). Clojure fournit un vecteur persistant, mais ce n'est que pour un ajout rapide. Le vecteur de Scala a effectivement un ajout et un pré-ajout à …
Dans un commentaire à Learning F #: Quels livres utilisant d'autres langages de programmation peuvent être traduits en F # pour apprendre des concepts fonctionnels? Makarius a déclaré: Notez que l'approche "CPS" a fait un grand tort aux performances en SML / NJ. Son modèle d'évaluation physique viole trop d'hypothèses …
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.