guile-devel
[Top][All Lists]
Advanced

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

#f and '() (was: Re: JACAL, scm)


From: Jorgen 'forcer' Schaefer
Subject: #f and '() (was: Re: JACAL, scm)
Date: 25 Sep 2001 20:41:42 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

Tom Lord <address@hidden> writes:

> > > > 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.

The way it's planned, GNU Emacs will adopt Guile as it's extension
language.  So, however we decide to do this in Guile, it will work
well together with Emacs.  When you're concerned about
interoperability with elisp, we'll have a language wrapper for
this, which will provide the necessary equivalent of nil and () in
elisp.

> Against that, we have the possibility of exchanging code between
> Guile and other Scheme dialects.

A much more important reason is that #f and '() are two totally
orthogonal concepts.  The empty list is not a boolean, and #f is
not the end of a list.  Relying on both of them to be the same
indicates a bug in the program (or rather, laziness on the
programmer side), because two semantically different things are
treated equally.

There have been lengthy discussions about this subject on
comp.lang.scheme ...

> 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?

As far as I can remember, there was always the intent to have at
least one completely R5RS-compliant module, and I think I remember
the goal of being R5RS-compatible.  Usually, when new features are
discussed, they're designed not to be incompatible with R5RS.  But
that's just a minor point, the more important point remains the
semantic difference between the two concepts.

Greetings,
        -- Jorgen

-- 
((email . "address@hidden")       (www . "http://forcix.cx/";)
 (irc   . "address@hidden (IRCnet)") (gpg .    "1024D/028AF63C"))



reply via email to

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