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.
Cette question n'est pas subjective. Un verbe très spécifique est utilisé dans le livre référencé, et j'aimerais comprendre quelle est l'implication de cette formulation, car j'ai bien peur de mal comprendre quelque chose. De Learn You a Haskell , le paragraphe suivant est le troisième et dernier contenant "nous supposons …
Les propositions (P -> Q) -> Qet P \/ Qsont équivalentes. Existe-t-il un moyen de témoigner de cette équivalence à Haskell: from :: Either a b -> ((a -> b) -> b) from x = case x of Left a -> \f -> f a Right b -> \f -> …
Il me semble que vous pouvez toujours passer des arguments de fonction plutôt que d'utiliser une classe de types. Par exemple, plutôt que de définir une classe de types d'égalité: class Eq a where (==) :: a -> a -> Bool Et son utilisation dans d'autres fonctions pour indiquer un …
Cette question est une question théorique sur les fonctions Haskell qui peuvent prendre des arguments de tout type. Existe-t-il une différence entre la façon dont les fonctions et les signatures de type de a -> b -> a et c -> a -> c sont instanciés? Toute aide est appréciée.
J'étudie actuellement Haskell et j'essaie de comprendre un projet qui utilise Haskell pour implémenter des algorithmes cryptographiques. Après avoir lu Learn You a Haskell for Great Good en ligne, je commence à comprendre le code de ce projet. Ensuite, j'ai constaté que je suis bloqué sur le code suivant avec …
Comme exercice, j'écris un analyseur pour Haskell à partir de zéro. En faisant le lexer, j'ai remarqué les règles suivantes sur le rapport Haskell 2010 : digit → ascDigit | uniDigit ascDigit → 0| 1| … | 9 uniDigit → tout octet de chiffre décimal Unicode → 0| 1| …
De nombreux types d'optiques ont une représentation van Laarhoven. Par exemple, un Lenstype Lens s t a b peut être représenté comme: Functor f => (a -> f b) -> s -> f t De même, a Traversal, peut être représenté de manière similaire, en échangeant la Functorcontrainte pour Applicative: …
Dans mon projet Haskell quand je le stack runmontre, il montre ce qui suit, mais fonctionne toujours. Quel avertissement est-ce? Comment puis-je m'en débarrasser? Stack has not been tested with GHC versions above 8.6, and using 8.8.2, this may fail Stack has not been tested with Cabal versions above 2.4, …
Real World Haskell, chapitre 4, page 98 de l'impression demande si wordspeut être implémenté en utilisant des plis, et c'est aussi ma question: C'est possible? Sinon, pourquoi? Si c'est le cas, comment? J'ai trouvé ce qui suit, qui est basé sur l'idée que chaque non-espace doit être ajouté au dernier …
J'ai un exercice où je dois définir un type pour représenter une liste avec 0 à 5 valeurs. J'ai d'abord pensé que je pouvais résoudre ce problème récursivement comme ceci: data List a = Nil | Content a (List a) Mais je ne pense pas que ce soit la bonne …
Lors du calcul IO (IO ()), les deux (IO ())et ()est calculé, alors pourquoi main :: IO (IO ()) main = print <$> (print "Hello, World!") impression "Hello, World!" ne pas IO "Hello, World!" -- ?? "Hello, World!"
Je me promenais dans la section restreinte de la bibliothèque Haskell et j'ai trouvé ces deux sorts ignobles: {- System.IO.Unsafe -} unsafeDupablePerformIO :: IO a -> a unsafeDupablePerformIO (IO m) = case runRW# m of (# _, a #) -> a {- Data.ByteString.Internal -} accursedUnutterablePerformIO :: IO a -> a …
En ghci, quand je tape :t (-) pour comprendre le type de (-), il retourne (-) :: Num a => a -> a -> a Cependant, lorsque j'écris, -1haskell renvoie un nombre, ce qui semble impliquer qu'il (-)est de type Num a => a -> a. Comment peut (-)apparemment avoir …
La seasonfonction utilise des fonctions algébriques mais j'ai l'impression que le code est répétitif. Comment le rendre aussi court que possible? data Month = Jan | Feb | Mar | Apr | May | June | July | Aug | Sept| Oct | Nov | Dec deriving (Eq,Ord,Show,Read) data Seasons …
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.