Domande taggate «ghc»

Glasgow Haskell Compiler è un compilatore open source all'avanguardia e un ambiente interattivo per il linguaggio funzionale Haskell. Usa questo tag per domande specifiche su GHC e non su Haskell in generale poiché quasi tutti lo useranno se non diversamente specificato.

1
Transitività della specializzazione automatica in GHC
Dai documenti per GHC 7.6: [Y] spesso non hai nemmeno bisogno del pragma SPECIALIZE in primo luogo. Durante la compilazione di un modulo M, l'ottimizzatore di GHC (con -O) considera automaticamente ogni funzione di sovraccarico di livello superiore dichiarata in M ​​e lo specializza per i diversi tipi in cui …
392 haskell  ghc 

2
Tecniche per tracciare vincoli
Ecco lo scenario: ho scritto del codice con una firma del tipo e i reclami di GHC non sono stati in grado di dedurre x ~ y per alcuni xe y. Di solito puoi lanciare GHC in un osso e semplicemente aggiungere l'isomorfismo ai vincoli di funzione, ma questa è …
322 haskell  constraints  ghc 

8
Cosa fa la parola chiave `forall` in Haskell / GHC?
Sto cominciando a capire come forallviene utilizzata la parola chiave nei cosiddetti "tipi esistenziali" come questo: data ShowBox = forall s. Show s => SB s Questo è solo un sottoinsieme, tuttavia, di come forallviene utilizzato e semplicemente non riesco a pensare al suo uso in cose come questa: runST …
312 haskell  syntax  types  ghc  forall 


2
Quando -XAllowAmbiguousTypes è appropriato?
Di recente ho pubblicato una domanda su syntactic-2.0 per quanto riguarda la definizione di share. Ho funzionato in GHC 7.6 : {-# 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
Lettura di GHC Core
Core è il linguaggio intermedio di GHC. La lettura di Core può aiutarti a comprendere meglio le prestazioni del tuo programma. Qualcuno mi ha chiesto documentazione o tutorial sulla lettura di Core, ma non sono riuscito a trovare molto. Quale documentazione è disponibile per la lettura di GHC Core? Ecco …


1
Specializzazione con vincoli
Ho problemi a far sì che GHC specializzi una funzione con un vincolo di classe. Ho un esempio minimo del mio problema qui: Foo.hs e Main.hs . I due file vengono compilati (GHC 7.6.2, ghc -O3 Main) ed eseguiti. NOTA: Foo.hs è davvero ridotto. Se vuoi vedere perché è necessario …
156 haskell  ghc 

6
Perché GHC è così grande / grande?
C'è una risposta semplice: perché GHC è così grande? OCaml: 2 MB Python: 15 MB SBCL: 9 MB OpenJRE - 26 MB GHC: 113 MB Non mi interessa l'evangelizzazione di "Perché non dovrei preoccuparmi delle dimensioni se Haskell è lo strumento giusto"; questa è una domanda tecnica.
147 haskell  ghc 

2
GHC-mod deve usare nomi completi per i tipi?
Sto cercando di utilizzare il ghc-modplug-in vim per eseguire il controllo di tipo / sintassi ecc. Tuttavia, ho scoperto che ghc-modutilizza sempre percorsi completi di tipi nei messaggi di errore, ad esempio: 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] || …
143 haskell  ghc  ghc-mod 





4
Quando è automatica la memorizzazione in GHC Haskell?
Non riesco a capire perché m1 è apparentemente memoizzato mentre m2 non è nel seguente: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 impiega circa 1,5 secondi alla prima chiamata, e una frazione di quello alle chiamate successive (presumibilmente memorizza nella cache …
106 haskell  ghc  memoization 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.