Announcement: CL-INTERPOL



  • 1. test: my news server sucks
    My news server has not been propogating posts to c.l.l. I'm just seeing if this is still happening. CLOS rocks! -- An ideal world is left as an excercise to the reader. --- Paul Graham, On Lisp 8.1
  • 2. Newbie-> How to prevent symbol clash- CLOS
    Loading the following code from a CLOS tutorial into CLISP: ----------------------------------------------------------------- [1]> (defclass Submarine () ((Depth :accessor Depth :initform 100) (Speed :accessor Speed :initform 5)) (:documentation "The basic submarine class") ) ----------------------------------------------------------------- Yields: ** - Continuable Error INTERN("(SETF COMMON-LISP:SPEED)"): #<PACKAGE COMMON-LISP> is locked If you continue (by typing 'continue'): Ignore the lock and proceed Break 1 [2]> So with my limited understanding, it looks as if there is already a symbol 'Speed' and lisp is warning me that it will overwritten or 'shadowed' by the accessor 'Speed'. In my naive little world, I would have expected the symbol 'Speed' to belong to the class Submarine and invisible unless being used to access the slot Speed. If that is not so, how can you ever hope to use meaningful names without having to worrying about what names are already in use? Rodney Malone
  • 3. float-radix?
    Is the value returned by float-radix solely determined by the type of float (single, double, etc.)? Or can different values within a type have different radices? I gather that it's only the type that matters but I couldn't find anywhere that said so for sure. (May have missed something.) -Peter -- Peter Seibel XXXX@XXXXX.COM Lisp is the red pill. -- John Fraser, comp.lang.lisp
  • 4. Connection Machine CM-2a LISPM front end systems
    Is there anyone out there who would know what kind of Symbolics machines could be used as a front end system for a Connection Machine CM-2a? Thanks, --Bruce -- Robert Bruce Carleton + XXXX@XXXXX.COM

Announcement: CL-INTERPOL

Postby Edi Weitz » Thu, 23 Oct 2003 22:03:13 GMT

CL-INTERPOL is a library for Common Lisp which modifies the reader so
that you can have interpolation within strings similar to Perl or Unix
Shell scripts. It also provides various ways to insert arbitrary
characters into literal strings even if your editor/IDE doesn't
support them. Here's an example:

  * (let ((a 42))
      #?"foo: \xC4\N{U with diaeresis}\nbar: ${a}")
  bar: 42"

It can be found at < http://www.**--****.com/ ;.

CL-INTERPOL was originally designed as an addendum to CL-PPCRE to
escape backslash hell - see < http://www.**--****.com/ #backslash>. I
think it can stand on its own feet now. (Note that the version of
CL-PPCRE it should be fully compatible with, 0.7.0, has not been
released yet.)

Have fun,

PS: Peter Seibel made me do it. Thanks.

Re: Announcement: CL-INTERPOL

Postby Marc Battyani » Fri, 24 Oct 2003 03:53:56 GMT

"Edi Weitz" < XXXX@XXXXX.COM > wrote


How about using CL-PPCRE and/or this to implement a simple (TeX like or
whatever) syntax for cl-typesetting ? ;-)


PS If only people could start to write more code like this to improve Common
Lisp instead of writing zillions of posts in endless Lisp vs (or Scheme
Python ARC Java ...) threads. :(
Just imagine how many libraries we would have if just a few % of the lines of
text written in these posts were converted to useful Lisp code...

Re: Announcement: CL-INTERPOL

Postby Edi Weitz » Fri, 24 Oct 2003 04:02:12 GMT

Hmm, maybe we should start working on a converter to do that for us... :)


Re: Announcement: CL-INTERPOL

Postby prunesquallor » Fri, 24 Oct 2003 06:12:51 GMT

"Marc Battyani" < XXXX@XXXXX.COM > writes:

What makes you think the text in these posts are written manually?

Re: Announcement: CL-INTERPOL

Postby Nikodemus Siivola » Fri, 24 Oct 2003 19:58:07 GMT

Very nice!

On a related topic, there's now a Cliki page for macro-characters of
used by various libraries at:

  http://www.**--****.com/ %20Characters

Similar in spirit to:



  -- Nikodemus

Re: Announcement: CL-INTERPOL

Postby Edi Weitz » Fri, 24 Oct 2003 20:04:43 GMT

Good idea. Perhaps you should link them to the corresponding
packages. Let me guess:

I   infix package from CMU AI repository
?   cl-interpol
`   Michael Parker's clawk
U   (Portable) AllegroServe (?)

Seems that everyone is using sub-characters of #\# because they are
afraid of using up the precious "full" macro characters that are
left... :)


Re: Announcement: CL-INTERPOL

Postby Nikodemus Siivola » Fri, 24 Oct 2003 22:00:16 GMT

Very true. Though I was sort of thinking about the interface /
implementations issue, since I'm thinking of adopting #` for Osicat
for the same purpose it serves in clawk...

Hence there are now fields for both "meaning", and "used by".

Heh. But maybe for no good reason really, since load binds *readtable*.


 -- Nikodemus

Re: Announcement: CL-INTERPOL

Postby Marco Antoniotti » Fri, 24 Oct 2003 23:53:55 GMT

Stupid question.  Would it be so hard to make it more FORMAT like?  I.e. 
use ~% for newline etc etc.


Re: Announcement: CL-INTERPOL

Postby Edi Weitz » Sat, 25 Oct 2003 05:42:26 GMT

No, most likely not.[1] However, my main goal was to follow Perl's
crude syntax because a) it is intended as a supporting library for
CL-PPCRE and b) Perl's shell-like syntax will probably be more
appealing/familiar to "newbies." I have a hard time imagining Lisp
old-timers using my software.


[1] Now that I think of it it is probably even easier to (partly)
    support FORMAT's syntax because you don't have that many
    exceptional cases (like Perl's strange scoping rules for \Q,

Return to lisp


Who is online

Users browsing this forum: No registered users and 8 guest