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. Thoughts? --~--~---------~--~----~------------~-------~--~----~ 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 http://groups.google.com/group/prototype-core?hl=en -~----------~----~----~----~------~----~------~--~---