September 2007 Archives

Correct by construction

| | Comments (0) | TrackBacks (0)

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.

Laws on the cheap

| | Comments (0) | TrackBacks (0)

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.

Free as in theorems

| | Comments (0) | TrackBacks (0)

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.

Here is one newspaper article.

Here's another.

Which one is the parody and which one is real?

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!

Yo ho ho! - updated

| | Comments (1) | TrackBacks (0)

Arrr, today be Talk Like a Pirate Day!

Time for a sing-along.

Playing Hooky

| | Comments (0) | TrackBacks (0)

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.

About this Archive

This page is an archive of entries from September 2007 listed from newest to oldest.

June 2007 is the previous archive.

October 2007 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.1