Eta v0.8.6
Eta v0.8.6
Reproducible builds
Eta now supports reproducibility by default. If you need details on how to see this in action, check out this gist.
Base-4.11.1.0
We've upgraded to base-4.11.1.0
to support the newer hackage packages.
Backpack
In order to support better extensibility at compile-time while keeping good performance we took sometime to port Backpack into Eta.
Language Extensions
Eta now supports ApplicativeDo
, Strict
, and StrictData
language extensions.
Library Stabilizations
Servant, Scotty, Spock, Yesod, and Warp work in Eta.
Better Nix Builds
For more information check out this page
Pattern Match Checking
We’ve backported GHC 8’s pattern match checker which performs intelligent exhaustiveness checking, especially for GADTs.
Warning Messages
Warnings now give a proper context showing you exactly which flags enable the warning in the first place, making day-to-day usage a bit smoother.
Major Bug Fixes
- Concurrent Runtime: We did a stress test on a simple Warp server by flooding it with requests to see whether there were any concurrent bugs we needed to fix. We found a few and the fixes are included in this release. There are currently known issues with Eta apps hogging the CPU, which will be fixed by the next release.
- Memory Manager: The memory manager is part of the runtime responsible for allocating off-heap memory. There were some concurrent bugs discovered and fixed in this release.
- StackOverflowErrors: In the process of making PureScript work with Eta we discovered some gaps in our trampolining mechanism. We fixed those allowing you to use the trampoline function to handle a wider class of StackOverflowErrors.
- TemplateHaskell: They were several minor bugs in TemplateHaskell that lead to strange type errors. These have been fixed in this release.
For more details on this release check out the blog post.