Glasgow Haskell Compiler

Software screenshot:
Glasgow Haskell Compiler
Dettagli del software:
Versione: 7.8.4
Data di caricamento: 1 Mar 15
Sviluppatore: Simon Marlow
Licenza: Libero
Popolarità: 184

Rating: 2.7/5 (Total Votes: 3)

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)

  • Sistema
  • 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.

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.

Programmi simili

mkr
mkr

19 Jul 15

Parrot
Parrot

10 Feb 16

isass
isass

13 May 15

Rake
Rake

13 Apr 15

Altri software di sviluppo Simon Marlow

Commenti a Glasgow Haskell Compiler

I commenti non trovato
Aggiungi commento
Accendere le immagini!
Ricerca per categoria