[Prev][Next][Index][Thread]

Re: Question #1:CL-HTTP



(A copy of this message has also been posted to the following newsgroups:
comp.infosystems.www.servers.mac)

In article <51p67v$l9r@pendragon.jsc.nasa.gov>, mark@sun (Mark
Manning/Metrica) wrote:

> I noticed that this did not get posted.  So here is my second attempt
> at this:

Your first attempt got through, too.

> 
> The other day I was going through the various server information as
> provided within the FAQ.  I saw there was a full blown, free web
> server written in MCL Lisp.  I thought - "Wow!  A Lisp Web Server!"

Yes, it is cool.

> So I went to the site.  "Oh wow!  They've got a binary!  This I've got
> to see!"  The documentation stated cl-http handled FTP, Gopher, HTML,
> and other types of scripts.  So I downloaded the thing.

Reread the docs.

> Then I did a double take.  There wasn't a compiled version of the
> program.  Even though, after going to the MCL site their on-line web
> page states that the compiler could easily create a FAT version of the
> program so it ran on 68k and PPC Macs.

Never heard of a FAT version. Where did you read it?

> So my question is: Why isn't CL-HTTP compiled?  MCL 3.0 costs $595.00
> for a single user license (or $295.00 for a personal license).  I
> really don't have that kind of cash laying around.  So I was wondering
> - does someone have the compiled version laying around that they could
> send to me?  I'd appreciate it.

MCL actually is version 3.9 for PowerMacs. In a few weeks (maybe
this month) there will be PPC MCL 4.0 .

It makes not that much sense to give you a compiled version
of CL-HTTP right now..
It has not the user interface you would expect.
Also the real strength of CL-HTTP is its programmability
with Common Lisp. Every bit of code you write for the web server
also relies on the already provided libraries and can be perfectly
integrated in the servers OOP architecture. So it
is not necessary (though possible) to write external scripts.
You have the full power of Common Lisp to write server
extensions. This makes most sense if you have a compiler
for Common Lisp (speed!). Digitool would not give away their compiler
for free. So what you get for now is a web server, docs
and examples all for free. You have to compile it yourself.

Maybe in the future with the help of some dedicated MCL hackers
it might be possible to create a CL-HTTP standalone image.
For *real* usage of the MCL + CL-HTTP combination you
still would like to program in Lisp.

Since the source for CL-HTTP is portable, everybody could try
to port it to their Common Lisp platforms. But until now
there sadly is no (AFAIK) Common Lisp implementation available that
- is free, 
- has a (native code) compiler,
- supports threads,
- has TCP/IP support.
There are several commercial version that do have these features
(Macintosh CL, Symbolics CL, Allegro CL, LispWorks, ...).

> Or!  If this can't be done, can someone explain why?  Like does
> CL-HTTP act like an interpreter?  Or does it do a load-n-go operation
> on each of the source files?  (ie: MCL really doesn't compile)  Or
> what?  Anyone know?  Thanks!

Sure CL-HTTP can do the usual "export HTML files" thing. But
this is rather an uninteresting application. Due to the
usage of Lisp, CL-HTTP is an object-oriented application
with some macro libraries for dynamic content generation.
You can develop dynamic web sites without the need of external
scripts and can build this stuff directly on the server's
foundation.

Rainer Joswig

Btw., MCL is worth every "Pfennig". Just a satisfied user.