Ben CliffordinroundaboutBack in BombayI arrived at a suspiciously quiet airport arrivals hall, but everything was back to normal when my prepaid taxi driver and a handful of…Jan 30, 2018Jan 30, 2018
Ben CliffordinTwelve Monads of ChristmasTwelve Monads of ChristmasAn overviewDec 21, 2016Dec 21, 2016
Ben CliffordinTwelve Monads of ChristmasDay 12: Cont — SpaghettiA continuation is “the rest of the program” represented as a value that you can do value things to: stick it in a variable, store it in a…Dec 21, 2016Dec 21, 2016
Ben CliffordinTwelve Monads of ChristmasDay 11: Key — Typesafe Dynamic TypingI saw mention of this at Haskell eXchange 2016. I haven’t done anything with it, but it intrigued me so I decided to include a post in this…Dec 19, 2016Dec 19, 2016
Ben CliffordinTwelve Monads of ChristmasDay 10: Eff — Extensible EffectsFree monads let you take a data type that represents instructions, or (approximately the same) effects that you want to happen, and then…Dec 17, 2016Dec 17, 2016
Ben CliffordinTwelve Monads of ChristmasDay 9: Freer — Free MonadsOn day 5, I wrote about how to make a set monad — first build a sequence of instructions that describe how to build a Set, and then…Dec 16, 2016Dec 16, 2016
Ben CliffordinTwelve Monads of ChristmasDay 8: LogicT — A List TransformerThe list monad lets you perform non-deterministic searches for a solution to a problem. At each step of your program, you can provide a…Dec 15, 20161Dec 15, 20161
Ben CliffordinTwelve Monads of ChristmasDay 7: Haxl — The Reader Monad, When Reads Are ExpensiveIn the Reader monad, all you can do is query the environment by asking for the whole environment. If you only want a little bit of that…Dec 14, 2016Dec 14, 2016
Ben CliffordinTwelve Monads of ChristmasDay 6: Conduit — Streamy Co-routines for Piping Together ComputationsLazy evaluation lets us compose two different computations without thinking too much about who is “in control”: we can generate primes…Dec 13, 2016Dec 13, 2016
Ben CliffordinTwelve Monads of ChristmasDay 5: Set — Harder Than You Might ExpectSets are a bit like lists, and so you can probably imagine that there should be a Monad instance for them. The first part of this post will…Dec 12, 2016Dec 12, 2016