gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: General GCL quesions


From: Chris Hall
Subject: [Gcl-devel] Re: General GCL quesions
Date: 14 Apr 2004 01:06:03 -1000
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Jeff Dalton <address@hidden> writes:
> 
> FOSS?

Free/Open Source Software?  Aka, FLOSS - Free/Libre/Open Source
Software.  (Personally, FSF 'free' is quite sufficent for me.)

> 
> > I'm not really sure why this is either.  But I suspect that at least
> > some component stems from the general attitude among lisp developers
> > that public domain stuff is better than GNU-like licensed software.
> 
> I don't know what's been said in the last few years on c.l.l about
> GCL, but back when I used to read it regularly, most of the nagative
> comments seemed to be because it was a CLtL 1 implementation; but
> usually this was from people who didn't use it and were arguing
> for some other implementation.

I've recently been spending a lot of time in the older c.l.l postings
looking for GCL stuff, and the sense I get is yes, CLtL1 *plus* the
unfortunate hiatus in development.  I have a vague sense that it might
almost be more of the latter, but I can't really say why.

> > >  its not just an intention, camm and the guys have
> > > been working very hard to get GCL complient. Right now
> > > GCL passes the vast majority of the tests in the ansi
> > > test suite.
> 
> What is "the ansi test suite"?  I didn't think there was anything
> official.

And for us newbs, Graham's "ANSI Common Lisp" has a section to help us
distinguish between CLtL1 and ANSI CL.

> > >  There is no  need to port a webserver, gcl has really
> > > excellent integration with C. I would suspect that you
> > > could interface with apache's mod_c very easily if
> > > mod_lisp didn't work.
> 
> Back in the 90s, I wrote an HTTP server using the C interface
> for sockets and select.  It's part of O-Plan (an AI planner),
> used to provide a web-browser interface.  I don't think it's
> too hard to do, but it would depend on how sophisticated a
> server you needed.
> 
> -- Jeff

I'm curious - Camm mentioned that he had something similar, I think.

In your approach, which is 'closer' to the web, Lisp or C?  I.e.,
which actually _listens_ to the web?

I would think that parsing an HTTP request would be much simpler in
Lisp, but then the C is needed to effectively handle more than one
open port at a time, correct?

Perhaps C listens/manages the ports, accepts the complete HTTP request
and hands it off (without looking at it) to Lisp for
parsing/processing?

I wrote a socket server in Java a while back (using code from a book
as a starting point), and I remember that it listened on one port to
accept session-start requests, generated a new local socket on a
separate port, and all session traffic for a particular client went
over that port.

My server's main purpose was to emulate airline reservation terminals
and time-share and manage a small, fixed pool of dedicated line
connections to the airline's res. system.  All connection requests
came from an application running in our web server, and thus this all
happened inside our firewall.

Now that I think about it, and the reason I bring it up, is that I
have no idea how a web server (or smtp or ssh) handles multiple
connections using only one open port on the firewall.  Wait, lemme
guess - the server uses the IP address of the incoming connection,
probably keeping a list of pending requests (HTTP) or open sessions
(ssh/smtp)?

I'm also curious about what 'lispy' APIs 'try' to look like, though I
think I'm gradually starting to get a feel for it.  Does anyone know
of a style guide, or if there exists a such a thing?

-- 
We learn from history that we do not learn from history.
-- Georg Friedrich Wilhelm Hegel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]