scsh-users
[Top] [All Lists]

Alan

To: scsh@martigny.ai.mit.edu
Subject: Alan
From: shivers@ai.mit.edu (Olin Shivers)
Date: 08 Apr 1997 10:59:21 -0400
Organization: Artificial Intelligence Lab, MIT
Reply-to: shivers@ai.mit.edu
Wow; there's no pleasing some people.

Bug 1:

%set-unix-signal-handler! was fixed long ago, in the as-yet-unreleased
sources. The signal system in the last release was pretty flaky. It's
much more solid in the next one.

Bug 2:
    The documentation claims that the `scsh' structure provides an
    `open-input-file' that is upwardly compatible with the `open-input-file'
    provided by the `scheme' structure.  This is true, but useless as far as I
    can tell.  The Scheme48 module system says that it is an error to open more
    than one structure that exports the same name, and sure enough, if I open
    both `scheme' and `scsh' in some new structure I'm building, the binding of
    the name `open-input-file' is unpredictable.  Sometimes I get the scsh
    version, and sometimes I get the original Scheme48 version.

    Of course none of the package/module/structure/interface stuff is
    adaquately documented, so perhaps I'm doing something wrong.  Here is what
    I'm trying to do:

      (define-structure utilities (export [...])
        (open scheme
              receiving
              scsh
              )
        (files utilities
               ))

    I'm only guessing that I'm supposed to be including `scsh' in the list of
    structures to open -- nothing I can find in the manual tells me how I'm
    expected to do this.

The problem here is that the module system is (officially) insufficiently
powerful to do what we need to do -- override one package's exports with
another's.

The workaround is to make sure scsh comes before scheme in your list of
opens. You have them backwards in the above example. It is an undocumented,
unsupported feature of the S48 package system that the first package takes
priority over later ones.

The official line is that one is not allowed to do this -- if you open
two structures in the same package, they have to have disjoint exports.
(I could be wrong on this, but this is what I recall from looking into
the problem the first time it bit me.)

How would you know all this? You wouldn't. Sorry -- we should have made this
clear in the manual.

Bug 3:

Let me get back to you on SIGPIPE. I need to check my Posix specs for a few
details.

        -Olin

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