Subscribe to
Posts
Comments

Archive for January, 2008

LLVM for Fedora

I’ve just packaged up LLVM 2.1 for Fedora. It hasn’t hit the testing repository yet, but when it does, you’ll be able to install it in straightforward fashion:
yum –enablerepo=testing install llvm llvm-devel llvm-docs
Until the packages are pushed out (within a few days), you can download them directly.

The Monad Squad

Tired of imperative programmers kicking sand in your face? Send some cut-out lambdas and a postal order for 5 frobs to haskell.org, and we’ll send you a handy-dandy poster of those famous superheroes, the Monad Squad!
State helps functional programmers cross the imperative street!
Identity can blend in anywhere!
Writer never forgets a detail!
Cont can travel through time!
List [...]

This is, I must say, very clever. In my latest round of inbound spam, I’ve noticed that some senders have begun sending valid links to http://google.com/ in their messages. The technique they’re using is to obfuscate a target URL inside a Google “I’m feeling lucky” query: this means that the domain near the left of [...]

POPL 08 takes place next week, so San Francisco will be flooded with an army of burly and menacing programming language researchers and type theorists. Kids, don’t say you haven’t been warned.
On Wednesday evening, January 9, Phil Wadler will be repeating for the public his talk “Well-typed programs can’t be blamed”, based on joint work [...]

Why you should not use pyinotify

A while ago, I had a need to monitor filesystem modifications, and I looked around for Python bindings for the Linux kernel’s inotify subsystem. At the time, the only existing library was pyinotify, so being a lazy sort, I naturally tried to use it.
On first glance, the documentation seems impressive, and the API looks reasonable. [...]

I’ve spent a bit of time over the past few days putting together some LLVM bindings for Haskell, based on Gordon Henriksen’s C bindings.
(If you don’t know what LLVM is, it’s a wonderful toybox of compiler components, from a complete toolchain supporting multiple architectures through a set of well-defined APIs and intermediate representation file formats [...]