September 2007 Archives
While I'm on the topic of axioms and laws...
Suppose you're defining an interesting new abstraction. How can you tell what is a good set of laws to define, and what's redundant?
My opinion (which is worth exactly what you paid for it) is that good laws provide a clear way to implement a the abstraction that is correct by construction. You can easily see this by constructing one.
More ramblings follow.
While we're on the topic, here's something that's been bugging me for a few years now.
There are three monad laws in Haskell, and they make a lot of sense, especially when you write them in do-notation form. They're very-well motivated, and they're clean.
Arrows are a very pretty generalisation of "notions of computation" (you can think of them as extending monads to not-just-straight-line computation). However, some of the laws that they obey are much more poorly motivated. I figured that this was because they were based on Freyd categories, which are abstract things which obey silly, technical laws.
I'm happy to report that I was wrong. We hereby motivate some of the arrow laws.
The programming language Haskell (under reasonable conditions) has this cool property, known as parametricity. Intuitively, it means that all functions of a certain type share certain properties.
After Phil Wadler, we refer to any such property as a "free theorem". In the ramblings that follow, I muse on exactly what they mean.
Okay, I'm about to give you a link. Some of the images there are not safe for work. Most of them are just plain not safe for your eyes at all. Consider yourself warned.
Without further ado: The Museum of Bad Album Covers.
I promise I'll get back to integration real soon now. But in the mean time, a new series: Spam subject lines.
Today's headline: coemployee coemploying coemployment
Now there's an idea! If you're having trouble finding a job, try taking the formal dual of your career!
Arrr, today be Talk Like a Pirate Day!
Time for a sing-along.
It's not often you open the newspaper to find an opinion piece from someone you know. Still, here it is: Playing hooky never gets old, by Clare Boyd-Macrae.
Clare almost certainly doesn't read this blog, but just in case, some advice that's worth exactly what you paid for it: Next time you're playing hooky, it's probably better not to do it the week before the large yearly conference that you're in charge of. Or, failing that, do something really nice.
Sorry, I've been a bit busy lately. Not much time to do personal geeky stuff.
So while you're waiting, here is a short film by Terry Gilliam.
