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 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 STdie …
Ich muss einige Dateien analysieren und in einige vordefinierte Datentypen konvertieren. Haskell scheint dafür zwei Pakete anzubieten: attoparsec parsec Was ist der Unterschied zwischen den beiden und welches ist besser geeignet, um eine Textdatei nach bestimmten Regeln zu analysieren?
Ich möchte das kartesische Produkt aus 2 Listen in Haskell produzieren, kann aber nicht herausfinden, wie es geht. Das kartesische Produkt enthält alle Kombinationen der Listenelemente: xs = [1,2,3] ys = [4,5,6] cartProd :: [a] -> [b] -> [(a,b)] cartProd xs ys ==> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)] Dies ist keine eigentliche Hausaufgabenfrage und …
Ich wollte foldl vs foldr testen. Nach allem, was ich gesehen habe, sollten Sie aufgrund der Optimierung der Schwanzrekursion Foldl über Foldr verwenden, wann immer Sie können. Das macht Sinn. Nach dem Ausführen dieses Tests bin ich jedoch verwirrt: foldr (dauert 0,057 Sekunden, wenn der Zeitbefehl verwendet wird): a::a -> …
Ich habe Verweise auf Haskell's gefunden Data.Typeable, aber mir ist nicht klar, warum ich es in meinem Code verwenden möchte. Welches Problem löst es und wie?
Ich war auf der Suche um Stackoverflow nicht-triviale Lazy Evaluation , die Keegan McAllister Präsentation führte mich: Warum Haskell lernen . In Folie 8 zeigt er die minimale Funktion, definiert als: minimum = head . sort und gibt an, dass seine Komplexität O (n) ist. Ich verstehe nicht, warum die …
Ich habe Probleme mit der folgenden Passage aus Learn You A Haskell (Großartiges Buch imo, ohne es zu dissen): Ein großer Unterschied ist, dass rechte Falten auf unendlichen Listen funktionieren, linke nicht! Um es klar auszudrücken: Wenn Sie irgendwann eine unendliche Liste nehmen und sie von rechts zusammenfalten, erreichen Sie …
Ich möchte eine TemplateHaskell-Funktion variablesInScope :: Q [Name], die eine Liste Namealler Variablen im Gültigkeitsbereich zurückgibt . TemplateHaskell verfügt offensichtlich über diese Informationen, um Funktionen wie reify :: Name -> Q Infound zu implementieren lookupValueName :: String -> Q (Maybe Name). Existiert die gewünschte Funktion irgendwo und ich habe sie …
Gibt es eine Möglichkeit, zwei Funktionen auf Gleichheit zu vergleichen? Zum Beispiel (λx.2*x) == (λx.x+x)sollte true zurückgegeben werden, da diese offensichtlich gleichwertig sind.
Weiter zu den Ideen in: Gibt es nachweisbare reale Sprachen? Ich weiß nichts über dich, aber ich habe es satt, Code zu schreiben, den ich nicht garantieren kann. Nachdem ich die obige Frage gestellt und eine phänomenale Antwort erhalten habe (Danke an alle!), Habe ich beschlossen, meine Suche nach einer …
Ich bin ein Scala-Programmierer und lerne jetzt Haskell. Es ist einfach, praktische Anwendungsfälle und Beispiele aus der Praxis für OO-Konzepte wie Dekorateure, Strategiemuster usw. zu finden. Bücher und Interwebs sind damit gefüllt. Mir wurde klar, dass dies bei funktionalen Konzepten irgendwie nicht der Fall ist. Ein typisches Beispiel: Antragsteller . …
Ich bin mit den Konzepten von Monaden und Pfeilen, wie sie in der funktionalen Programmierung verwendet werden, weitgehend vertraut . Ich verstehe auch, dass sie verwendet werden können, um ähnliche Probleme zu lösen. Ich bin jedoch immer noch etwas verwirrt darüber, wie ich auswählen soll, welches in einer bestimmten Situation …
Wenn ich in Javascript programmiere, finde ich es äußerst praktisch, den Debugger zu verwenden, um die Programmausführung jederzeit anzuhalten und von dort aus Befehle auszuführen und Variablen zu überprüfen. Gibt es in Haskell eine Möglichkeit, beliebige Funktionen in der interaktiven GHCI-REPL auszuführen, oder bin ich auf Dinge beschränkt, die auf …
Ich muss einige Informationen aus Kompilierungsskripten in Template Haskell übermitteln. Derzeit behalten die Kompilierungsskripte die Informationen in der Systemumgebung bei, daher lese ich sie nur mit System.Environment.getEnvironmentWraps in runIO. Gibt es einen besseren Weg, wie das Übergeben einiger Argumente ghc(ähnlich wie -D...beim C-Vorprozessor) oder vielleicht etwas, das speziell für diesen …
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.