Simple logging in Common Lisp
slog
is a simple logging framework for Common Lisp based on the observation that conditions can represent log events.
slog
is a simple logging framework for Common Lisp based on the observation that conditions can represent log events.
Metatronic macros are a simple hack which makes it a little easier to write less unhygienic macros in Common Lisp.
It is the business of the future to be dangerous; and it is among the merits of science that it equips the future for its duties. — Alfred Whitehead
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.
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.
Here’s a simple example of dealing with a naturally circular function definition.
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.
It seems that my article about the existence in the Lisp community of rather noisy people who seem to enjoy complaining rather than fixing things has atracted some interest. Some things in it were unclear, and some other things seem to have been misinterpreted: here are some corrections and clarifications.
Someone asked about better Lisp IDEs on reddit. Such things would obviously be desirable. But the comments are entirely full the usual sad endless droning from people who need there always to be something preventing them from doing what they pretend to want to do, and are happy to invent such barriers where none really exist. comp.lang.lisp lives on in spirit if not in fact.
[The rest of this article is a lot ruder than the above and I’ve intentionally censored it from the various feeds. See also corrections and clarifications.]
People learning Lisp often try to learn how to write macros by taking an existing function they have written and turning it into a macro. This is a mistake: macros and functions serve different purposes and it is almost never useful to turn functions into macros, or macros into functions.