guile-user
[Top][All Lists]
Advanced

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

Re: Items blocking release 1.6.1 (2002-04-21)


From: rm
Subject: Re: Items blocking release 1.6.1 (2002-04-21)
Date: Thu, 25 Apr 2002 12:02:54 +0200
User-agent: Mutt/1.3.24i

On Thu, Apr 25, 2002 at 11:09:14AM +0200, address@hidden 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
  



reply via email to

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