Newsletter
Issue 125 2018-09-20
Subscribe now! We'll never send you spam. You can also follow 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.
Featured
-
Abusing the continuation monad
I intend to bootstrap a blog by writing about 2 of my old papers, Monad Transformers for Backtracking Search and The Selection Monad as a CPS Transformation.
-
My recommendation: if the performance of using extensible effects is acceptable in your application and you are willing to pay the cost of less ecosystem support, I would strongly recommend the
freer-simple
extensible effect library. -
Free currency exchange rate API’s are surprisingly hard to find. https://exchangeratesapi.io is the only one that I found, so I decided to write a little Haskell client to call the API.
-
I am currently learning Haskell. When I encountered monads, I wanted to understand it from examples and first principles. This article is my attempt to understand monads, particularly the state monad purely from examples.
-
Haskell WebAssembly calling JavaScript and back again
Previously, we announced the Asterius compiler, a new GHC-backend that translates Haskell to WebAssembly. Today, we are proud to introduce a critical new feature: Haskell-JavaScript interop via a dedicated foreign function interface.
-
Packaging a Haskell library for artifact evaluation using Nix
This year I packaged two artifacts for the ICFP artifact evaluation process. This post explains the system I used to make it easy to produce the Docker images using Nix.
-
Stack traces are great for a developer because they give you more contextual information about where in your code an error occurred, and often this can be enough to help you pin down the bug. But what about in Haskell?
-
In these next two articles, we’ll examine Spock, another HTTP library. We’ll compare it to Servant and see what the different design decisions are. We’ll start this week by looking at the basics of routing.
-
Your easy guide to monads, applicatives, & functors
If you’d like to see what you can do with functors, applicatives, and monads, check out Movie Monad and Gifcurry — two desktop GUI apps created with Haskell, a purely functional programming language.
In brief
- If you could change any single thing in the Haskell ecosystem, what would you change?
- Regular expression of types
Package of the week
This week’s package of the week is simple-reflect
,
a library that allows reflection of expressions containing variables.
Reflection here means that a Haskell expression is turned into a string.