From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.lisp.guile.devel Subject: Re: Items blocking release 1.6.1 (2002-04-21) Date: 28 Apr 2002 17:58:34 +0200 Sender: guile-devel-admin@gnu.org Message-ID: <87adrnn7bp.fsf@zagadka.ping.de> References: <87wuuyl1qj.fsf@zagadka.ping.de> <20020425090914.GA19031@www> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1020009664 10891 127.0.0.1 (28 Apr 2002 16:01:04 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 28 Apr 2002 16:01:04 +0000 (UTC) Cc: guile-devel@gnu.org, guile-user@gnu.org Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 171r6m-0002pX-00 for ; Sun, 28 Apr 2002 18:01:04 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 171r6Y-0000wr-00; Sun, 28 Apr 2002 12:00:50 -0400 Original-Received: from dialin.speedway42.dip240.dokom.de ([195.138.42.240] helo=zagadka.ping.de) by fencepost.gnu.org with smtp (Exim 3.34 #1 (Debian)) id 171r0o-0000Yb-00 for ; Sun, 28 Apr 2002 11:54:54 -0400 Original-Received: (qmail 1163 invoked by uid 1000); 28 Apr 2002 15:58:34 -0000 Original-To: tomas@fabula.de In-Reply-To: <20020425090914.GA19031@www> Original-Lines: 39 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:544 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:544 tomas@fabula.de writes: > On Tue, Apr 23, 2002 at 08:16:20PM +0200, Marius Vollmer wrote: > [...] > > Yes. The way the old 'bound?' was implemented was a bug. The mistake > > (my mistake) back then was to fix this bug in a sub-optimal way, by > > just removing the functionality. Now it is too late to change it > > again; and changing it would be quite gratuitous, too. > > > > Using #f as the default default value is a sensible thing, I'd say, > > and should even be recommended. > > As a provider of some functionality I'd sometimes like to be able > to distinguish between `value was provided' and `value was not > provided at all'. It'd be perfectly reasonable to agree on a > value which means `not provided' (like Perl's undef or Pythons > None): an user providing *such* a value hopefully knows what > she's doing... Yes. You can do this easily when defining such a function. I.e. (define not-provided (cons* 'not-provided)) (define* (foo :optional (bar not-provided)) (if (eq? not-provided bar) ...)) > ...but #f seems to be just wrong, since it's an often-used `logical' > value. To me, it seems just right as a default default value... > Unspecified seems nice for something ``you don't specify'', > doesn't it? (I know, you were against that on a previous posting). You might use the 'unspecified value' (which is different from SCM_UNDEFINED which was used previously) as the value of not-provided above, but it seems to be too obscure, for my taste. It doesn't feel right to me to give # any specific meaning. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel