Be a pointer

Empty your memory,
with a free()…
like a pointer!
If you cast a pointer to an integer,
it becomes the integer,
if you cast a pointer to a struct,
it becomes the struct…
The pointer can overflow…,
or it can crash…
Be a pointer my friend…

(Sorry, i couldn’t resist :-) Hat tip Aleix.)

The Parable of the Two Programmers

The Parable of the Two Programmers, a classic from 1985 on software complexity and software careers. A little pearl.

Writing A Lisp Interpreter In Haskell

Chances are you’ve already seen mentioned somewhere defmacro’s Writing A Lisp Interpreter In Haskell, but just in case:

A while ago, after what now seems like eternity of flirting with Haskell articles and papers, I finally crossed the boundary between theory and practice and downloaded a Haskell compiler. I decided to do a field evaluation of the language by two means. I was going to solve a problem in a domain that Haskell is known to excel at followed by a real world problem that hasn’t had much exploration in Haskell. Picking the problems was easy. There’s a lot of folklore that suggests Haskell is great for building compilers and interpreters so I didn’t have to think long to a pick a problem that would be self contained, reasonably short, and fun – writing an interpreter of a Lisp dialect.

Also interesting in defmacro.org, these ramblings on The Nature of Lisp or on Functional Programming for the rest of us.

I’ve not read these articles in full, but a first skimming over them left a pretty good impression.