Subscribe to
Posts
Comments

Archive for the 'software' Category

For the past number of years, whenever I’ve needed to write a parser for a language, I’ve turned to Terence Parr’s ANTLR. It’s a wonderful piece of software, far more capable than the old standbys lex and yacc. Just as appealing is the fact that it generates recursive-descent parsers that are easy to read and [...]
Rather than bemoan the state of prepackaged Haskell goodness for Fedora, I’ve started down the path of doing something about it. This morning, I put together new packages for Alex, a Haskell lexer, and Happy, a parser generator, and submitted them for consideration via the byzantine Extras review process. If you’re a Haskell hacker and [...]
I’ve been using darcs recently for some Haskell-related revision control tasks, as it’s the revision control tool of choice for the Haskell community (no surprise; it’s the most widely used Haskell program in existence). However, I can’t say I’ve been all that happy with darcs during my first few days of use. It has some behaviours [...]
The Hilbert curve is a fractal space-filling curve that is rather pretty to look at. A Hilbert curve of order n traces a single path over a square of side 2^n units, as you can see in the images from MathWorld above (with curves of order 2 through 6). If you pick a point p from within [...]
As part of my remedial Haskell learning process, I’ve been getting my feet wet once more with monads. Here are a few notes on the techniques that I’ve tried, and how I’ve fared with them. Not surprisingly, my first step was to try reading some tutorials. If you’ve looked, you may have noticed that the web [...]
Since I’ve been away from the Haskell world for a long time, it’s been interesting to return and observe some surprises about the practical side of working with the language. For me, an early gotcha has been the relative paucity of information on how to obtain and install third-party software packages. So here’s my little contribution, [...]

Dealing with yum hangs on FC6

One of the exciting things about upgrading to Fedora Core 6 is that the yum package manager now frequently hangs on me. This does not fill me with joy. The most common way in which it falls over is by hanging hard after printing this message: Parsing package install arguments What it means to “hang hard” here is [...]
I’ve lately become interested in the Haskell programming language again, after a long time (eleven years!) away from the fold. During the process of thrashing about and trying to find my footing, I discovered a new module, named Data.ByteString, which makes dealing with strings in Haskell both sane and impressively fast. So I started to [...]
Since FC6 ships with Python 2.4, you’re a bit stuck if you want to play with the new features of Python 2.5. Here’s a quick and easy way to build and install a cleanly-packaged version of Python 2.5 for FC6. First, you must ensure that you have a sufficient development environment available. Fortunately, you can do [...]
Jeremy and Muli remind me that x86-class CPUs refill a missed TLB entry in hardware. That’s what I get for rambling at midnight! On these CPUs, the hardware walks the page tables directly when a miss occurs. The operating system still gets involved during context switches, to keep the page tables and TLB consistent; and it [...]

« Prev - Next »