L'un des principaux avantages de la mémoire transactionnelle logicielle qui est toujours mentionné est la composabilité et la modularité. Différents fragments peuvent être combinés pour produire des composants plus gros. Dans les programmes basés sur les verrous, ce n'est souvent pas le cas. Je cherche un exemple simple illustrant cela …
La déclaration suivante donne une erreur: type Vec2d = (Float, Float) type Vec3d = (Float, Float, Float) -- Rect x y defines a rectangle spanning from (0,0) to (x,y) data Obj2d = Rect Float Float | Translate Vec2d Obj2d -- Cuboid x y z defines a cuboid spanning from (0,0,0) …
J'apprends la programmation fonctionnelle et j'ai du mal à comprendre comment certains scénarios particuliers sont mis en œuvre sans utiliser d'affectation. Le simple problème suivant résume à peu près ma confusion. Écrivez un programme qui reçoit des événements sur les changements dans une structure de données donnée et émet des …
Le langage de base Haskell est vraiment simple. Issu d'un milieu OO, la principale difficulté est de s'adapter au pur paradigme fonctionnel. Tout en apprenant Haskell "basique", j'ai toujours considéré les extensions de langage comme des jouets pour les CS ou comme des expériences pour les futures versions du langage …
Je vois maintenant que Racket a des types. À première vue, il semble être presque identique à la frappe Haskell. Mais le CLOS de Lisp couvre-t-il une partie de l'espace couvert par les types Haskell? La création d'un type Haskell très strict et d'un objet dans n'importe quel langage OO …
J'ai lu beaucoup de livres et d'articles sur la programmation fonctionnelle et j'ai toujours honte de ne pas pouvoir comprendre à coup sûr certains concepts très basiques. L'une des principales idées de la programmation fonctionnelle est que la même entrée doit toujours produire la même sortie. Par exemple, interroger la …
Étant donné que Ruby a une bonne liste des capacités de fonctionnement en construction - réduire, carte, sélectionnez, recueillez etc. Il a procs, blocs et lambdas, et a beau support d'itération (la eachfamille), serait - il une mauvaise décision de conception si je tente de écrire tous mes trucs Ruby …
Il semble que toute instance Bounded devrait avoir une implémentation saine d'Enum. Je ne peux pas personnellement penser à un contre-exemple, bien que si quelqu'un en trouve un qui n'est pas pathologique, je comprendrai pourquoi ce n'est pas le cas. En faisant :isur les deux classes de caractères, il semble …
Fermé . Cette question doit être plus ciblée . Il n'accepte pas actuellement les réponses. Vous souhaitez améliorer cette question? Mettez à jour la question pour qu'elle se concentre sur un seul problème en modifiant ce post . Fermé il y a 4 ans . L'article original de Wadler sur …
J'ai lu que Go n'a pas vraiment d'inférence de type dans le sens où les langages fonctionnels tels que ML ou Haskell l'ont fait, mais je n'ai pas pu trouver une comparaison simple à comprendre des deux versions. Quelqu'un pourrait-il expliquer en termes de base en quoi l'inférence de type …
Récemment, je suis devenu profondément intéressé par Haskell. Tout en essayant d'apprendre de nouveaux concepts (par exemple le mot - clé forall et la monade ST ) et le système de types de Haskell en général, je rencontre continuellement des concepts de la théorie des catégories et du calcul lambda …
Je souhaite implémenter une banque de données en mémoire pour un service Web à Haskell. Je veux exécuter des transactions dans la STMmonade. Lorsque je google table de hachage sur Steam Haskell, je n'obtiens que ceci: Data. BTree. HashTable. STM.Le nom et la complexité du module suggèrent que cela est …
Le modèle architectural de tuyau et de filtre est défini comme une chaîne d'éléments de traitement, disposée de telle sorte que la sortie de chaque élément soit l'entrée du suivant . Chaque exemple semble considérer la connexion inter-processus ou inter-thread effectuée via une sorte de tampon partagé. Pour moi, il …
On m'a dit dans des questions précédentes que les langages de programmation fonctionnels ne conviennent pas aux systèmes dynamiques tels qu'un moteur physique, principalement parce qu'il est coûteux de muter des objets. Dans quelle mesure cette affirmation est-elle réaliste et pourquoi?
J'ai compris que bien avant Haskell, O'Caml ou LISP, les fonctions d'ordre supérieur étaient un sujet de recherche universitaire et en mathématiques, Schönfinkel (en 1967) et Haskell Curry (en 1968) appliquaient déjà des techniques telles que le curry, mais que était avant qu'il ne soit disponible dans n'importe quel langage …
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.