Subject: Re: TERPRI
From: (Rob Warnock)
Date: Mon, 22 Mar 2004 06:05:56 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
David Steuber  <> wrote:
| (Rob Warnock) writes:
| > p.s. I'll be writing up the cute/ugly hack I used to make that
| > "#!/usr/local/bin/cmucl -script" business work...
| I would love to see this posted here.

I will, I promise, "real soon now".  ;-}   ;-} 
I'm just trying to get something [that uses it!]
out the door first.

| It looks like a great way to pretend that Lisp is just another
| scripting language...

As someone else pointed out, CLISP does it "out of the box" already,
so if you just want to start playing with "Lisp scripting" I'd say
go ahead and try CLISP. I use it myself for a few things.

In fact, I even have a few scripts with the following few lines in
the front:   ;-}

	#!/usr/local/bin/cmucl -script
	;;; This will work *whichever* of the above lines is first. --rpw3

	(require :clx)
	#+cmu (shadow 'define-keysym)
	#+clisp (shadowing-import 'xlib:char-width)
	(use-package :xlib)

| Also, after the first startup of Lisp and its core file, the system
| will cache it.  Lots of successive startups should reduce the overall
| startup overhead.

Indeed it does, as I've shown with the microbenchmarks I mentioned

| Perl also goes through the process of starting up Perl, compiling the
| Perl script, and then finally running it.  With that nasty syntax,
| I'm surprised that the compiler is so fast.

Well, even when "interpreting", CMUCL "minimally compiles" everything
to an intermediate representation, too, yet it seems fast enough for
a lot of "scripting" stuff. [Remember: A Lisp "script" can explicitly
compile selected functions within itself as it runs, so critical pieces
can run at full speed.]


Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607