A couple of notes. A comment on the patch pointed out that
mathematically, a o b, i.e., compose(a,b) means a ( b () ), not
b( a() ). So logically, a.compose(b) should be the same thing.
However, I think this is one of those areas where the functional and
OOP worlds collide. I find it very counterintuitive that a.compose(b)
means that be is executed first, since the "subject" of the sentence
is the function a.

Part of the reason for this is that we have the scope (this) to worry
about here. The result of the first invocation becomes the scope of
the second. This decision itself is possibly worth some discussion. If
I bind the composed function (a.compose(b).bind(c)), I think I am
still expecting the bind operation to be applied to the subject of
this "sentence", that is, function a, not b.


You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 

Reply via email to