Haskell est un langage de programmation fonctionnel comprenant un typage statique fort, une évaluation paresseuse, un support étendu du parallélisme et de la concurrence, et des capacités d'abstraction uniques.
Premièrement, Real World Haskell , que je lis, dit de ne jamais utiliser foldlet d'utiliser à la place foldl'. Alors je lui fais confiance. Mais je suis brumeux quand utiliser foldrcontre foldl'. Bien que je puisse voir la structure de leur fonctionnement différemment présentée devant moi, je suis trop stupide …
Y a-t-il une réponse simple: pourquoi le GHC est-il si grand? OCaml: 2 Mo Python: 15 Mo SBCL: 9 Mo OpenJRE - 26 Mo GHC: 113 Mo Pas intéressé par l'évangélisation de "Pourquoi je ne devrais pas me soucier de la taille si Haskell est le bon outil"; c'est une …
J'ai des types de données définis comme: data ComitteeView = CommitteeView { committeeId :: CommitteeId , committeeMembers :: [Person] } data CommitteesView = CommitteesView { committeeView :: [CommitteeView] } Maintenant, dans l'état actuel des choses, j'ai un modèle persistant défini comme: Person name Text Committee name Text CommitteePerson personId PersonId …
J'essaie d'utiliser le ghc-modplugin vim pour faire la vérification de type / syntaxe, etc. Cependant, j'ai trouvé que cela ghc-modutilise toujours des chemins complets de types dans les messages d'erreur, par exemple: test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’ || with ‘[GHC.Types.Char]’ || Expected type: containers-0.5.6.2:Data.Map.Base.Map || [GHC.Types.Char] || …
J'essaie de comprendre comment utiliser correctement l' API OpenSSL.Session dans un contexte concurrent Par exemple, supposons que je veuille implémenter un stunnel-style ssl-wrapper, je m'attendrais à avoir la structure de squelette de base suivante, qui implémente un naïffull-duplex tcp-port-forwarder: runProxy :: PortID -> AddrInfo -> IO () runProxy localPort@(PortNumber lpn) …
Je ne comprends pas ce qu'est «soulever». Dois-je d'abord comprendre les monades avant de comprendre ce qu'est un «ascenseur»? (Moi aussi, j'ignore complètement les monades :) Ou quelqu'un peut-il me l'expliquer avec des mots simples?
J'espérais intégrer un interpréteur Haskell en utilisant hintafin que je puisse écrire des plugins dans Haskell à utiliser avec mon programme. Je ne veux pas avoir à expédier toute la plate-forme Haskell pour mes exécutables. Normalement, les exécutables Haskell sont assez autonomes. Par exemple, effacer le PATHne pose pas de …
Tout pointeur sur la façon de résoudre efficacement la fonction suivante dans Haskell, pour les grands nombres (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) J'ai vu des exemples de mémorisation dans Haskell pour résoudre des nombres de fibonacci, qui impliquaient de calculer (paresseusement) tous les nombres …
Les nombres d'église sont un encodage de nombres naturels en tant que fonctions. (\ f x → (f x)) -- church number 1 (\ f x → (f (f (f x)))) -- church number 3 (\ f x → (f (f (f (f x))))) -- church number 4 Soigneusement, vous …
J'ai des problèmes pour entrer des commandes multilignes dans ghci. Le code de 2 lignes suivant fonctionne à partir d'un fichier: addTwo :: Int -> Int -> Int addTwo x y = x + y Mais quand j'entre dans ghci, j'obtiens une erreur: <interactive>:1:1: error: Variable not in scope: addTwo …
Existe-t-il une fonction pour concaténer les éléments d'une liste avec un séparateur? Par exemple: > foobar " " ["is","there","such","a","function","?"] ["is there such a function ?"] Merci pour toute réponse!
Nous développons un programme qui reçoit et transmet des "messages", tout en gardant un historique temporaire de ces messages, afin qu'il puisse vous dire l'historique des messages si demandé. Les messages sont identifiés numériquement, mesurent généralement environ 1 kilo-octet et nous devons conserver des centaines de milliers de ces messages. …
Quelle est exactement la différence entre modet remdans Haskell? Les deux semblent donner les mêmes résultats *Main> mod 2 3 2 *Main> rem 2 3 2 *Main> mod 10 5 0 *Main> rem 10 5 0 *Main> mod 1 0 *** Exception: divide by zero *Main> rem 1 0 *** …
J'ai lu Real World Haskell , et j'approche de la fin, mais une question de style me dérange à propos des opérateurs (.)et ($). Lorsque vous écrivez une fonction qui est une composition d'autres fonctions, vous l'écrivez comme: f = g . h Mais lorsque vous appliquez quelque chose à …
Je suis tombé sur un morceau de code Haskell qui ressemble à ceci: ps@(p:pt) Que signifie le @symbole dans ce contexte? Je n'arrive pas à trouver d'informations sur Google (il est malheureusement difficile de rechercher des symboles sur Google), et je ne trouve pas la fonction dans la documentation Prelude, …
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.