Monoids for Maybe
The other day I had two lists of monoidal values that I wanted to combine in a certain way, and I realized it was an instance of this more general pattern: > {-# LANGUAGE GeneralizedNewtypeDeriving...
View ArticleParsing context-sensitive languages with Applicative
Many parser combinator libraries in Haskell (such as parsec) have both a Monad interface as well as an Applicative interface. (Actually, to be really useful, you also need MonadPlus along with Monad,...
View ArticleTeaching abstraction
I’m just beginning to prepare for the third incarnation of CIS 194, Introduction to Haskell in the spring. It’s occasioned some general thoughts on teaching abstraction which seemed worth writing down....
View ArticleNew Haskell Symposium paper on “twisted functors”
Satvik Chauhan, Piyush Kurur and I have a new paper which will appear at the 2016 Haskell Symposium in Japan: How to Twist Pointers without Breaking Them Although pointer manipulations are used as a...
View Article
More Pages to Explore .....