Subscribe now! We'll never send you spam. You can also follow us on Twitter or with our feed . Read more issues in the archives .

Welcome to another issue of Haskell Weekly! Haskell is a safe, purely functional programming language with a fast, concurrent runtime. This is a weekly summary of what’s going on in its community.

Want to see something featured in Haskell Weekly? We love contributions! Tweet us at @HaskellWeekly or open a pull request.

Featured

GHC 8.2.2 release candidate 1 The GHC team is very pleased to announce the first candidate of the 8.2.2 release of the Glasgow Haskell Compiler. This is the first of two release candidates leading up the final 8.2.2 release. Editor’s note: Use this stack.yaml to easily test GHC 8.2.2-rc1 with Stack.

A tale of two monads: Free vs MTL Much has been said about the benefits of Free monads. The idea of expressing computation as a data type is very powerful. Separating interpretation from representation gives us a lot of freedom, but what are its costs?

“Category Theory for Programmers” PDF I took it upon myself to try and convert this work into a PDF, and with his permission, so I have! I scraped the blog, converted it to LaTeX using Pandoc, and manually tweaked a whole bunch of things. The result is one beautifully-typeset PDF, if I say so myself.

Building a CPU with Haskell The fact that we’re writing this CPU in Haskell instead of in an HDL like Verilog means that there will be substantial stylistic differences from how CPUs are normally written. However, almost all of these differences make it vastly simpler and faster to write hardware.

Announcing hgrep My long weekend project is (arguably) useful enough to share, so I’ve published it. It’s called hgrep , and it uses ghc-exactprint and regular expressions to search Haskell source code from the command line.

Making your brain tingle: Functions as functors One area which makes my brain tingle on a regular basis is the combination of Haskell and category theory. The topic of this blog post is one simple example: I’m going to show a way of thinking of functions as functors which, at least to me, makes it intuitive.

From design patterns to category theory Category theory generalizes some intuitive relations, such as how numbers combine. Instead of discussing numbers, however, category theory considers abstract “objects”. This field of mathematics explore how object relate and compose.

Haskell people Haskell is, at its core, a coherent, understandable thing. Many other languages have an ad hoc character to them — they were made to make things. They made design decisions based on what seemed useful and pragmatic to their makers and intended audiences.

Jobs

Sadly we aren’t currently aware of any Haskell job openings. Are you looking to hire a Haskell developer? If so, consider advertising with us!

In brief

Package of the week

This week’s package of the week is ghcid, a bare bones IDE. It is a very simple Haskell development tool which shows you the errors in your project and updates them whenever you save.

Call for participation

Events