Als «ghc» getaggte Fragen

Der Glasgow Haskell Compiler ist ein Open-Source-Compiler auf dem neuesten Stand der Technik und eine interaktive Umgebung für die Funktionssprache 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
Transitivität der Auto-Spezialisierung in GHC
Aus den Dokumenten für GHC 7.6: [Y] Oft brauchen Sie gar nicht erst das Pragma SPEZIALISIEREN. Beim Kompilieren eines Moduls M berücksichtigt der Optimierer von GHC (mit -O) automatisch jede in M ​​deklarierte überladene Funktion der obersten Ebene und ist auf die verschiedenen Typen spezialisiert, bei denen es in M …
392 haskell  ghc 

2
Techniken zum Verfolgen von Einschränkungen
Hier ist das Szenario: Ich habe Code mit einer Typensignatur geschrieben und GHC-Beschwerden konnten für einige xund nicht auf x ~ y schließen y. Normalerweise können Sie GHC einen Knochen werfen und einfach den Isomorphismus zu den Funktionseinschränkungen hinzufügen. Dies ist jedoch aus mehreren Gründen eine schlechte Idee: Das Verständnis …
322 haskell  constraints  ghc 

8
Was macht das Schlüsselwort "forall" in Haskell / GHC?
Ich fange an zu verstehen, wie das forallSchlüsselwort in sogenannten "existentiellen Typen" wie diesem verwendet wird: data ShowBox = forall s. Show s => SB s Dies ist jedoch nur eine Teilmenge der forallVerwendung, und ich kann mich einfach nicht auf die Verwendung in solchen Dingen konzentrieren: runST :: forall …
312 haskell  syntax  types  ghc  forall 


2
Wann ist -XAllowAmbiguousTypes angemessen?
Ich habe kürzlich eine Frage zu syntactic-2.0 bezüglich der Definition von gestellt share. Ich habe dies in GHC 7.6 arbeiten lassen : {-# LANGUAGE GADTs, TypeOperators, FlexibleContexts #-} import Data.Syntactic import Data.Syntactic.Sugar.BindingT data Let a where Let :: Let (a :-> (a -> b) :-> Full b) share :: (Let …
212 haskell  ghc 

4
GHC Core lesen
Kern ist die Zwischensprache von GHC. Mit Reading Core können Sie die Leistung Ihres Programms besser verstehen. Jemand bat mich um Dokumentation oder Tutorials zum Lesen von Core, aber ich konnte nicht viel finden. Welche Dokumentation steht zum Lesen von GHC Core zur Verfügung? Folgendes habe ich bisher gefunden: Schreiben …


1
Spezialisierung mit Einschränkungen
Ich habe Probleme, GHC dazu zu bringen, eine Funktion mit einer Klassenbeschränkung zu spezialisieren. Ich habe ein minimales Beispiel für mein Problem hier: Foo.hs und Main.hs . Die beiden Dateien werden kompiliert (GHC 7.6.2 ghc -O3 Main) und ausgeführt. HINWEIS: Foo.hs ist wirklich reduziert. Wenn Sie sehen möchten, warum die …
156 haskell  ghc 

6
Warum ist GHC so groß / groß?
Gibt es eine einfache Antwort: Warum ist GHC so groß? OCaml: 2 MB Python: 15 MB SBCL: 9 MB OpenJRE - 26 MB GHC: 113 MB Nicht interessiert an der Evangelisation von "Warum sollte mir die Größe egal sein, wenn Haskell das richtige Werkzeug ist"; Dies ist eine technische Frage.
147 haskell  ghc 

2
Muss GHC-mod vollständige Typen für Typen verwenden?
Ich versuche, das ghc-modvim-Plugin zu verwenden, um Typ- / Syntaxprüfungen usw. durchzuführen. Ich habe jedoch festgestellt, dass ghc-modin den Fehlermeldungen immer vollständige Pfadpfade verwendet werden, zum Beispiel: test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’ || with ‘[GHC.Types.Char]’ || Expected type: containers-0.5.6.2:Data.Map.Base.Map || [GHC.Types.Char] || ([(integer-gmp-1.0.0.0:GHC.Integer.Type.Integer, || integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)], || containers-0.5.6.2:Data.Set.Base.Set …
143 haskell  ghc  ghc-mod 

5
Reduzieren der Pausenzeit für die Speicherbereinigung in einem Haskell-Programm
Wir entwickeln ein Programm, das "Nachrichten" empfängt und weiterleitet und dabei einen temporären Verlauf dieser Nachrichten führt, damit es Ihnen auf Anfrage den Nachrichtenverlauf mitteilen kann. Nachrichten werden numerisch identifiziert, haben normalerweise eine Größe von etwa 1 Kilobyte und wir müssen Hunderttausende dieser Nachrichten aufbewahren. Wir möchten dieses Programm auf …


2
Speicherbedarf der Haskell-Datentypen
Wie kann ich die tatsächliche Speichermenge ermitteln, die zum Speichern eines Werts eines Datentyps in Haskell erforderlich ist (hauptsächlich mit GHC)? Ist es möglich, es zur Laufzeit auszuwerten (z. B. in GHCi) oder ist es möglich, den Speicherbedarf eines zusammengesetzten Datentyps aus seinen Komponenten abzuschätzen? Wenn Speicheranforderungen für Typen aund …


4
Wann erfolgt die automatische Memoisierung in GHC Haskell?
Ich kann nicht herausfinden, warum m1 anscheinend gespeichert ist, während m2 nicht im Folgenden enthalten ist: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 benötigt beim ersten Anruf etwa 1,5 Sekunden und bei nachfolgenden Anrufen einen Bruchteil davon (vermutlich wird die Liste …
106 haskell  ghc  memoization 

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.