Live data from Hacker News

GHC 8.2 Released

ghc.haskell.org

11–16 of 16 posts

Re: GHC 8.2 Released

#11

> A new, more type-safe type reflection mechanism Does this mean GHC does not erase types at runtime? Or perhaps what do they mean by "reflection" here; I only know it in the context of Java, where it more or less felt like an anti-pattern.

If I understand the paper correctly, reflection in 8.2 involves some crafty use of GADTs and compiler primitives to create a type descriptor of sorts that allows you to decompose values at runtime in a typesafe manner, while still allowing for erasure. Paper: https://www.microsoft.com/en-us/research/wp-content/uploads/... Package: https://downloads.haskell.org/~ghc/latest/docs/html/librarie...

Oh wow this is going to be a joy to read, thanks! Only a couple pages in and it already looks well-written and thorough.

Also there's this: "This paper is literate Haskell and our examples compile under GHC 8.0." A 26 page, typeset paper is certainly the longest example of a literate Haskell program I've come across! Wow.

Re: GHC 8.2 Released

#13

> Compact regions, allowing better control over garbage collection in the presence of large heaps containing many long-lived objects. Can someone explain how this feature works and/or how much impact it has on Haskell's feasibility as a performant, i.e., game engine or real-time application language?

On Ed Yang's repo " rel="nofollow">https://github.com/ezyang/compact>, which I believe features a version of the Data.Compact module that got merged into base, he gives the example of a spellchecker whose max pauses went from (0.0023,0.0582) to (0.0017,0.0462). In the example the faster version stores the set of dictionary words result you also get disk (de-)serialization, which allows you to amortize the initial cost string parsing.

Unfortunately, I doubt that nondeterministic garbage collection will ever mesh well with high-performance gaming and especially ever with real-time problems. For ordinary systems programming, however, I think it's frequently possible for high-resident-memory applications to build a walled garden for their e.g. in-memory caches or large binary assets.

Re: GHC 8.2 Released

#14
post #12

Where can one find more information on the module system? The release notes don't seem to mention it.

Here is the proposal that landed in the ghc-proposals GitHub repo, written and hand-illustrated by Ed Yang. https://github.com/ezyang/ghc-proposals/blob/backpack/propos...

A/V fans will enjoy this talk by Ed, whose energy and enthusiasm for the extremely dry world of language module design knows no bounds. Also hand-illustrated! https://www.youtube.com/watch?v=Rda6SNhznRs

Post reply on HN