Monthly Archives: August 2008

Tequila!

Here are some recordings from my birthday session and a recent session. Both feature Devon DeJohn on the guitar. The 8/16 session was sans Evan, who was busy with his anniversary.

2008-07-17 01
2008-07-17 02
2008-08-16 01 – Tequila!
2008-08-16 02
2008-08-16 03

All these tracks are good. Well, the last one is good in its own way… [...]

Slicing open the belly of the IO monad in an alternate universe

I’ve been looking for a way to do the pieces of I/O that are well-defined in the framework of FRP. For example, fileContents “someFile” is a perfectly good function of time, why should we be forced to drop into the semantic fuzziness of the IO monad to get it?
Well, after a long talk [...]

All functions are continuous, always

Dan Piponi and Andrej Bauer have written about computable reals and their relationship to continuity. Those articles enlightened me, but only by way of example. Each of them constructed a representation for real numbers, and then showed that all computable functions are continuous on that representation.
Today, I will show that all functions are [...]

Mindfuck: The Reverse State Monad

Someone in the #haskell IRC channel mentioned the “reverse state monad” explaining that it used the state from the next computation and passed it to the previous one. Well, I just had to try this!
First, a demonstration: we will compute the fibonacci numbers by starting with them and mapping them back to the empty [...]

Braid!

I just had my mind blown by the trial of Braid, by Jonathan Blow, which just came out on XBox Live Arcade. This is the most interesting puzzle game I have played in many years. It’s a platformer about playing with time, and in incorporates this very effectively to allow clever solutions to [...]

Composable Input for Fruit

The other day I had an idea for a game which required a traditionalish user interface (text boxes, a grid of checkboxes, …). But I’m addicted to Haskell at the moment, so I was not okay with doing it in C#, my usual GUI fallback. Upon scouring hackage for a GUI widget [...]