... | ... | @@ -28,7 +28,7 @@ there are a few new features which will likely appear, |
|
|
|
|
|
>
|
|
|
>
|
|
|
> GHC 8.2 will address this by introducing [indexed type representations](typeable), leveraging the type-checker to verify programs using type reflection. This allows facilities like `Data.Dynamic` to be implemented in a fully type-safe manner. See the [ paper](http://research.microsoft.com/en-us/um/people/simonpj/papers/haskell-dynamic/) for an description of the proposal and the [ Wiki](https://ghc.haskell.org/trac/ghc/wiki/Typeable/BenGamari) for the current status of the implementation.
|
|
|
> GHC 8.2 will address this by introducing [indexed type representations](typeable), leveraging the type-checker to verify programs using type reflection. This allows facilities like `Data.Dynamic` to be implemented in a fully type-safe manner. See the [paper](http://research.microsoft.com/en-us/um/people/simonpj/papers/haskell-dynamic/) for an description of the proposal and the [ Wiki](https://ghc.haskell.org/trac/ghc/wiki/Typeable/BenGamari) for the current status of the implementation.
|
|
|
>
|
|
|
>
|
|
|
|
... | ... | @@ -38,11 +38,11 @@ there are a few new features which will likely appear, |
|
|
|
|
|
- **New `base` classes**: The `Bifoldable`, and `Bitraversable` typeclasses are now included in the `base` library.
|
|
|
|
|
|
- **Unboxed sums**: GHC 8.2 has a new language extension, `UnboxedSums`, that enables unboxed representation for non-recursive sum types. GHC 8.2 doesn't use unboxed sums automatically, but the extension comes with new syntax, so users can manually unpack sums. More details can be found in [ the wiki page](https://ghc.haskell.org/trac/ghc/wiki/UnpackedSumTypes).
|
|
|
- **Unboxed sums**: GHC 8.2 has a new language extension, `UnboxedSums`, that enables unboxed representation for non-recursive sum types. GHC 8.2 doesn't use unboxed sums automatically, but the extension comes with new syntax, so users can manually unpack sums. More details can be found in [the wiki page](https://ghc.haskell.org/trac/ghc/wiki/UnpackedSumTypes).
|
|
|
|
|
|
## Runtime system
|
|
|
|
|
|
- **Compact regions** ([ paper](http://ezyang.com/papers/ezyang15-cnf.pdf)). This runtime system feature allows a referentially "closed" set of heap objects to be collected into a "compact region", allowing cheaper garbage collection, heap-object sharing between processes, and the possibility of inexpensive serialization.
|
|
|
- **Compact regions** ([paper](http://ezyang.com/papers/ezyang15-cnf.pdf)). This runtime system feature allows a referentially "closed" set of heap objects to be collected into a "compact region", allowing cheaper garbage collection, heap-object sharing between processes, and the possibility of inexpensive serialization.
|
|
|
|
|
|
- **Better profiling support**: The cost-center profiler now better integrates with the GHC event-log. Heap profile samples can now be dumped to the event log, allowing heap behavior to be more easily correlated with other program events.
|
|
|
|
... | ... | @@ -50,7 +50,7 @@ there are a few new features which will likely appear, |
|
|
|
|
|
>
|
|
|
>
|
|
|
> With stable stack unwinding support comes a number of opportunities for new serial and parallel performance analysis tools (e.g. statistical profiling) and debugging. As GHC's debugging information improves, we expect to see tooling developed to support these applications. See the [ DWARF status page](https://ghc.haskell.org/trac/ghc/wiki/DWARF/80Status) for futher information.
|
|
|
> With stable stack unwinding support comes a number of opportunities for new serial and parallel performance analysis tools (e.g. statistical profiling) and debugging. As GHC's debugging information improves, we expect to see tooling developed to support these applications. See the [DWARF status page](https://ghc.haskell.org/trac/ghc/wiki/DWARF/80Status) for futher information.
|
|
|
>
|
|
|
>
|
|
|
|
... | ... | @@ -66,4 +66,4 @@ there are a few new features which will likely appear, |
|
|
|
|
|
- **Compiler Determinism**: GHC 8.0.2 is the first release of GHC which produces deterministic interface files. This helps consumers like `nix` and caching build systems, and presents new opportunities for compile-time improvements.
|
|
|
|
|
|
- **Hadrian**: 8.2 will hopefully be the first release to ship with Hadrian, our new Shake-based build system developed by Andrey Mokhov and his collaborators. This new build system is significantly more maintainable than our aging `make`-based system, will lead to improved compilation times on some platforms, and is better equipped to incorporate features like build artifact caching. If you’re interested in helping out, take a look at the list of issues that are blocking the merge into GHC: [ https://github.com/snowleopard/hadrian/issues/239](https://github.com/snowleopard/hadrian/issues/239). |
|
|
- **Hadrian**: 8.2 will hopefully be the first release to ship with Hadrian, our new Shake-based build system developed by Andrey Mokhov and his collaborators. This new build system is significantly more maintainable than our aging `make`-based system, will lead to improved compilation times on some platforms, and is better equipped to incorporate features like build artifact caching. If you’re interested in helping out, take a look at the list of issues that are blocking the merge into GHC: [https://github.com/snowleopard/hadrian/issues/239](https://github.com/snowleopard/hadrian/issues/239). |