Hi,
Matt Benson wrote:
> TBH, I can't recall what the argument was against "Functor" either; I
> think it had something to do with potentially confusing users of other
> libraries?
>
> Functor
> |_NullaryFunctor
> |_UnaryFunctor
> |_BinaryFunctor
>
> *is* the current state. :) Now, when I woke up this morning I did so
> with another concept floating around in my brain (it may be crazy, or not
> work):
>
> interface Arity {
> }
>
> interface Argumented<A extends Arity> {
> }
>
> interface Unary<A> extends Arity {
> }
>
> interface UnaryFunction<A, T> extends Argumented<Unary<A>> {
> }
>
> Bear in mind the goal is to be able to inspect the type of a functor to
> determine its arity (momentarily disregarding the fact that this goal is
> seeming less worth the trouble all the while :P ). This approach would
> make that a bit more complex, but still seemingly doable.
>
> Thoughts?
@Arity(0)
interface NullaryFunctor {
}
@Arity(1)
interface UnaryFunctor {
}
@Arity(2)
interface BinaryFunctor {
}
Crazy enough? ;-)
Do those interfaces need an ancestor?
- Jörg
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]