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à: 41

Rating: 2.0/5 (Total Votes: 1)

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

JSIL
JSIL

6 Jun 15

Pint
Pint

13 Apr 15

mkr
mkr

19 Jul 15

Altri software di sviluppo Simon Marlow

Commenti a Glasgow Haskell Compiler

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