Als «haskell» getaggte Fragen

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.


4
Wie kann ich eine Version eines Cabal-Pakets deinstallieren?
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 …
82 haskell  ghc  cabal 

5
Konkretes Beispiel, das zeigt, dass Monaden unter Komposition nicht geschlossen sind (mit Beweis)?
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 …

3
Haskell: Lift vs LiftIO
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.

3
Wie kann ich bei Verwendung von GHCi explizite Typdeklarationen für Funktionen bereitstellen?
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 …

4
Haskell auf JVM?
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 …


4
Warum erzeugt dieser Haskell-Code den Fehler "unendlicher Typ"?
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 …

3
Reißverschluss-Comonaden im Allgemeinen
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 …

5
Was ist das Ökosystem für die Haskell-Webentwicklung? [geschlossen]
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, …
80 haskell 

2
Haskell "nichts tun" IO, oder wenn ohne sonst
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 …
80 haskell  syntax  io 

1
Was ist Levity-Polymorphismus?
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 …
79 haskell 

2
Funktionslinsen
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.

2
Teilen Sie Int in Int und geben Sie Int zurück
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 …
79 haskell  int 

9
Foldl mit Foldr schreiben
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 …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.