From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: rm@fabula.de Newsgroups: gmane.lisp.guile.devel Subject: Re: Items blocking release 1.6.1 (2002-04-21) Date: Thu, 25 Apr 2002 12:02:54 +0200 Sender: guile-devel-admin@gnu.org Message-ID: <20020425100254.GC19024@www> 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 1019729228 5504 127.0.0.1 (25 Apr 2002 10:07:08 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 25 Apr 2002 10:07:08 +0000 (UTC) Cc: Marius Vollmer , ttn@glug.org, rlb@defaultvalue.org, 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 170g9b-0001QY-00 for ; Thu, 25 Apr 2002 12:07:08 +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 170g99-0006LR-00; Thu, 25 Apr 2002 06:06:39 -0400 Original-Received: from www.elogos.de ([212.18.192.92]) by fencepost.gnu.org with smtp (Exim 3.34 #1 (Debian)) id 170g2j-0007sD-00; Thu, 25 Apr 2002 06:00:01 -0400 Original-Received: by www.elogos.de (Postfix, from userid 5001) id 03AE01049A3; Thu, 25 Apr 2002 12:02:55 +0200 (CEST) Original-To: tomas@fabula.de Content-Disposition: inline In-Reply-To: <20020425090914.GA19031@www> User-Agent: Mutt/1.3.24i 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:523 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:523 On Thu, Apr 25, 2002 at 11:09:14AM +0200, tomas@fabula.de wrote: > 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... > > > From a robustness standpoint, > > distinguishing between explicitely specifying a keyword with its > > default value in a function call, and not specifying it, should not be > > done. That is, it is better to say "When you don't specify the :foo > > keyword, it's value is defaulted to #f. A value of #f means bla." > > instead of "When you don't specify the :foo keyword, it means bla." I'd like to second Tomas here. Default values are essential for some applications (esp. if guile want's to be used as a scripting language). I don't want to force my users to have to specify all possible keywords and i can well imagine that i need to have keywords with boolean values: (read-text :convert-newline #f) =/= (read-text) (foo-create-window ) =?= (foo-create-window :map #f) > > (BTW. I just resisted the temptation to propose '(), because > that's quite another thread ;-> ... not to mention NIL :-) Thanks ralf _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel