ezyang's blog

the arc of software bends towards understanding

2014/07

New theme!

Hello loyal readers: Inside 206-105 has a new theme! I’m retiring Manifest, which was a pretty nice theme but (1) the text size was too small and (2) I decided I didn’t really like the fonts, I’ve reskinned my blog with a theme based on Brent Jackson’s Ashley, but ported to work on Wordpress. I hope you like it, and please report any rendering snafus you might notice on older pages. Thanks!

Read more...

Type classes: confluence, coherence and global uniqueness

Today, I’d like to talk about some of the core design principles behind type classes, a wildly successful feature in Haskell. The discussion here is closely motivated by the work we are doing at MSRC to support type classes in Backpack. While I was doing background reading, I was flummoxed to discover widespread misuse of the terms “confluence” and “coherence” with respect to type classes. So in this blog post, I want to settle the distinction, and propose a new term, “global uniqueness of instances” for the property which people have been colloquially referred to as confluence and coherence.

Read more...