Reifying Type Classes with GADTs
This year I’ve been contributing to Accelerate, an embedded language for regular, multi-dimensional array computations targetting high-performance back-ends such as NVIDIA GPUs. Even a cursory glance...
View ArticleContext sensitive aliases for git
As developers many of us use git. Recently Peteris Krumins wrote a post about git aliases. The basic idea was to make aliases such as alias gs='git status' for common git commands. However, we can...
View ArticleHaskell GADTs in Scala
This is an updated version of an earlier post. Owing to a comment by Jed Wesley-Smith I restructured this post somewhat to introduce two techniques for programming with GADTs in Scala. Thanks also go...
View ArticleGeneric dot products
Companion slides This is the first in a series of posts about program derivation. In particular, I am attempting to derive a matrix multiplication algorithm that runs efficiently on parallel...
View ArticleFile system snapshots make build scripts easy
or, how Docker can relieve the pain of developing long running build scripts I think I’ve found a pretty compelling use case for Docker. But before you think that this is yet another blog post...
View ArticleReifying Type Classes with GADTs
This year I’ve been contributing to Accelerate, an embedded language for regular, multi-dimensional array computations targetting high-performance back-ends such as NVIDIA GPUs. Even a cursory glance...
View Article