# Posts tagged programming

## Simple logging in Common Lisp

::

slog is a simple logging framework for Common Lisp based on the observation that conditions can represent log events.

## Metatronic macros

::

Metatronic macros are a simple hack which makes it a little easier to write less unhygienic macros in Common Lisp.

## Two simple pattern matchers for Common Lisp

::

I’ve written two pattern matchers for Common Lisp:

• destructuring-match, or dsm, is a case-style construct which can match destructuring-bind-style lambda lists with a couple of extensions;
• spam, the simple pattern matcher, does not bind variables but lets you match based on assertions about, for instance, the contents of lists.

Both dsm and spam strive to be simple and correct.

## Macroexpansion in Common Lisp

::

Yet another description of macroexpansion in Common Lisp. There is nothing particuarly new here and it partly duplicates some previous articles: I just wanted to rescue the text.

## Avoiding circularity: a simple example

::

Here’s a simple example of dealing with a naturally circular function definition.

## Two understandable deficiencies in Common Lisp

::

Common Lisp is, I think, a remarkably pleasant language, despite what some people like to say. Here are two small deficiencies, both of which are understandable in terms of the history of CL, and both of which ultimately hurt naïve programmers working in CL.