Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A Lisp Web Programming book and related questions

24 views
Skip to first unread message

Rene Llames

unread,
Apr 19, 2002, 1:32:09 PM4/19/02
to
There is a "Python Web Programming" book (actually several).
What are the prospects for a "Lisp Web Programming" book
anytime soon? Is anyone known to be working on one?

If not, is it a chicken-and-egg problem? Not big enough a market,
therefore not enough incentive to write a book, therefore not
big enough a market?

Is good, sufficient and reasonably stable material already out
there---in existing books (e.g., Graham's HTML generator)
and web sites---that "just" needs to be gathered, organized,
inter-related, compared and contrasted, somewhat cookbookified,
so that newcomers can get started more quickly and not have to
grope around so much, for example, just trying to identify and
evaluate all the myriad component choices and dependences?

Or is it in the nature of the beast, of the existing components,
that pulling together the material for such a book is somehow
more difficult than in the Python world?

I would be interested to hear opinions on Zope. Is there
anything of equivalent or greater functionality in the Lispweb world?

How do the database interfaces of the commercial Lisp
vendors differ from each other, and from the free one(s)?
If database access were the only requirement, is there
any reason to prefer the Enterprise version of a commercial
Lisp over the Professional version (or over cmucl or clisp)
using a free database interface (to PostgreSQL)?

Graham talks about debugging and patching a running
Lisp-server world, with the user remaining online, session
intact, and none the wiser. In the more traditional
Lisp-client/database-server situation, can the same thing be done?
I assume this entails effecting a listener (read-eval-print loop)
into a running Lisp process; is this possible? Does the answer
depend on whether or not the application has been cast
as a standalone executable?

Which Lisp implementation and operating system does Yahoo!Store
use (or did Viaweb use)? For example, is (was) it LispWorks on FreeBSD?

Can Lisp call a Python program? If so, could this capability be
one answer to the concern that "The Python libraries are better or more
extensive or more at-your-fingertips"? The reply being, "Well, do that
part in Python and then just call it from Lisp."? Would Lisp-Python
communication be through temporary files, or can Lisp connect to
Python's stdin and stdout?

How could a barcode scanner be interfaced to Lisp? Would it
have to appear as a file (/dev/something) that you
would continually poll (using OPEN or WITH-OPEN-FILE)? Is
polling the only possible method, or can Lisp be interrupt-driven?

How could you print to a printer from within Lisp? For example,
would you first have to write the output to a temporary file,
and then arrange for something like "lpr -Pprinter /tmp/lisp.out"
to be run in a shell subprocess? Assuming that Lisp can cause
arbitrary Unix commands (such as lpr) to be executed; can it?

Can Lisp programs be written and run in the way that they are
with various Unix shell languages, Perl, and Python, i.e., where
the first line of a Unix-executable text file specifies the
language evaluator to which the file should be handed, e.g.,
#!/usr/local/bin/lisp ?

Thanks,
Jala Bira

Jochen Schmidt

unread,
Apr 19, 2002, 3:00:41 PM4/19/02
to
Rene Llames wrote:

> There is a "Python Web Programming" book (actually several).
> What are the prospects for a "Lisp Web Programming" book
> anytime soon? Is anyone known to be working on one?
>
> If not, is it a chicken-and-egg problem? Not big enough a market,
> therefore not enough incentive to write a book, therefore not
> big enough a market?

I don't know - probably there simply is nobody who is willing to spend the
time to write such a book and taking the risk that it would not pay off.
I have heard rumors that Kent is working on a book about Common Lisp.
(Which I would definitely buy if it were true).
I know of one other Common Lisp book project but I will only answer by
private mail about it.

> Is good, sufficient and reasonably stable material already out
> there---in existing books (e.g., Graham's HTML generator)
> and web sites---that "just" needs to be gathered, organized,
> inter-related, compared and contrasted, somewhat cookbookified,
> so that newcomers can get started more quickly and not have to
> grope around so much, for example, just trying to identify and
> evaluate all the myriad component choices and dependences?
>
> Or is it in the nature of the beast, of the existing components,
> that pulling together the material for such a book is somehow
> more difficult than in the Python world?

I don't think that it is more difficult.

> I would be interested to hear opinions on Zope. Is there
> anything of equivalent or greater functionality in the Lispweb world?

I don't know Zope well enough to compare it, but there are some interesting
related projects for Common Lisp. (e. g. Onshore's IMHO)

> How do the database interfaces of the commercial Lisp
> vendors differ from each other, and from the free one(s)?
> If database access were the only requirement, is there
> any reason to prefer the Enterprise version of a commercial
> Lisp over the Professional version (or over cmucl or clisp)
> using a free database interface (to PostgreSQL)?

Most free DB bindings for Common Lisp seem to follow more or less Xanalys'
"CommonSQL" API. The free ones I mean are SQL-ODBC (Paul Meurer), MaiSQL
(Pierre Mai), UncommonSQL (Onshore), CL-SQL (Kevin Rosenberg). UncommonSQL
was originally based on MaiSQL (as far as I remember) but added the
object-relational layer of CommonSQL. CL-SQL uses Kevin's "UFFI" (an
universal FFI wrapper). I've heard rumours that Onshore is working together
with him to use CL-SQL as UncommonSQL backend.

> Graham talks about debugging and patching a running
> Lisp-server world, with the user remaining online, session
> intact, and none the wiser. In the more traditional
> Lisp-client/database-server situation, can the same thing be done?
> I assume this entails effecting a listener (read-eval-print loop)
> into a running Lisp process; is this possible? Does the answer
> depend on whether or not the application has been cast
> as a standalone executable?

You either have a REPL in a lisp process listening on some socket or you
use a utility like Dan Barlow's detachtty to detach from the running lisp
and attach later again.

> Which Lisp implementation and operating system does Yahoo!Store
> use (or did Viaweb use)? For example, is (was) it LispWorks on FreeBSD?

I have heard that it was CLISP but I do not know for sure.

> Can Lisp call a Python program? If so, could this capability be
> one answer to the concern that "The Python libraries are better or more
> extensive or more at-your-fingertips"? The reply being, "Well, do that
> part in Python and then just call it from Lisp."? Would Lisp-Python
> communication be through temporary files, or can Lisp connect to
> Python's stdin and stdout?

I have done something like that some time ago for an university project.
The project was an optimizer for the TSP by using "Simulated Annealing" and
"Treshold Accepting". The algorithms were written in Lisp and talked to a
GUI written in Python (using sockets). Since both languages have some kind
of "eval" functionality it is rather easy to marshall things. I did not do
the GUI part but I wrote the marshalling code for lisp and python and it
was very little code. Even if it was easy it was more like a little hack
for this particular project and I do not think that it would be a good idea
to bind to the python libraries this way. I do not even think that it is a
good idea to do a binding to the Python libraries at all. In my experience
many of the python "standard" libraries are "Worse is better" solutions.
They are/were often horribly inefficient or error-prone but at least they
are there.

> How could a barcode scanner be interfaced to Lisp? Would it
> have to appear as a file (/dev/something) that you
> would continually poll (using OPEN or WITH-OPEN-FILE)? Is
> polling the only possible method, or can Lisp be interrupt-driven?

This depends on your lisp system. (And the interface to the barcode
scanner).

> How could you print to a printer from within Lisp? For example,
> would you first have to write the output to a temporary file,
> and then arrange for something like "lpr -Pprinter /tmp/lisp.out"
> to be run in a shell subprocess? Assuming that Lisp can cause
> arbitrary Unix commands (such as lpr) to be executed; can it?

You would not need a temporary file - you can create a pipe from within
lisp and direct the output of lisp to the input of lpr. Having such a
functionality depends on your lisp-systems but I assume that all
lisp-systems running on UNIX have such a facility.

> Can Lisp programs be written and run in the way that they are
> with various Unix shell languages, Perl, and Python, i.e., where
> the first line of a Unix-executable text file specifies the
> language evaluator to which the file should be handed, e.g.,
> #!/usr/local/bin/lisp ?

This is dependent on the lisp-system. CLISP does it like Python or Perl.
For CMUCL there is a hack somewhere to enable such things.

ciao,
Jochen

--
http://www.dataheaven.de

Todd Gillespie

unread,
Apr 19, 2002, 4:12:58 PM4/19/02
to
Rene Llames <jala...@yahoo.com> wrote:
: I would be interested to hear opinions on Zope. Is there

: anything of equivalent or greater functionality in the Lispweb world?

This is a bit of an oddity. Just as a random opinion, you might want to
avoid using a Zope analogue with a planned text on Lisp web programming.
Try webware or something else. Zope, I think, attacked too much and
reinvented too many wheels; and by being first it drew focus in the Python
dev community away from more conservative toolkit designs.

I know lots of Python programmers; I know many of them are learning Zope;
many of *them* "think they'll get it if they work on it more"; but I don't
know a single person who says "yes, by god, I rule all I survey in the
land of Zope".

: Graham talks about debugging and patching a running


: Lisp-server world, with the user remaining online, session
: intact, and none the wiser. In the more traditional
: Lisp-client/database-server situation, can the same thing be done?
: I assume this entails effecting a listener (read-eval-print loop)
: into a running Lisp process; is this possible? Does the answer
: depend on whether or not the application has been cast
: as a standalone executable?

Presumably it means storing the session in a continuation across HTTP
requests; for debugging you can log in and call on that continuation to
see exactly what the user will see, and then edit that stored session.

Of course, that's a little short on details. Still working on it.

: Can Lisp call a Python program? If so, could this capability be


: one answer to the concern that "The Python libraries are better or more
: extensive or more at-your-fingertips"? The reply being, "Well, do that
: part in Python and then just call it from Lisp."? Would Lisp-Python
: communication be through temporary files, or can Lisp connect to
: Python's stdin and stdout?

On Unices, what's the difference between stdin/stdout and temporary
files? They're both files, just stdin isn't on the filesystem.

: Can Lisp programs be written and run in the way that they are


: with various Unix shell languages, Perl, and Python, i.e., where
: the first line of a Unix-executable text file specifies the
: language evaluator to which the file should be handed, e.g.,
: #!/usr/local/bin/lisp ?

Why bother, when you can compile the Lisp programs? The sharp-bang
notation was created for languages that had only interpreters.

All these questions about tight Unix integration kinda makes you hunger
for Arc, doesn't it?

Will Hartung

unread,
Apr 19, 2002, 5:37:54 PM4/19/02
to
From: "Rene Llames" <jala...@yahoo.com>
Sent: Friday, April 19, 2002 10:32 AM

> There is a "Python Web Programming" book (actually several).
> What are the prospects for a "Lisp Web Programming" book
> anytime soon? Is anyone known to be working on one?
>
> If not, is it a chicken-and-egg problem? Not big enough a market,
> therefore not enough incentive to write a book, therefore not
> big enough a market?
>
> Is good, sufficient and reasonably stable material already out
> there---in existing books (e.g., Graham's HTML generator)
> and web sites---that "just" needs to be gathered, organized,
> inter-related, compared and contrasted, somewhat cookbookified,
> so that newcomers can get started more quickly and not have to
> grope around so much, for example, just trying to identify and
> evaluate all the myriad component choices and dependences?
>
> Or is it in the nature of the beast, of the existing components,
> that pulling together the material for such a book is somehow
> more difficult than in the Python world?


Most of this can be related to the fact that there is, essentially, only one
implementation of Python. From there, you bolt on a centralized core
receptacle for the "network effect" of python users to contribute code.
Python doesn't necesarily have something like CPAN, it's more like Java
where more and more stuff just comes in the distribution.

CLOCC and the Lisp Cookbook are helping focus the network effect to
accumulate Lisp code into a central place.

Finally, Python is considered a "scripting" language, which historically
have been popular for use in CGI scripts for web programming.

Note that you can find more information on programming CGI with Python, than
with, say, C. C isn't any less capable, but for assorted reasons, it hasn't
historically been used for CGI programming. (And there are obvious reasons
why C would not necessarily be someones first choice).

Lisp has not historically been a scripting language. Since Lisp has normally
been an environment unto itself, little scripts written in Lisp were never
really intended to work outside that environment. Just like simple shell
scripts don't work on Windows. They need the whole of a Unix system to
support them.

I have 200MB of files on my windows system (cygwin) to run "quick 3 line awk
scripts".

Sure, that's absurd. You really only need awk, or perl, or whatever. But
when you're used to piping together awk into sed into tr into grep into wc,
it all starts to add up. Heck, I whine that cygwin doesn't seem to come with
'bc(1)'.

So, if you had to boot Unix every time just to run a Perl script, you'd
probably think that there had to be a better way. Of course, this isn't
really true, but many feel that's exactly what they have to do in order to
run a "Lisp Script".

Now, I believe it has been documented that CLISP starts up pretty comparable
to Perl, so for CGI it's quite viable.

But I think historically, Lisp has been left out mostly because of the
communities involved.

Also note, the people can run Java as CGI, but most don't. Sun crafted the
Servlet API, released a sample platform, and poured a gazillion dollars into
it. Lisp can (and does) easily do this. The great benefit that Java has over
Lisp is that it standardizes the socket and multi-processing APIs whereas
Lisp didn't. If Lisp had those details in the STANDARD, then there would
probably be more servers out there based on the platform. Mind you there is
no blame here, these just weren't a big deal when the ANSI standard came
out.

However, all of these details are focusing together. There are Lisp based
analogues to all of the mentioned systems.

> I would be interested to hear opinions on Zope. Is there
> anything of equivalent or greater functionality in the Lispweb world?


I don't know anything about Zope, sorry.

> How do the database interfaces of the commercial Lisp
> vendors differ from each other, and from the free one(s)?
> If database access were the only requirement, is there
> any reason to prefer the Enterprise version of a commercial
> Lisp over the Professional version (or over cmucl or clisp)
> using a free database interface (to PostgreSQL)?


They differ in as much as the socket and multi-processing facilities differ.
Conceptually similar but different enough that they're platform dependant.

These are key areas where Lisp "suffers" from have several implementations.
All of the implementations can be compliant with the ANSI Standard, however,
for these areas there is no ANSI standard, only de-facto standards.

> Graham talks about debugging and patching a running
> Lisp-server world, with the user remaining online, session
> intact, and none the wiser. In the more traditional
> Lisp-client/database-server situation, can the same thing be done?
> I assume this entails effecting a listener (read-eval-print loop)
> into a running Lisp process; is this possible? Does the answer
> depend on whether or not the application has been cast
> as a standalone executable?

Yes, of course this can be done. This is essentially what is happening just
by using any modern Lisp environment. You're at a prompt modifying a running
image. The fact whether that prompt is running over a socket versus a TTY is
simply a detail.

You'll note that even though you can be interactive with systems like
Python, historically, this is not done. People mostly interact by contnually
restarting the environment, loading a script, executing it, and exiting the
environment.

> Which Lisp implementation and operating system does Yahoo!Store
> use (or did Viaweb use)? For example, is (was) it LispWorks on FreeBSD?


My understanding is that the Yahoo store runs on CLISP, and it's run
basically as a CGI, versus a server. You interact with that system and it
creates a bunch of static pages that don't rely on the Lisp system. Only the
Store Builder is done Lisp.

> Can Lisp call a Python program? If so, could this capability be
> one answer to the concern that "The Python libraries are better or more
> extensive or more at-your-fingertips"? The reply being, "Well, do that
> part in Python and then just call it from Lisp."? Would Lisp-Python
> communication be through temporary files, or can Lisp connect to
> Python's stdin and stdout?


Lisp can interact with Python just like it can interact with any Unix
process. However, the implementations may go about doing this differently.

> How could a barcode scanner be interfaced to Lisp? Would it
> have to appear as a file (/dev/something) that you
> would continually poll (using OPEN or WITH-OPEN-FILE)? Is
> polling the only possible method, or can Lisp be interrupt-driven?


It would interact with Lisp the same way it would interact with any other
Unix program. Most interface with a keyboard and terminal, and look to the
system just like someone typing (that's why it's easy for users to type in
the barcode when the scanner doesn't read it).

> How could you print to a printer from within Lisp? For example,
> would you first have to write the output to a temporary file,
> and then arrange for something like "lpr -Pprinter /tmp/lisp.out"
> to be run in a shell subprocess? Assuming that Lisp can cause
> arbitrary Unix commands (such as lpr) to be executed; can it?

Again, Lisp IS just an "arbitrary Unix process". No difference between Lisp
or grep. Lisp on Unix can print files in the same ways as anyone else: open
the device directly, pipe to lpr, write a temp file and queue it with lpr,
whatever. Again, there may be some implementation dependant details here,
but since most of this interaction is done with streams (stdin, stdout are
streams), the bulk of the code is the same. The trick being the creation of
the stream.

There have been some effort on CLOCC to shroud these implementation details
into a consistent whole, however, to aid portability.

> Can Lisp programs be written and run in the way that they are
> with various Unix shell languages, Perl, and Python, i.e., where
> the first line of a Unix-executable text file specifies the
> language evaluator to which the file should be handed, e.g.,
> #!/usr/local/bin/lisp ?

Yup. However, it's not historically been the role of Lisp to be used as
such.

Regards,

Will Hartung
(wi...@msoft.com)


Chris Beggy

unread,
Apr 19, 2002, 5:26:48 PM4/19/02
to
Todd Gillespie <to...@math.utexas.edu> writes:

> Rene Llames <jala...@yahoo.com> wrote:
>
> : Can Lisp programs be written and run in the way that they are
> : with various Unix shell languages, Perl, and Python, i.e., where
> : the first line of a Unix-executable text file specifies the
> : language evaluator to which the file should be handed, e.g.,
> : #!/usr/local/bin/lisp ?
>
> Why bother, when you can compile the Lisp programs? The sharp-bang
> notation was created for languages that had only interpreters.

In cmucl, with cmucl-trampoline:

#!/usr/bin/cmucl-trampoline \
-quiet -batch -noinit
!#

(format t "~&Hello, world!~%")

In clisp, with clisp dumped with clocc:

#!/usr/local/bin/clocc

(format t "~&Hello, world!~%")

with credit to davep at http://www.davep.org/lisp/.

> All these questions about tight Unix integration kinda makes you hunger
> for Arc, doesn't it?

I agree, playing nicely with unix is very attractive.

Chris

Steven H. Rogers, Ph.D.

unread,
Apr 19, 2002, 9:01:07 PM4/19/02
to
Todd Gillespie wrote:
> ...

>
> I know lots of Python programmers; I know many of them are learning Zope;
> many of *them* "think they'll get it if they work on it more"; but I don't
> know a single person who says "yes, by god, I rule all I survey in the
> land of Zope".
>
I think that you could count the number of people who've fully mastered
Zope
on the fingers of one hand. There's quite a bit of magic going on
behind the
curtain. As someone else has pointed out Webware might be a better
model for
developing a web application server toolkit in Lisp.
> ...

>
> All these questions about tight Unix integration kinda makes you hunger
> for Arc, doesn't it?
>

Yes!

Steve
--
"A language that doesn't affect the way you think about programming is
not worth knowing." - Alan Perlis

Bruce Hoult

unread,
Apr 19, 2002, 9:28:05 PM4/19/02
to
In article <3CC0BDD3...@ionet.net>,

"Steven H. Rogers, Ph.D." <shro...@ionet.net> wrote:

> Todd Gillespie wrote:
> > ...
> >
> > I know lots of Python programmers; I know many of them are learning Zope;
> > many of *them* "think they'll get it if they work on it more"; but I don't
> > know a single person who says "yes, by god, I rule all I survey in the
> > land of Zope".
>
> I think that you could count the number of people who've fully
> mastered Zope on the fingers of one hand. There's quite a bit of
> magic going on behind the curtain.

Over in Dylan-land, one of the core developers on Gwydion Dylan (Erik
Kidd) has done quite a lot of work with Zope, and I think understands it
pretty well.

-- Bruce

Chris Beggy

unread,
Apr 19, 2002, 10:03:29 PM4/19/02
to
Chris Beggy <chr...@kippona.com> writes:

> In cmucl, with cmucl-trampoline:
>
> #!/usr/bin/cmucl-trampoline \
> -quiet -batch -noinit
> !#
>
> (format t "~&Hello, world!~%")
>
> In clisp, with clisp dumped with clocc:
>
> #!/usr/local/bin/clocc
>
> (format t "~&Hello, world!~%")
>
> with credit to davep at http://www.davep.org/lisp/.

And here's another way for clisp, from cliki:

First, add the following code (at the end will do) to your
~/.clisprc.lisp (create that file if it doesn't exist):

(set-dispatch-macro-character #\# #\!
(lambda (stream bang number)
(read-line stream)
t))

You don't have to do anything special with chmod on that file.

Now, simply begin all your Lisp scripts with the line:

#!/usr/bin/clisp -q

and chmod them executable.


Chris

Paolo Amoroso

unread,
Apr 20, 2002, 6:20:02 AM4/20/02
to
On Fri, 19 Apr 2002 14:37:54 -0700, "Will Hartung" <wi...@msoft.com> wrote:

> CLOCC and the Lisp Cookbook are helping focus the network effect to
> accumulate Lisp code into a central place.

And cCLan.


Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://www.paoloamoroso.it/ency/README
[http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/]

Steven H. Rogers, Ph.D.

unread,
Apr 20, 2002, 6:40:10 AM4/20/02
to

I think quite a few people understand Zope well enough to do some very
useful things with it. Since the Pyhton Labs folks joined Zope Corp.,
I'm sure that the number of people understanding the internals has
incrased. Release of the Z Object Database has probably helped, since
using it as a stanalone tool should give programmers the opportunint and
motivation to understand it better.

Erik Naggum

unread,
Apr 20, 2002, 6:41:32 AM4/20/02
to
* Chris Beggy <chr...@kippona.com>

| In clisp, with clisp dumped with clocc:
|
| #!/usr/local/bin/clocc
|
| (format t "~&Hello, world!~%")
|
| with credit to davep at http://www.davep.org/lisp/.

If you use Linux, the misc-binaries support in the kernel allows you to
register an "interpreter" for files with the execute bit set and a
particular extension. This is described in the CLISP documentation.

///
--
In a fight against something, the fight has value, victory has none.
In a fight for something, the fight is a loss, victory merely relief.

Post with compassion: http://home.chello.no/~xyzzy/kitten.jpg

Todd Gillespie

unread,
Apr 20, 2002, 3:05:34 PM4/20/02
to
Bruce Hoult <br...@hoult.org> wrote:
: In article <3CC0BDD3...@ionet.net>,

: "Steven H. Rogers, Ph.D." <shro...@ionet.net> wrote:
:>
:> I think that you could count the number of people who've fully
:> mastered Zope on the fingers of one hand. There's quite a bit of
:> magic going on behind the curtain.

: Over in Dylan-land, one of the core developers on Gwydion Dylan (Erik
: Kidd) has done quite a lot of work with Zope, and I think understands it
: pretty well.

Four fingers left!


synthespian

unread,
Apr 21, 2002, 7:22:00 PM4/21/02
to

Hi-
lament hai-kai for the CL newbie:

This is great!
You *don't* get these tips in books!
Why? Let's Wiki this shamelessly!

Henry
synth...@uol.com.br

Coby Beck

unread,
Apr 21, 2002, 11:12:11 PM4/21/02
to

"synthespian" <synth...@uol.com.br> wrote in message

> Hi-
> lament hai-kai for the CL newbie:
>
> This is great!
> You *don't* get these tips in books!
> Why? Let's Wiki this shamelessly!
>

no comment on content, but your form is not correct! (I'm used to "Haiku"?)
and it goes 5-7-5 as seen in the below (borrowed from a common .sig)

Self-referential
Five, seven, five syllables
This haiku contains

(i get a kick out of that one!)

--
Coby Beck
(remove #\Space "coby 101 @ bigpond . com")

John Williams

unread,
Apr 22, 2002, 1:45:50 AM4/22/02
to

>>>>> "Todd" == Todd Gillespie <to...@math.utexas.edu> writes:

Todd> Rene Llames <jala...@yahoo.com> wrote: : I would be
Todd> interested to hear opinions on Zope. Is there : anything of
Todd> equivalent or greater functionality in the Lispweb world?

Todd> This is a bit of an oddity. Just as a random opinion, you
Todd> might want to avoid using a Zope analogue with a planned
Todd> text on Lisp web programming. Try webware or something
Todd> else. Zope, I think, attacked too much and reinvented too
Todd> many wheels; and by being first it drew focus in the Python
Todd> dev community away from more conservative toolkit designs.

Todd> I know lots of Python programmers; I know many of them are
Todd> learning Zope; many of *them* "think they'll get it if they
Todd> work on it more"; but I don't know a single person who says
Todd> "yes, by god, I rule all I survey in the land of Zope".

I must admit I been using Zope for about two years now and am looking
to move towards using LISP (for which I admit I am a relative novice)
to provide new systems in the future.

My experience of Zope has been pretty good however I would agree with
the assessment that there is a lot of detail you need to grasp if you
are make full use of it. In some sense, through its scripting
language, it promotes (or at least doesn't discourage) ad hoc messy
scripting which can get out of hand, and become very difficult to
maintain. Proper development, in Python, of Zope "Products" provides a
much cleaner environment but has a steeper learning curve which isn't
properly documented. A large number of times I had to look at the Zope
source code to find out how to do things.

I have however several reasons for moving towards using LISP as the
backend. Firstly the types of systems I am now wanting to develop
(adaptive online educational material) use AI or fuzzy logic type
approaches which can be more easily be represented in LISP. Secondly
native compiled LISP should be much more efficient than byte-compiled
Python, and processing efficiency has increasingly become a
problem. Finally I want to describe the problem space in its own
appropriate language and markup and LISP makes creating such systems
relatively straightforward.

--
Dr. John A.R. Williams


Paolo Amoroso

unread,
Apr 22, 2002, 11:02:57 AM4/22/02
to
On Sun, 21 Apr 2002 20:22:00 -0300, synthespian <synth...@uol.com.br>
wrote:

> You *don't* get these tips in books!
> Why? Let's Wiki this shamelessly!

Also check the Common Lisp Cookbook:

http://cl-cookbook.sourceforge.net

Gareth McCaughan

unread,
Apr 23, 2002, 5:48:14 PM4/23/02
to
Coby Beck wrote:

> no comment on content, but your form is not correct! (I'm used to "Haiku"?)
> and it goes 5-7-5 as seen in the below (borrowed from a common .sig)
>
> Self-referential
> Five, seven, five syllables
> This haiku contains
>
> (i get a kick out of that one!)

Douglas Hofstadter wrote (or perhaps quoted from someone else;
I forget):

Twice five syllables,
Plus seven, can't say much, but ...
That's haiku for you.

--
Gareth McCaughan Gareth.M...@pobox.com
.sig under construc

synthespian

unread,
Apr 24, 2002, 8:16:47 PM4/24/02
to
On Mon, 22 Apr 2002 00:12:11 -0300, Coby Beck wrote:


> "synthespian" <synth...@uol.com.br> wrote in message
>> Hi-
>> lament hai-kai for the CL newbie:
>>
>> This is great!
>> You *don't* get these tips in books!
>> Why? Let's Wiki this shamelessly!
>>
>>
> no comment on content, but your form is not correct! (I'm used to
> "Haiku"?) and it goes 5-7-5 as seen in the below (borrowed from a common
> .sig)
>
> Self-referential
> Five, seven, five syllables
> This haiku contains
>
> (i get a kick out of that one!)
>
> --
>

Well yeah, right you are. I'll try a tanka next time! :-)

henry
synth...@uol.com.br

0 new messages