SICP In Clojure

I have decided to complete the exercises in the Structure and Interpretation of Computer Programs, in Clojure. Using Scheme, I completed the exercises in the first half of the book back in school. I thought it would be fun to revisit the book and finish all of the exercises this time. You can follow my progress and make use of the answers in the public repo.

A lot has been said about SICP in the past. If you haven’t read it, it’s an incredibly influential book and simply fantastic. It will dazzle you with the power, simplicity and beauty of Lisp and is worth it for that alone. I strongly recommend it.

I’m not the first to publish solutions and I almost certainly won’t be the last. Here are a few other resources that may be interesting:

Invent Outliner

Apple have just accepted my app, Invent Outliner, in to the App Store. It’s a simple outliner tool useful for jotting notes and ideas while on the move.

I wanted the app to be as streamlined to use as possible. As a result, nearly every control was written from scratch.

Check it out on the App Store or on this site.

Let me know what you think.

Muon

I’ve created a new Vim colour scheme, Muon, that I feel is ready to be introduced to the world. You can download it on GitHub.

At the time of writing, this is an alpha-release and will only work in a 256-color terminal. Once I’m completely satisfied with the colours it should be fairly trivial to add in the GUI colour-components.

Let me know what you think.

Vomodoro

I have created a small Vim plugin that facilitates planning, tracking and archiving Pomodoros.

I’ve found it surprisingly useful and thought I would release it.

You can find it on GitHub.

Improved Vim and XCode 4 (LLVM) edit-compile-fix cycle.

I’ve finally gotten round to sorting out sensible ‘makeprg’ and ‘errorformat’ settings for working with Objective-C in Vim. I had something I previously hacked together that was barely working, but this now works well enough that I hope it is useful for others.

I’ve thrown in some other useful bits too:

This works using the Apple LLVM compiler. YMMV with other build tools! Let me know if you find any edge cases that aren’t handled.