Issue 62
Welcome to another issue of Haskell Weekly! Haskell is a purely functional programming language that focuses on robustness, concision, and correctness. This is a weekly summary of what’s going on in its community.
Featured
-
Videos of 23 talks by Edward Kmett, John Hughes, Conal Elliott, Brian McKenna, Bodil Stokke, and others.
-
Perhaps not the answer you were expecting but you asked for it
A collection of Conor McBride’s Stack Overflow answers.
-
Unit testing effectful Haskell with monad-mock
While monad-mock might not be anything drastically different from existing testing techniques, my hope is that it can provide an opinionated mechanism to make testing easy and accessible, even for complex interactions with other services and systems.
-
Front Row is hiring a senior backend Haskell engineer (ad)
Come change how 6.5+ million K-12 US students learn Math, Language Arts, Social Studies and more. Use data, advanced type systems, great product design and deep pedagogy to change lives.
-
A major upgrade to Megaparsec: more speed, more power
The version 6 thus will aim to be not just a parser for human-readable texts and source code, but “one size fits all” general solution to parsing in Haskell, including low-level binary parsing.
-
Derive instances of representationally equal types
I made a way to get more free stuff and free stuff is good.
-
New version of FLTKHS with much better error messages and OpenGL integration
Happy to announce a new major version of FLTKHS, the Haskell binding to the FLTK for easy native cross-platform GUI apps in Haskell.
-
Fusion is one of those words that made me recoil for quite a few years, since it sounds extremely complicated and arcane. A few years into building applications in Haskell, I still hadn’t forced the thunk.
-
SuperRecord: Anonymous records for Haskell
A practical library for anonymous records that is both fast and has an ergonomic interface for both using and extending it.
-
Typesafe modular arithmetic in Haskell
We would like to get a type error (at compile time) if we do a operation involving two numbers with a different modulus. The role of a type system is to represent the invariants and so it will be great to encode as many invariants of a particular value into the type.
-
Lessons learned building a toy compiler
We tend to think of compilers as big black boxes which transform some high level language, let’s say C into a binary in one big step. I’d like to present it as a pipeline of languages and transformations, each a bit simpler and slightly lower level than the one before it.
Package of the week
This week’s package of the week is Miso, a small isomorphic front-end framework.