guile-devel
[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: Marius Vollmer
Subject: Re: Items blocking release 1.6.1 (2002-04-21)
Date: 23 Apr 2002 20:16:20 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Thien-Thi Nguyen <address@hidden> writes:

>    Ok, I'll looker closer into this, and I now have to say that we can't
>    'fix' it.  We would be changing the default default value from '#f'
>    to something else.  That would be an unacceptable interface change.
> 
> but removing `bound?' is acceptable?

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

>    Since it is easy for the user to provide the functionality on its
>    own, we can just leave it as it is.
> 
> to provide out of band info, you can use out of band methods (in fact,
> this is the fix i thought you were going to consider).

Yes, but we would have to change the semantics of (ice-9 optargs) in a
way that could lead to silent failures.  Removing 'bound?' did not do
that.

> cc'ing guile-user to see who complains (besides me).  maybe someone can
> send a patch to do a clean fix, and explain it.  maybe it's time to fork
> guile (again).

I think it would be smarter to just fork (ice-9 optargs), if you can
make such fine distinctions.



reply via email to

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