guile-devel
[Top][All Lists]
Advanced

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

Re: JACAL, scm


From: Tom Lord
Subject: Re: JACAL, scm
Date: Tue, 25 Sep 2001 03:08:42 -0700 (PDT)

   > 
   >        > The '()/#f equivalence was dropped a long time ago.
   > 
   > It's not too late to fix that.
   > 

   I don't understand why it's helpful for the two to be equal, besides
   Emacs Lisp compatibility, which strikes me as a poor reason. 

I think it is a good idea for GNU Emacs and the GNU extension language
to work well together.  They should be able to exchange data comprised
of basic types using `read' and `write' (on the Scheme side).  There
is no reliable way for the two programs to exchange simple data unless
() and #f are the same.

Easy exchange of data between Emacs and Guile leads to the
possibility of using Emacs as a user interface to Guile programs.
That makes it easy to use Emacs as part of the user interface
to programs which use Guile as an extension language.  That
possibility, using Emacs as a user interface to Guile programs, is too
important to ignore.  

Against that, we have the possibility of exchanging code between Guile
and other Scheme dialects.  But what about that?  It has long been
good practice, when trying to write portable Scheme, to not rely on ()
and #f being either the same, or different.  Portable Scheme code
should not be effected by this change at all.

Moreover, portable code is constrained to only the features found in
R5RS.  There isn't much you can do with that.  I don't foresee a large
base of invaluable R5RS code, sensitive to a distinction between ()
and #f, that we'll be missing out on.

Moreover, Guile diverges from R5RS in other ways.  It has already been
decided that strict compatibility is not a goal.  Why should this case
be any different?


   A perfect example of this is the problems Aubrey was having with
   SLIB and JACAL. People out there want to write portable Scheme
   code, and want to run it in Guile.

As far as I know, SLIB, JACAL, and SCM are written so as to be neutral
with respect to the question of whether or not () and #f are eq.
So, yes, they are good examples -- of why it is perfectly reasonable
to make () and #f the same.

-t



reply via email to

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