Issue 50 2017-04-13
Welcome to Haskell Weekly! Haskell is an advanced, purely functional programming language. This is a weekly summary of what’s going on in its community. You can subscribe to the email newsletter or the Atom feed.
News from the Haskell community
The GHC team is very pleased to announce the first candidate of the 8.2.1 release of the Glasgow Haskell Compiler. This is the first of a few release candidates leading up the final 8.2.1 release.
Editor’s note: Use this
stack.yamlto test GHC 8.2.1-rc1 with Stack.
The Functional Language Research Compiler (FLRC) was designed to be a general compiler framework for functional languages. The only supported compiler that is being released is a Haskell Research Compiler (HRC). FLRC is open sourced as is. We at Intel Labs are no longer actively working on this compiler.
I spent most of this last weekend at BayHac, the Bay Area Haskell Hackathon! It was hosted at Takt headquarters in San Francisco. I had been looking forward to the event for a long time and I was not disappointed. I had a blast and met a ton of smart, interesting people.
I’ve just released HLint 2.0 to Hackage. HLint has always been configurable by writing a specially crafted Haskell file (e.g. to ignore certain hints or add new ones). With HLint 2.0 we now support YAML configuration files, and moreover encourage them over the Haskell format.
Here at Takt we’re using Nix to build our Haskell projects, so of course we’re using Hydra. Hydra works well as a continuous integration solution, but doesn’t fit very smoothly into any existing continuous deployment system. Enter Hail. Write a Hydra job that builds a script to setup your service, point Hail to that job, and your machine will keep itself up to date as the job changes.
Criss stares at you for a long, long moment. “You never… you never wrote an actual value. You… do realize that the type system is meant to constrain values, right?”
“No,” you inform him, matter-of-factly. “No, that doesn’t sound right.”
Haskell’s a powerful and flexible language for modeling the real world. By pushing information into the type level, we can make our program safer and easier to refactor. Where many safety features provide limitations, we also get flexibility from these.
We’re drawing closer to a release of GHC 8.2, which will feature a variety of enhancements to GHC’s
deriving-related extensions. None of the improvements are particularly revolutionary, and for most code, you won’t notice a difference. But there are quite a few quality-of-life fixes that should make doing certain things with
derivinga little less of a hassle.
Writing a Haskell package requires putting the package metadata in a Cabal file. Unfortunately the Cabal file format is custom, tedious, and verbose. Simon Hengel’s hpack tool provides a better way to define Haskell packages.
Package of the week
This week’s package of the week is fmt, a new formatting library that tries to be simple to understand while still being powerful.
Send us a message on Twitter to nominate next week’s package!