Quickutil: A New Software Distribution Paradigm

Updated on 04 July 2013 to reflect major changes in Quickutil.

Utilities in Common Lisp

What is a utility? I would say it is a small, context-free, useful bit of code that is self-contained, and doesn’t warrant an entire new library. Let me define each of the parts of this definition in a little . . . → Read More: Quickutil: A New Software Distribution Paradigm

Lisp Types Demystified (Part II: Linear Random Access Sequences)

This is the Part II in the series of Lisp Types Demystified. There is no logical dependence on the retroactively dubbed Part I, but it sets the stage a bit.

In this post, I will briefly outline a framework for type equivalence and subtyping, describe a range of compound types, and then focus on . . . → Read More: Lisp Types Demystified (Part II: Linear Random Access Sequences)

Lisp Machine At VCFMW 7

I brought my Symbolics Lisp machines (MacIvories) to the Midwest Vintage Computer Festival in Lombard, IL and showed off Genera and the MacIvory chip.

Someone who goes by the name Silent700 fortunately got some pictures of my modest setup for everyone to see:

My setup. MacIvory processor board. Genera start screen & Lisp REPL . . . → Read More: Lisp Machine At VCFMW 7

Lisp Types Demystified (Part I: The Span of Common Lisp Types)

A friend of mine sent me an email today about types in programming languages, and discussed how types can alleviate certain kinds of errors. One interesting part of the email was on two orthogonal points of type systems:

I now realise that there are several issues conflated into a false dichotomy of static/dynamic.

. . . → Read More: Lisp Types Demystified (Part I: The Span of Common Lisp Types)

Handling Errors Sanely

What We Have Now

Most languages have some form of error handling, and the vast majority revolve around the idea that at some point in a program, an error (or rather an exception) is thrown, and must be caught somewhere in the function call chain.

Consider the following very simple example.

/* safe . . . → Read More: Handling Errors Sanely