Dettagli del software:
Versione: 7.8.4
Data di caricamento: 1 Mar 15
Licenza: Libero
Popolarità: 184
Attualmente supporta l'intero linguaggio Haskell 98 e una vasta gamma di estensioni del linguaggio
Caratteristiche :.
- GHC ha particolarmente un buon supporto per la concorrenza e il parallelismo, incluso il supporto per Software Transactional Memory (STM).
- GHC genera codice veloce, in particolare per i programmi concorrenti. Date un'occhiata a performance di GHC sul computer Lingua Benchmark del gioco, e alcuni commenti su Haskell dalla corrente organizzatore della sparatoria, Brent Fulgham.
- GHC funziona su diverse piattaforme, tra cui Windows e la maggior parte delle varietà di Unix, e diverse architetture di processori differenti. Ci sono le istruzioni dettagliate per il porting GHC a una nuova piattaforma.
- GHC ha ampie possibilità di ottimizzazione, tra cui l'ottimizzazione tra i moduli.
- GHC compila codice Haskell o utilizzando un compilatore C intermedio (GCC), o per la generazione di codice nativo su alcune piattaforme. L'ambiente interattivo compila Haskell in bytecode, e supporta l'esecuzione di bytecode mista / programmi compilati.
- Profiling è supportato, sia dal tempo / allocazione e vari tipi di heap profiling.
- GHC è dotato di una vasta gamma di librerie.
Cosa c'è di nuovo in questa versione:
- Per impostazione predefinita, GHC ha permesso un nuovo avvertimento, -fwarn -typed-fori, che causa il compilatore di rispondere con i tipi di variabili non legate che incontra nel codice sorgente.
- E 'ora possibile dichiarare un tipo di famiglia' chiusa 'quando si usa l'estensione TypeFamilies.
- GHC ora supporta sovraccarico lista letterali con la nuova estensione OverloadedLists.
- GHC ora supporta i sinonimi di pattern, attivato dall'estensione -XPatternSynonyms.
Cosa c'è di nuovo nella versione 7.6.2:
- A lunga controllore dei tipi bug che permetteva a unsafeCoerce da scrivere è stato risolto.
- Un bug è stato corretto che causava GHC a volte non si rendono conto che la ricompilazione era necessario.
- Se entrambi -H e -M & # x3c; size & # X3e; bandiera sono dati, quindi GHC non sarà più superare la dimensione massima heap.
- Un errore off-by-one, che potrebbe causare segfaults, nella bandiera parsing RTS è stato risolto.
- I vari bug che potrebbero causare GHC di panico durante la compilazione di alcuni file di origine sono stati corretti.
- Alcuni bug nel tipo di controllo delle DataKinds e PolyKinds estensioni sono stati corretti.
- Prestazioni di programmi compilati è stato migliorato in alcuni casi.
Cosa c'è di nuovo nella versione 7.6.1:
- tipi polimorfici e la promozione dei dati sono ora pienamente attuate e funzioni supportate:. Sezione 7.8, & quot; Tipo polimorfismo & quot;
- di Windows a 64 bit è ora una piattaforma supportata.
- È ora possibile rinviare gli errori di tipo fino al runtime utilizzando la bandiera -fdefer-type-errori:. Sezione 7.13, & quot; Differire errori di tipo a runtime & quot;
- Il RTS ora supporta la modifica del numero di funzionalità in fase di esecuzione con Control.Concurrent.setNumCapabilities:. Sezione 4.15.2, & quot; opzioni di RTS per SMP parallelismo & quot;
Cosa c'è di nuovo nella versione 7.4.2:.
- hp2ps può ora gestire correttamente backslash in identificatori
- Corretto il bug nella implementazione predefinita di popCount in Data.Bits.
- Un potenziale condizione di competizione in Control.Concurrent.Chan è stato risolto.
- Un bug MVAR che potrebbe causare deadlock è stato risolto.
- Quando si utilizza -fwarn-unsafe, GHC ora riporta estensioni del linguaggio non sicure.
- I RTS non filettati ora evita wakeups quando il sistema è inattivo.
- un bug che causa un incidente con una piccola dimensione iniziale dello stack è stato risolto.
Cosa c'è di nuovo nella versione 7.4.1:
- Vi è una nuova funzionalità di sicurezza Haskell (-XSafe , -XTrustworthy, -XUnsafe): Sezione 7.23, & quot; Cassaforte Haskell & quot ;. Il design è cambiato da 7.2.
- Vi è una nuova funzionalità polimorfismo tipo (-XPolyKinds): Sezione 7.8.1, & quot; Tipo polimorfismo & quot ;. Un effetto collaterale di ciò è che, quando l'estensione non è abilitata, in determinate circostanze tipi sono ora stabilizzati allo * piuttosto che essere dedotte.
- C'è un nuovo tipo di vincolo (caratteristica -XConstraintKinds):. Sezione 7.10, & quot; Il tipo di vincolo & quot;
- È ora possibile dare qualsiasi tipo di dichiarazione al prompt ghci:. Sezione 2.4.4, & quot; tipo, classe e altre dichiarazioni & quot;
- La profilazione e HPC implementazioni sono state fuse e revisionate. Cambiamenti visibili includono la ridenominazione di profilazione bandiere e gli stack dei costi del centro hanno una nuova semantica, che dovrebbe, nella maggior parte dei casi portare a profili più utili e intuitive. Il -xc bandiera + RTS ora dà anche una traccia dello stack.
- È ora possibile scrivere plug compilatore:. Sezione 9.3, & quot; Compiler Plugins & quot;
- Supporto DPH è stata notevolmente migliorata.
- Vi è ora il supporto preliminare per registerised compilazione su piattaforma ARM, utilizzando LLVM.
Cosa c'è di nuovo nella versione 7.0.4: 86
- Un punto di regressione galleggianti in 7.0.3 interessano è stato risolto.
- Il linker GHCi ora gestisce i file oggetto parzialmente spogliato. Questo risolve il caricamento del pacchetto GHC in ghci quando è stato spogliato, che è spesso il caso in pacchetti di distribuzione Linux.
- Un bug che ha causato cattivi risultati da getCPUTime, getClockTime e GetCurrentTime è stato risolto.
- Un bug sistema runtime con grandi cumuli è stato risolto.
- Un bug del sistema di runtime quando heap profiling è stato risolto.
- Un bug del sistema di runtime quando heap profiling è stato risolto.
- Un bug del sistema di runtime, che ha causato risultati non corretti e segfaults quando si utilizza callback FFI, è stato risolto.
- Un bug del sistema di runtime, che a volte ha causato programmi paralleli a & # x3c; & # x3c; ciclo & # X3e; & # X3e; quando si utilizzano -feager-blackholing, è stato risolto.
- permessi di directory errati durante l'installazione sono stati corretti.
- sono stati apportati alcuni miglioramenti al nuovo supporto testsuite Cabal.
- Cabal è ora 1.10.2.0 (era 1.10.1.0).
Cosa c'è di nuovo nella versione 7.0.2:
- Compiler:
- Il vecchio [$ foo | ... |]. Sintassi funziona di nuovo, ma è deprecato
- Ci sono stati dei miglioramenti significativi per il nuovo tipo di correttore.
- GHCi:
- Caricamento .a biblioteche è ora possibile su tutte le piattaforme. Una biblioteca .o sarà ancora utilizzato di preferenza se sono entrambi presenti. GHCi non sarà più in guardia di perdere .o librerie.
- Ora chiudere .ghci file dopo averli letti, che su macchine Windows permette loro di modificare mentre GHCi è in esecuzione.
- È ora possibile:. Unset le variabili ghci (args, prog, tempestiva, editore e stop)
- Runtime:
- DTrace è ora supportato su Solaris, oltre a OS X.
- Sistema Corporatura:
- OS X si basa su 10.6 ora lavorare su entrambi 10.5 e 10.6.
- installazioni di Windows includono ora la libstdc ++ DLL.
- Haddock:
- GHC è ora dotato di eglefino 2.9.0.
- GHC ora include i database Hoogle per le librerie.
Sistema
Cosa c'è di nuovo nella versione 7.0.1:
- Sulle piattaforme POSIX, c'è un nuovo I / direttore O sulla base epoll / kqueue / sondaggio, che permette multithreaded codice di I / O in scala di un numero molto più grande (100k +) di fili.
- GHC ora include un generatore di codice LLVM. Per certo codice, il codice pesante soprattutto aritmetica, utilizzando il generatore di codice LLVM può portare alcuni miglioramenti belle prestazioni.
- Il tipo di verifica è stato revisionato, che significa che è ora in grado di gestire correttamente le interazioni tra le estensioni di sistema tipo.
- Il inliner è stata revisionata, che dovrebbe in generale dare migliori prestazioni riducendo esplosione codice-size superfluo.
- Gran parte del sistema di runtime sono stati revisionati, in particolare i macchinari legati al blocco e sveglia di fili e eccezione lancio (throwTo). Diversi casi di prestazioni patologico sono stati risolti, in particolare quando si tratta di un gran numero di fili.
- A causa dei cambiamenti nel sistema di runtime, se si utilizza Control.Parallel.Strategies dal pacchetto in parallelo, si prega di aggiornamento almeno alla versione 2 (preferibilmente la versione 3). L'attuazione di strategie in parallelo-1.x perderà il parallelismo con GHC 7.0.1.
I commenti non trovato