Haskell ist eine funktionale Programmiersprache mit starker statischer Typisierung, verzögerter Auswertung, umfassender Unterstützung für Parallelität und Parallelität sowie einzigartigen Abstraktionsfunktionen.
Geschlossen. Diese Frage entspricht nicht den Richtlinien für Stapelüberlauf . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so dass es beim Thema für Stack - Überlauf. Geschlossen vor 4 Jahren . Verbessere diese Frage Es gibt viele funktionale Redewendungen: Monaden, Applikative, Pfeile usw. …
Ich kann nicht herausfinden, warum m1 anscheinend gespeichert ist, während m2 nicht im Folgenden enthalten ist: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 benötigt beim ersten Anruf etwa 1,5 Sekunden und bei nachfolgenden Anrufen einen Bruchteil davon (vermutlich wird die Liste …
Was ist die Comonad-Typklasse in Haskell? Wie in Comonad von Control.Comonad im Comonad-Paket (Erläuterungen zu anderen Paketen, die eine Comonad-Typklasse bereitstellen, sind ebenfalls willkommen). Ich habe vage von Comonad gehört, aber alles, was ich wirklich darüber weiß, ist, dass es eine extract :: w a -> aArt Parallele zu Monad …
Ich habe kürzlich herausgefunden, dass Typlöcher in Kombination mit Mustervergleich auf Proofs eine ziemlich schöne Agda-ähnliche Erfahrung in Haskell bieten. Beispielsweise: {-# LANGUAGE DataKinds, PolyKinds, TypeFamilies, UndecidableInstances, GADTs, TypeOperators #-} data (==) :: k -> k -> * where Refl :: x == x sym :: a == b -> …
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
Die Typensicherheit von Haskell ist unübertroffen, nur bei Sprachen mit abhängiger Eingabe. Aber mit Text.Printf ist eine tiefe Magie im Gange , die ziemlich typisch wirkt. > printf "%d\n" 3 3 > printf "%s %f %d" "foo" 3.3 3 foo 3.3 3 Was ist die tiefe Magie dahinter? Wie kann …
Algebraische Datentypen (ADT) in Haskell kann automatisch Instanzen einiger geworden typeclasse s (wieShow,Eq) durch Ableiten von ihnen. data Maybe a = Nothing | Just a deriving (Eq, Ord) Meine Frage ist, wie funktioniert das deriving, dh woher weiß Haskell, wie die Funktionen der abgeleiteten Typklasse für das abgeleitete ADT implementiert …
Ich habe drei Funktionen, die das n-te Element einer Liste finden: nthElement :: [a] -> Int -> Maybe a nthElement [] a = Nothing nthElement (x:xs) a | a <= 0 = Nothing | a == 1 = Just x | a > 1 = nthElement xs (a-1) nthElementIf :: …
Gestern habe ich von einem neuen Haskell-Tool namens Stack erfahren . Auf den ersten Blick sieht es so aus, als ob es den gleichen Job wie Cabal macht. Was ist der Unterschied zwischen ihnen? Ist Stack ein Ersatz für Cabal? In welchen Fällen sollte ich Stack anstelle von Cabal verwenden? …
Beim Lösen einiger Project Euler-Probleme, um Haskell zu lernen (daher bin ich derzeit ein absoluter Anfänger), bin ich auf Problem 12 gestoßen . Ich habe diese (naive) Lösung geschrieben: --Get Number of Divisors of n numDivs :: Integer -> Integer numDivs n = toInteger $ length [ x | x<-[2.. …
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 5 Jahren . Verbessere diese Frage Funktionale Sprachen sind gut, weil …
Aktuelles Verhalten Prelude> show _ <interactive>:7:6: Found hole ‘_’ with type: a0 Where: ‘a0’ is an ambiguous type variable Relevant bindings include it :: String (bound at <interactive>:7:1) In the first argument of ‘show’, namely ‘_’ In the expression: show _ In an equation for ‘it’: it = show _ …
map :: (a -> b) -> [a] -> [b] fmap :: Functor f => (a -> b) -> f a -> f b liftM :: Monad m => (a -> b) -> m a -> m b Warum haben wir drei verschiedene Funktionen, die im Wesentlichen dasselbe tun?
Ich habe gerade ein neues Haskell-Projekt gestartet und wollte von Anfang an einen guten Test-Workflow einrichten. Es scheint, dass Haskell viele exzellente und einzigartige Testwerkzeuge und viele verschiedene Möglichkeiten zur Integration hat. Ich habe untersucht: HUnit Schneller Check Bankdrücken HPC Komplexität Was alle in ihren Bereichen sehr gut zu funktionieren …
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.