Posted in linux, open source on March 24th, 2008 3 Comments »
I’ve been following Ian Lance Taylor’s updates on the status of gold, the new binutils linker, for a while, so when he announced that he’d added it to the binutils tree, I decided to make a little time to try it out.
I have a fairly large C++ application handy, so I tried linking it on [...]
Posted in open source on February 19th, 2008 3 Comments »
For a little while, I’ve been curious about which of the packages people in the vast wasteland of CPAN actually use and care about. Here’s an attempt to answer that question with fifty popular Perl packages for your entertainment.
Before we begin, a brief overview of the column layout.
The mean vote from CPAN ratings.
The number of [...]
Posted in haskell on February 6th, 2008 6 Comments »
Here’s a simple program I wrote on a whim tonight, to take a very basic look at GHC’s low-level threading performance.
module Main where
import Control.Applicative
import Control.Concurrent.MVar
import Control.Concurrent
import Data.Time
import System.Environment
main = do
mv <- newEmptyMVar
start <- getCurrentTime
loop mv =<< read . head <$> getArgs
[...]
Posted in haskell on February 6th, 2008 3 Comments »
Applicative functors are gorgeous and versatile creatures, but as is common in Haskell, they lack a little in documentation. The paper that Conor and Ross wrote introducing them is good, but dense. What if we were to skip all the scene-setting kerfuffle, and plunge into using them by example?
I won’t attempt to describe what applicative [...]
Posted in open source on January 21st, 2008 2 Comments »
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.
Posted in haskell on January 17th, 2008 3 Comments »
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 [...]
Posted in haskell on January 6th, 2008 1 Comment »
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 [...]
Posted in python on January 4th, 2008 3 Comments »
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. [...]
Posted in haskell, open source on January 3rd, 2008 No Comments »
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 [...]
Posted in haskell on December 26th, 2007 10 Comments »
Every language’s standard library has its weak spots. In C, for example, the stdio functions don’t have a consistent notion of where the FILE * belongs in the argument list. For fwrite, it goes at the end; for fseek, it’s at the beginning. This makes it harder to abstract away the details of the API. [...]