Subject: OPFR ("Outer-Parenthesis-Free REPL") released
From: rpw3@rpw3.org (Rob Warnock)
Date: Sun, 08 Mar 2009 00:15:18 -0600
Newsgroups: comp.lang.lisp
Message-ID: <jPudnXzHkK7r_y7UnZ2dnUVZ_sHinZ2d@speakeasy.net>
To recap: OPFR ("Outer-Parenthesis-Free REPL") is a meme/pattern/library(?)
for a reader that wraps a set of parens around whatever the user types
and then passes that to EVAL (then PRINTs & LOOPs).

Almost a month ago [in the "Road to Clojure Survey 2.0" thread],
I promised Madhu:
+---------------
| Madhu <enometh@meer.net> wrote:
| +---------------
| | Which reminds me to ask: could you consider and releasing OPFR?
| +---------------
| 
| Sure, no problem. I'll put that on the "to do real soon" list,
| and will post here when that happens.
+---------------

Sorry it's taken so much longer than I expected -- a week's illness
and a couple of sysadmin crises got in the way, not not to mention
having to weed through about a dozen variations I had lying around
[I *did* mention that I tend to treat OPFR as a "pattern", not a
"library", yes? And freely hack up random variations at need?].
But I now have a (somewhat-)cleaned-up reference version up on my
web site, along with an example "shell script" driver for CMUCL
[the one I usually use] and a *very*-lightly-tested one for CLISP:

    http://rpw3.org/hacks/lisp/opfr.lisp     ; 11554 bytes
    http://rpw3.org/hacks/lisp/opfr.cmucl    ;  2541 bytes
    http://rpw3.org/hacks/lisp/opfr.clisp    ;  1972 bytes

All have "ISC/OpenBSD"-style licenses. [Like "MIT", but shorter.]

You can COMPILE-FILE "opfr.lisp", if you like, though since it runs
at human speed the performance of interpreting source shouldn't be
an issue.

The only documentation is comments in the source. [Note: There *are*
a couple of documented bugs/limitations! But they've never been an
issue in any of the uses I've made of it.] You will almost certainly
need to tweak the paths in the driver scripts.

Have fun!


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607