« I'm in your printer! »

Skreeth is an implementation of Lisp in PostScript. It's currently in development, and I should have more information posted here soon.

...and I wrote that above paragraph in mid-2006, and right after that, some interesting medical things happened to me such that I did barely any programming at all for over a year, and then I had to spend a year trying to catch up for the programming from the previous year...

And, ya know, PostScript is a language where losing one's abilities is very easy and can come very quickly.

So after two whole years, I'm completely boggled by my own code here in skreeth.psl.  So I don't think that this implementation is ever going to get finished.  But if you're a real fan of strange, almost Lovecraftian, Lisp and/or PostScript code, you will probably enjoy hardcopying skreeth.psl and having it as your bedtime reading.   It never got done, never will, but it was fun to write and if you're as happily insane as I was, I hope it'll be fun to read.  (For hardcopying the code, here's a note: it's 1,800 lines of code; there are some lines of code over 80 characters long, but only a few, so adjust your hardcopying fontsize accordingly-- but you'll almost definitely want a fixed-width font, because many things in the source are meant to line up in such a font.)

And now back to what would have been...

To give you a taste of it: I'm expecting that this PostScript code...

297 421 translate
0 .1 400 {
  dup dup sqrt 4 div 0 360 arc fill
  137.50775 rotate
} for

...will come out something like this in Skreeth:

  (translate 297 421)
  (for (i 0 400 .1)
    (arc i i (/ (sqrt i) 4) 0 360)
    (rotate 137.50775)

(That PostScript code, incidentally, produced the spiral-dot pattern that this page's left margin is a repeating detail of.)

I'm not exactly a devotee of Lisp; but at the moment, given PostScript's limited string-manipulation powers and my own feebleness at implementing lexers/parsers, Lisp seems about the only choice. Lisp is not the friendliest language ever, but it's a step up from PostScript.

And for the brave, here's the raw PostScript file for the Skreeth source as I'm in the middle of editing it: skreeth.psl

Useful PostScripty Links

Useful Lispish Links

2008-06-22 Sean M. Burke