commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <>
Subject RE: [lang] Functor debate
Date Wed, 26 Mar 2003 20:22:55 GMT

Would it be at all possible that a full-feature [functor] package extend a
basic [lang.functor] package? This would allow for re-use. We would have to
argue about which features go where of course...


-----Original Message-----
From: Arnd Kohrs [] 
Sent: Wednesday, March 26, 2003 11:41 AM
To: Jakarta Commons Developers List
Subject: Re: [lang] Functor debate

>>>>> "Stephen" == Stephen Colebourne <> writes:

    >> 1. Functor Types
    >> - Function: Functor which has a result
    >> - Predicate: Functor which has a boolean result
    >> - Procedure: Functor which has no result
    >> 2. Number of Arguments
    >> - *Unary*Functor: one argument functor
    >> - *Binary*Functor: two argument functor
    >> - Functor: (Null-ary) no argument functor

    Stephen> I don't dispute that this is the 'correct' or 'right'
    Stephen> design for a full functor implementation. However this is
    Stephen> very much bigger in concept, and in 'religion', than [lang]
    Stephen> could support or would wish to. [lang]s functors do not
    Stephen> have this goal - they aim to be simple commonly used
    Stephen> callback interfaces.

If the bigger concept 'functor' does compromise the narrower 'callback'
scope of the current [lang].functor package then the package should be
renamed to more explicitly state its scope. [lang].callback would in my
opinion much more appropriate.  The package name [lang].functor is not
only misleading about its scope but will certainly lead to confusions
with the 'heavier' concept functor.

So if the renamings, which I suggested earlier, are not acceptable
(which I agree on since the scope of the package is to standardize
commonly used callback interfaces (and not more)), then it is a good
idea to rename the package to a better name.

I suggest that [Lang].functor is renamed to [Lang].callback.

What do you think?


To unsubscribe, e-mail:
For additional commands, e-mail:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message