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.
Three days ago I pointed out that the UK government was lying about the influence of the war in Ukraine on UK retail energy prices. Now we have a better idea what that influence might actually be.
The UK government would like you to believe that the recent increases in the rate people pay for energy are due to the war in Ukraine. This is a lie.
They are corrupt, they have done abominable works, there is none that doeth good.
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.
Putin’s invasion of Ukraine is horrifying. As well as the awfulness of what is happening to the people of Ukraine, Putin’s apparent irrationality is terrifying. What if he is not being irrational?
There are apocryphal reports that Apple M1 systems are not as fast as people have been led to believe for general-purpose programs. That’s unsurprising.
Many people would like to believe that the CV19 pandemic is over. Unfortunately viruses do not listen to what people want to believe: the CV19 pandemic is not over, and there is a significant possibility it may never be over. The way out is not to pretend that it is.