ghc

Der Glasgow Haskell Compiler ist ein hochmoderner Open-Source-Compiler und eine interaktive Umgebung für die funktionale Sprache Haskell. Verwenden Sie dieses Tag für Fragen speziell zu GHC und nicht zu Haskell im Allgemeinen, da fast jeder es verwenden wird, sofern nicht anders angegeben.
1
Antwort

Wie kann ich vor GHC7-kompilierten Programmen schützen, die den gesamten Speicher belegen?

Beim Spielen mit verschiedenen Algorithmen in Haskell passiert es mir oft, dass ich ein Programm mit einem Speicherleck erstelle, wie es oft bei fauler Auswertung passiert. Das Programm, das die gesamte Erinnerung aufnimmt, macht nicht wirklich...
07.09.2012, 18:22
1
Antwort

Kleines Code-Snippet bewirkt, dass ghc nicht beendet wird

Dieses kleine Haskell-Code-Snippet bewirkt, dass ghc während der Kompilierung nicht beendet wird: %Vor% Ich habe ghc 7.4.1 und 7.6.1 ausprobiert und beide beenden nicht. Der Code funktionierte gut, wenn ich ByteString s anstelle von Ve...
06.01.2013, 22:20
2
Antworten

Eine Änderung in meiner Bibliothek hat es viel langsamer gemacht. Profiling hilft mir nicht. Was könnte der Grund für die Verlangsamung sein?

Mein Problem, kurz Ich habe eine Änderung an meiner Bibliothek vorgenommen, jetzt ist es viel langsamer, aber ich kann nicht herausfinden, wo sie all diese zusätzliche Zeit verbringt. Profilberichte helfen nicht. Bitte helfen Sie mir herauszu...
31.01.2012, 10:17
1
Antwort

Die Haskell-STM-Prüffunktion gibt undefined zurück

Gibt es einen guten Grund, warum die check -Funktion in der Contol.Concurent.STM -Bibliothek den Typ Bool -> STM a hat und undefined bei Erfolg zurückgibt, anstatt den Typ Bool -> STM () ? Wie es implementiert wird, kompilier...
03.12.2011, 01:58
1
Antwort

Wie implementieren Haskell-Compiler die parse-error (t) -Regel in der Praxis?

Der Haskell-Bericht enthält eine etwas notorische Klausel in den Layoutregeln mit dem Namen " parse-error (t ) ". Der Zweck dieser Regel besteht darin, zu vermeiden, dass der Programmierer geschweifte Klammern in einzeiligen let -Ausdrücken...
02.09.2015, 04:25
1
Antwort

Das Hinzufügen einer nicht verwendeten Instanz behebt einen Typfehler

Betrachten Sie diesen Code: %Vor% Hier ruft foo bar auf und sollte dies mit der Einschränkung SomeClass in seinem Kontext tun können. Stattdessen nimmt GHC an, dass dies mit der Foo a => SomeClass a -Instanz tun muss: %Vor%...
08.11.2017, 04:50
1
Antwort

GHC-Bewertungsstrategie

Ich bin etwas verwirrt darüber, wie der folgende Code ausgeführt wird, wenn er mit GHC 7.6.3 kompiliert wird. %Vor% Kompiliert mit ghc --make -O3 , bringt es mir folgendes Ergebnis: %Vor% Aber wenn ich es in show $ m1 M.! 555 ändere...
07.03.2014, 04:35
2
Antworten

Noch generalisierteres newtype abgeleitet

Neue Typen werden häufig verwendet, um das Verhalten bestimmter Typen zu ändern, wenn sie in bestimmten Klassenkontexten verwendet werden. Zum Beispiel würde man den Data.Monoid.All -Wrapper verwenden, um das Verhalten von Bool zu ändern,...
30.09.2012, 22:43
1
Antwort

Profiliere nur eine einzelne Funktion (oder Kostenstelle) mit GHC

Ich versuche, einen Haskell-Code mithilfe der GHC-Profiling-Tools zu erstellen. Die Kostenstelle, für die ich mich am meisten interessiere, wird derzeit jedoch von einer Reihe von Initialisierungscodes dominiert, die mich nicht wirklich interess...
16.05.2016, 20:47
1
Antwort

Warum sollte im Scheduler des GHC RTS eine Fähigkeit als frei markiert werden?

Als ich den GHC-Wiki-Kommentar zum Scheduler durchgelesen habe, war ich verwirrt Dieser Abschnitt:    Ein Grund für die Kennzeichnung einer Fähigkeit   so frei, wenn es übergeben wird   schnelle Callouts unterstützen Bei der Herstellung ein...
18.05.2011, 14:22