scsh-users
[Top] [All Lists]

Re: Scsh 0.4.4 and the scheme httpd.

To: scsh@martigny.ai.mit.edu
Subject: Re: Scsh 0.4.4 and the scheme httpd.
From: shivers@ai.mit.edu (Olin Shivers)
Date: 08 Nov 1996 20:07:11 -0500
Organization: Artificial Intelligence Lab, MIT
Reply-to: shivers@ai.mit.edu
   From: humberto@momo.uthscsa.EDU (Humberto Ortiz Zuazaga)
   Newsgroups: comp.lang.scheme.scsh
   Date: 5 Nov 1996 14:57:24 -0500

   I just installed scsh 0.4.4 on two linux boxes, and now I can't get the
   httpd in net.tar.gz to work anymore.  I get the following:

   aleph:~/src/scheme/net$ ./server.scm

   Error: exception
          (symbol->string "http-reply")

   This same setup worked in the last release v0.4(.2?).

OK, I have found the bug.

There are two problems. One is with the define-enumerated-constant macro
httpd-core.scm uses to define all the http reply codes and messages -- it's a
macro-inside-a-macro problem. What I don't understand is why it ever worked at
all in older releases of scsh. It's fundamentally a Scheme problem, not a scsh
problem.

The other problem is that the net package uses PARSE-OPTIONALS and 
OPTIONAL-ARG, opening up a non-advertised scsh package to get them.
But I threw these away for the current release, replacing them with
the much faster and better-designed LET-OPTIONALS and :OPTIONAL macros.

I have changed all of the network code from the old optional-arg
machinery to the new machinery. (I could have alternately just posted
the old optional-arg module to the net, but better to just kill it off.)
I have also kludged around the enumerated-constant problem, but I'd like
to think it over tomorrow. It's 8 pm, and I'm on Europe time, so I'm pretty
brain-fried right now. I'll try to release a new network package this
weekend.

If anyone is being held up by this, email me.
        -Olin

<Prev in Thread] Current Thread [Next in Thread>