random-state.net

Nikodemus Siivola

<< next | top | previous >>

What's Up With Screamer #
hacking, November 4th 2010

I was going to delay this for a bit, but seeing as how it's on Reddit right now, I might just as well put this out now.

Screamer? Waz dat? Screamer is a very nifty extension to Common Lisp developed originally by Jeffrey Siskind and David McAllester. It provides for nondeterminism (think Prolog-like search stuff), forward constaint propagation (think solving equations of dependent variables), and allows mixing these with regular Common Lisp seamlessly.

So whaz up den? Mostly by accident I find myself maintaining a copy of it. Since it's mature software, aside from my initial cleanup pass to update it for ANSI compatibility (Screamer is originally for CLtL1/CLtL2) I haven't been doing very much to it.

Or so it was ... until very recently. Now I've started putting together a new manual, and looking into some of the missing features — and maybe doing more, once I feel comfortable with the codebase.

If you haven't ever checked it out, go take a look. If you have peeked at it before, but couldn't make heads or tails, the new manual might make things easier — while it is still very much work in progress with great many things missing, I tried to make sure the Overview chapter touches most bases.

If you've been using some version of Screamer, I would like to hear from you. What are you doing with it? What kind of issues have you had with it? Do you have any local extensions or bugfixes you would like to see folded into Screamer itself? Etc. Drop me a line.

In it's current state it is functionally very much the same 3.20 release that has been floating around since 1994, so users of other copies of Screamer should have no issues migrating to it. All planned changes so far are backwards-compatible.

Oh, right. This is probably one of the last Common Lisp related posts on random-state.net: most things like this will in the future appear in the forthcoming Steel Bank Studio blog. There's no blog there yet, and I'll announce it here when there is — just a heads-up for now.