Issue 41 2017-02-09
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
Build rock-solid tools in no time and focus on the things that matter.
I proved all the laws, but I was very unhappy. I have a PhD on something about Haskell and theorem proving. I have worked with Isabelle, Agda and Coq. Both Haskell and theorem proving is decades old. And yet, I sit here, and tediously write manual proofs by hand. Is this really the best we can do?
This is a generalization of the
bracketfunction. Importantly, it allows you to provide different cleanup functions for the success and failure cases. It also provides you with more information for cleanup, namely the exception that occured or the success value.
Are you comfortable creating data types, manipulating lists, composing functions, etc, but not sure how to make a “useful program” with Haskell? This is a very common stumbling block when learning. It might be the complaint I’ve heard the most.
I’ve just finished up a first pass at a Stack-built Servant application to use wiringPi for Raspberry Pi GPIO control. This enables you to access your Pi’s GPIO pins over the web easily. It builds on the excellent wiringPi Hackage package and underlying C-lib.
You should know there are 3 coherence laws since you knew what monads are, but they might seem like black magic for most of you. What I’m going to do is to show that those 3 laws are “obvious” in some sense without actually teaching you the whole category theory behind it.
Package of the week
This week’s package of the week is monad-metrics, a convenient wrapper around EKG metrics.
Send us a message on Twitter to nominate next week’s package!