Als «haskell» getaggte Fragen

79
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...

79
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 b in truncate (x / y) Aber wollen...

79
Ausnahmebehandlung in Haskell

Ich brauche Hilfe, um die Verwendung der drei Haskell-Funktionen zu verstehen try ( Control.Exception.try :: Exception e => IO a -> IO (Either e a)) catch ( Control.Exception.catch :: Exception e => IO a -> (e -> IO a) -> IO a) handle ( Control.Exception.handle :: Exception e...

79
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 x) Der obige Code hat mich sehr verwirrt, und jemand namens...

79
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.

79
Data.Text vs String

Während die allgemeine Meinung der Haskell-Community zu sein scheint, dass es immer besser ist, Textstatt zu verwenden String, Stringverwirrt mich die Tatsache, dass die APIs der meisten gepflegten Bibliotheken immer noch orientiert sind, zum Teufel. Auf der anderen Seite gibt es bemerkenswerte...

78
Soll ich GHC Haskell-Erweiterungen verwenden oder nicht?

Während ich Haskell lerne, sehe ich, dass im realen Code viele Spracherweiterungen verwendet werden. Sollte ich als Anfänger lernen, sie zu benutzen, oder sollte ich sie um jeden Preis vermeiden? Ich sehe, dass es die Kompatibilität mit Haskell 98 unterbricht und den Code auf so ziemlich nur GHC...

78
Monaden als Zusatz

Ich habe über Monaden in der Kategorietheorie gelesen. Eine Definition von Monaden verwendet ein Paar benachbarter Funktoren. Eine Monade wird durch eine Rundreise mit diesen Funktoren definiert. Anscheinend sind Zusätze in der Kategorietheorie sehr wichtig, aber ich habe keine Erklärung für...

78
Text oder Bytestring

Schönen Tag. Das einzige, was ich jetzt an Haskell hasse, ist die Menge an Paketen für die Arbeit mit Strings. Zuerst habe ich native Haskell- [Char]Strings verwendet, aber als ich versuchte, Hackage-Bibliotheken zu verwenden , ging ich in endlosen Konvertierungen völlig verloren. Jedes Paket...

77
Haskell Unit Testing

Ich bin neu in Haskell und arbeite an Unit-Tests, finde das Ökosystem jedoch sehr verwirrend. Ich bin verwirrt über die Beziehung zwischen HTF und HUnit. In einigen Beispielen sehen Sie, wie Sie Testfälle einrichten, in eine Testliste exportieren und dann in ghci mit ausführen runTestsTT(wie in...

75
Gute Haskell-Codierungsstandards

Könnte jemand einen Link zu einem guten Codierungsstandard für Haskell bereitstellen? Ich habe dies und das gefunden , aber sie sind alles andere als umfassend. Ganz zu schweigen davon, dass das HaskellWiki "Edelsteine" wie "Klassen mit Sorgfalt verwenden" und "Definieren symbolischer Infix-IDs...

75
Wie funktioniert die ST-Monade?

Ich verstehe, dass die ST-Monade so etwas wie ein kleiner Bruder von IO ist, der wiederum die Staatsmonade mit zusätzlicher RealWorldMagie ist. Ich kann Staaten Bild und ich kann vorstellen , dass Real World irgendwie in IO gesetzt wird, aber jedes Mal , wenn ich eine Art Unterschrift schreiben...