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.
(Ich hoffe, diese Frage ist themenbezogen. Ich habe versucht, nach einer Antwort zu suchen, aber keine endgültige Antwort gefunden. Wenn diese nicht zum Thema gehört oder bereits beantwortet wurde, moderieren / entfernen Sie sie bitte.) Ich erinnere mich, dass ich den halb scherzhaften Kommentar über Haskell als beste imperative Sprache …
Happstack Lite bricht an mir, weil es Blaze-HTML-Version 0.5 bekommt und Version 0.4 will. Cabal sagt , dass beide Versionen 0.4.3.4 und 0.5.0.0 installiert sind. Ich möchte die 0.5.0.0 entfernen und nur die ältere Version verwenden. Aber cabal hat keinen "Deinstallations" -Befehl, und wenn ich es versuche ghc-pkg unregister --force …
Es ist bekannt, dass anwendungsbezogene Funktoren unter Komposition geschlossen sind, Monaden jedoch nicht. Ich hatte jedoch Probleme, ein konkretes Gegenbeispiel zu finden, das zeigt, dass Monaden nicht immer komponieren. Diese Antwort gibt [String -> a]als Beispiel eine Nicht-Monade. Nachdem ich ein bisschen damit herumgespielt habe, glaube ich es intuitiv, aber …
In welchen Situationen sollte liftIOverwendet werden? Wenn ich verwende ErrorT String IO, liftfunktioniert die Funktion zum Aufheben von E / A-Aktionen ErrorTund liftIOerscheint daher überflüssig.
Wie definiere ich das Äquivalent dieser Funktion (aus learnyouahaskell ) in GHCi? import Data.List numUniques :: (Eq a) => [a] -> Int numUniques = length . nub Ohne die Typdeklaration akzeptiert GHCi die Funktionsdefinition, erhält jedoch einen nicht hilfreichen Typ: Prelude Data.List> import Data.List Prelude Data.List> let numUniques' = length …
Ich frage mich, ob es eine Möglichkeit gibt, Haskell auf der JVM laufen zu lassen (kompiliert oder interpretiert). Es gibt JHaskell auf Sourceforge, aber dieser scheint leer und tot zu sein. GHC verwendet LLVM als Compiler-Backend. Wäre es eine gute Idee oder möglich, LLVM in Java-Bytecode zu kompilieren? Oder vielleicht …
Ich habe diesen Begriff viel in Blogs über Haskell und funktionale Programmierung gelesen (insbesondere in Sigfpes Blog ), aber ich habe keine Ahnung, was das bedeutet. Ich komme davon, es die meiste Zeit nicht zu wissen, aber ich hätte die Texte wahrscheinlich viel besser verstanden, wenn ich es gewusst hätte. …
Ich bin neu in Haskell und habe den Fehler "Ich kann keinen unendlichen Typ konstruieren", den ich nicht verstehen kann. Darüber hinaus konnte ich keine gute Erklärung dafür finden, was dieser Fehler überhaupt bedeutet. Wenn Sie also über meine grundlegende Frage hinausgehen und den Fehler "Unendlicher Typ" erklären könnten, würde …
Bei jedem Containertyp können wir den (elementfokussierten) Reißverschluss bilden und wissen, dass diese Struktur eine Comonad ist. Dies wurde kürzlich in einer anderen Frage zum Stapelüberlauf für den folgenden Typ ausführlich untersucht : data Bin a = Branch (Bin a) a (Bin a) | Leaf a deriving Functor mit folgendem …
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, …
Ich möchte in Haskell etwas machen, das so aussieht: main1 = do s <- getLine if s == "foo" then putStr "You entered foo" Offensichtlich ist dies nicht legal, da es keine gibt else. Eine Alternative, an die ich gedacht habe: nop :: IO () nop = sequence_ [] main2 …
Wie der Titel der Frage zeigt, möchte ich wissen, was Levity-Polymorphismus ist und was seine Motivation ist. Ich weiß, dass diese Seite einige Details enthält, aber die meisten Erklärungen gehen mir über den Kopf. :) :) Obwohl diese Seite etwas freundlicher ist, kann ich die Motivation dahinter immer noch nicht …
Könnte mir jemand Funktionslinsen erklären? Es ist ein überraschend schwieriges Thema für Google und ich habe keine Fortschritte gemacht. Ich weiß nur, dass sie ähnliche Get / Set-Funktionen bieten wie in OO.
Ich brauche eine Funktion , die zwei bekommt Ints ( aund b) und kehrt A/Bals Int. Ich bin sicher, dass A/Bdas immer eine ganze Zahl sein wird. Hier ist meine Lösung: myDiv :: Int -> Int -> Int myDiv a b = let x = fromIntegral a y = fromIntegral …
In Real World Haskell , Kapitel 4. zur funktionalen Programmierung : Schreibe Foldl mit Foldr: -- file: ch04/Fold.hs myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl f z xs = foldr step id xs z where step x g a = g (f a …
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.