unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: tb@becket.net (Thomas Bushnell, BSG)
Cc: guile-devel@gnu.org
Subject: Re: #f/() tedium
Date: 05 Sep 2002 00:33:29 -0700	[thread overview]
Message-ID: <871y88evqu.fsf@becket.becket.net> (raw)
In-Reply-To: <200209050725.AAA20302@morrowfield.regexps.com>

Tom Lord <lord@regexps.com> writes:

> It bugs me when people site R5RS as a reason to do _anything_ to their
> scheme impl., and this is a timely time to mention it.

Except that it's already been done.  Nobody is trying to figure out
whether Guile should have #f != ().  

The only question is whether we should *reverse* that decision... out
of what?  A desire not to be compatible with R5RS?  

> Some aspects of RnRS, such as the I/O procedures, are clearly so
> academic as to be nearly worthless in practice.   In that light,
> examine the #f/() distinction.

The I/O procedures are actually useful in practice.  At least, I use
them in practice, in the same kinds of contexts I would use the
corresponding getc/putc functions from C.  

But sure, they are a bare skeleton, and of no great interest in
themselves.  And yet, it would be a serious mistake to ignore them on
that ground.  Any decent Scheme system can implement them easily, and
should.  Of course, that's no reason not to also implement a good set
of comprehensive I/O routines.  

> Against this, I suppose, are the SRFIs.  I haven't surveyed them to
> see how heavily they rely on #f != ().  I did find that Olin's list
> library was an easy port.  It used to be (still is?) a design
> principle of slib to be agnostic on the issue.

Suppose we were designing a language anew.

What possible reason is there for making the space of boolean values
have anything to do with the space of proper lists?  

It seems to me that conventional practice of Lisp is the only reason
for that, and the argument from conventional practice allowed the
names "car" and "cdr" and "cons" into Scheme, with a wink and a smile,
and used to allow the possibility of #f = (), but no longer does.

The argument from conventional practice has some merit, but not when
the convention has now changed.  And I can see no reasons whatsoever
aside from "that's what Lisp does" for maintaining what seems to me to
be a bit of non-orthogonal inanity.  

That is, if you can explain why integer 0 should not be the empty
list, or perhaps (integer->character 0), or why not even #t! aside
from the argument "that's what Lisp does", then I'm all ears.

> And, as tb and I seem to have agreed to disagree off list (hope I'm
> not misrepresenting you too badly, tb), 

No, I think I was very clear.

As long as you continue to bring up the "issue" on the list, I will
answer you on the list.  If you find it so damn tedious (as your
subject indicates) then why do you bring it up like clockwork?

Thomas


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


      reply	other threads:[~2002-09-05  7:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-05  7:25 #f/() tedium Tom Lord
2002-09-05  7:33 ` Thomas Bushnell, BSG [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871y88evqu.fsf@becket.becket.net \
    --to=tb@becket.net \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).