Suchergebnisse für Anfrage "ghc"

1 die antwort

Techniken zum Verfolgen von Einschränkungen

Hier ist das Szenario: Ich habe Code mit einer Typensignatur geschrieben und GHC-Beschwerden konnten für einige nicht auf x ~ y schließenx undy. Normalerweise können Sie einen GHC-Bone werfen und den Isomorphismus einfach zu den ...

2 die antwort

Warum gibt es in GHC Haskell keine existenziell quantifizierten Typvariablen?

Es gibt universell quantifizierte Typvariablen und existenziell quantifizierte Datentypen. Trotzdem geben die Leute Pseudocode der Form anexists a. Int -> a Manchmal scheint es keine Compilererweiterung zu sein, an der ein echtes Interesse ...

3 die antwort

Pattern Matching auf Rang-2-Typ

Ich versuche zu verstehen, warum eine Version dieses Codes kompiliert wird und eine Version nicht. {-# LANGUAGE RankNTypes, FlexibleContexts #-} module Foo where import Data.Vector.Generic.Mutable as M import Data.Vector.Generic as V ...

TOP-Veröffentlichungen

2 die antwort

Mehrfache Falten in einem Durchgang mit der generischen Tupelfunktion

Wie kann ich eine Funktion schreiben, die ein Tupel von Funktionen des Typs @ annimmai -> b -> ai und gibt eine Funktion zurück, die ein Tupel von Elementen vom Typ @ annimai, ein Element vom Typb und kombiniert jedes der Elemente zu einem neuen ...

2 die antwort

Haskell-Kompilierung mit -O2 erhöht die Speichernutzung drastisch

Dieses einfache Programm läuft in konstantem Speicherbereich, wenn es ohne Flags mit ghc kompiliert wird: import Data.List f x = x*x g a = foldl' (+) (f a) [1..(1073741824-1)] main = do putStrLn $ show $ foldl' (+) 0 $ map g [0,1]Wenn mit ghc ...

3 die antwort

Rewriting als praktische Optimierungstechnik in GHC: Wird es wirklich benötigt?

Ich las die Arbeit von Simon Peyton Jones et al. genannt „Nach den Regeln spielen: Umschreiben als praktische Optimierungstechnik in GHC“ [http://research.microsoft.com/en-us/um/people/simonpj/papers/rules.htm]. Im zweiten Abschnitt, nämlich "Die ...

3 die antwort

Wie werden Listen in Haskell (GHC) implementiert?

Ich war nur neugierig auf einige genaue Implementierungsdetails von Listen in Haskell (GHC-spezifische Antworten sind in Ordnung) - sind sie naive verknüpfte Listen oder haben sie spezielle Optimierungen? Genauer Tunlength und(!!) (zum Beispiel) ...

6 die antwort

Was genau ist die Art "*" in Haskell?

n Haskell werden (Wertebenen-) Ausdrücke in @ klassifizier types, das mit @ notiert werden ka:: wie so:3 :: Int, "Hello" :: String, (+ 1) :: Num a => a -> a. Ebenso werden Typen in @ klassifizier Arten. In GHCi können Sie die Art ...

4 die antwort

Warum wirkt sich ein allgemeinerer Typ auf die Laufzeit in Haskell aus?

Betrachten Sie die beiden folgenden Implementierungen einer unendlichen Fibonacci-Sequenz: fibsA :: Num a => [a] fibsA = 0:1:(zipWith (+) fibsA (tail fibsA)) fibsB :: [Integer] fibsB = 0:1:(zipWith (+) fibsB (tail fibsB))In GHCI, ...

4 die antwort

Haskell dynamische Bibliothek

http: //www.vex.net/~trebla/haskell/so.xhtm [http://www.vex.net/~trebla/haskell/so.xhtml] beschreibt, wie eine gemeinsam genutzte Bibliothek kompiliert wird. Über den Kompilierungsbefehl: ghc -O2 -dynamic -shared -fPIC -o libEval.so Eval.hs ...