Subscribe to
Posts
Comments

Archive for the 'software' Category

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 [...]

Peruse popular Perl packages

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 [...]

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
[...]

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 [...]

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 [...]

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 [...]

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. [...]

Next »