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

Issue: FUNCTION-TYPE (version 4)



There seem to be three positions here:

1. The "maximally clean" proposal, in which FUNCALL, APPLY, and the
built-in functions that take functional args would take only true
functions and it would "be an error" to pass either of these a lambda
expression or a symbol.

2. The "maximally compatbile" proposal currently reflected by
FUNCTION-TYPE:REDEFINE.

3. The "maximally Macsyma" proposal, which is like 2 but would also
require that SYMBOL-FUNCTION take a symbol or lambda and return it
unchanged.

I actually favor option 1, though I think that we must be up-front about
the incompatibilities it introduces.  Several others seem to share this
view.

It might be hard to get the majority of X3J13 to agree to option 1,
however, since a lot of those people are more worried about preserving
existing code than about cleanliness and consistency.  If we want to
resolve this issue in a hurry, pushing option 2 might be the way to go.
Moon has been the most vocal advocate of option 2 within the cleanup
committee.  Personally, I could live with this, though I prefer option
1.

So far, only KMP has argued in favor of option 3.  This does not reflect
the status quo in many implementations, and some of us view it as a step
backwards.

It would be great if we could reach some internal consensus on this
issue and present a recommendation from the whole cleanup committee.  If
this is impossible, we should write this up as a two-option or
three-option proposal and let X3J13 fight it out.  I don't think we
should sit on this indefinitely waiting for someone's mind to change or
break it up into little pieces -- either move will just guarantee that
this remains unresolved for the forseeable future.

If people are comfortable with releasing the current version, I can go
along with that in priciple, but the presentation needs to be cleaned up.
I will be happy to do some of the work of redrafting this proposal, but
can't do this without understanding where the committee members stand:
what they favor, and what they would agree to.

-- Scott