Haskell for all
Friday, March 27, 2015
Algebraic side effects
Haskell differentiates itself from most other functional languages by letting you reason mathematically about programs with side effects. Th...
Thursday, January 29, 2015
Use Haskell for shell scripting
Right now dynamic languages are popular in the scripting world, to the dismay of people who prefer statically typed languages for ease of ma...
Saturday, January 10, 2015
total-1.0.0: Exhaustive pattern matching using traversals, prisms, and lenses
The lens library provides Prism s, which are a powerful way to decouple a type's interface from its internal representation. For exampl...
Saturday, December 6, 2014
A very general API for relational joins
Map s and tuples are useful data types for modeling relational operations. For example, suppose we have the following table, indexed by the ...
Sunday, November 23, 2014
How to build library-agnostic streaming sources
The Haskell ecosystem has numerous libraries for effectful stream programming, including, but not limited to: List conduit enumerator i...
Sunday, October 26, 2014
How to desugar Haskell code
Haskell's core language is very small, and most Haskell code desugars to either: lambdas / function application, algebraic data types...
Friday, September 12, 2014
Morte: an intermediate language for super-optimizing functional programs
The Haskell language provides the following guarantee (with caveats): if two programs are equal according to equational reasoning then they...
View web version