The only tricky thing here is that because JS has no method_missing or
cross-browse __noSuchMethod__, we'd be forced to explicitly write all the
proxies, which could become messy when they work for core methods, but not
all plugins.
Or maybe I'm just being a nervous nelly.

-- Yehuda

On Fri, Oct 3, 2008 at 1:46 PM, Ariel Flesler <[EMAIL PROTECTED]> wrote:

> Note that John's code doesn't do actual currying, but partial evaluation.
>
> http://en.wikipedia.org/wiki/Partial_evaluation
>
> Currying is a complex concept in comparison to the latter.
> Anyway, you can change the name if you want, the idea is simple, create a
> closure with fixed parameters.
> We can name it callback (though it's long)
>
> jQuery("#test").hide("slow", jQuery.callback.show("slow") );
>
> Not to hard to understand IMO, and no CS involved :)
>
>
> On Fri, Oct 3, 2008 at 5:41 PM, Yehuda Katz <[EMAIL PROTECTED]> wrote:
>
>> As in Computer Science.
>> Using a currying function requires people new to jQuery to go look it up,
>> where they'll encounter:
>>
>> http://en.wikipedia.org/wiki/Curry
>>
>> and probably eventually:
>>
>> http://en.wikipedia.org/wiki/Currying
>>
>> "Given a function *f* of type [image: f \colon (X \times Y) \to Z], then
>> *currying* it makes a function [image: \mbox{curry}(f) \colon X \to (Y
>> \to Z)]. That is, curry(*f*) takes an argument of type *X* and returns a
>> function of type [image: Y \to Z].*Uncurrying* is the reverse
>> transformation."
>>
>>
>> Prototype added features like this to 1.6, and while they're interesting
>> and useful, they make it hard for people coming to a codebase (especially
>> people new to the framework) to understand what's happening in the code.
>>
>>
>> On Fri, Oct 3, 2008 at 1:34 PM, Ariel Flesler <[EMAIL PROTECTED]> wrote:
>>
>>> CS as in Counter Strike ? :D
>>> Heh, no really... what is CS, forgive my ignorance :P
>>>
>>> On Fri, Oct 3, 2008 at 5:30 PM, Yehuda Katz <[EMAIL PROTECTED]> wrote:
>>>
>>>> Any feature that requires knowledge of CS is a no-go in my book :P
>>>> -- Yehuda
>>>>
>>>> On Fri, Oct 3, 2008 at 1:27 PM, Ariel Flesler <[EMAIL PROTECTED]>wrote:
>>>>
>>>>> Eh, nothing, got it wrong.
>>>>>
>>>>> We could just save all these methods on a special object.
>>>>>
>>>>> jQuery("#test").hide("slow", jQuery.curry.show("slow") );
>>>>>
>>>>> The name could be changed of course.
>>>>>
>>>>> Or renamed methods (probably bad option)
>>>>>
>>>>> jQuery("#test").hide("slow", jQuery.curriedShow("slow") );
>>>>>
>>>>> On Fri, Oct 3, 2008 at 5:14 PM, John Resig <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>>>
>>>>>> > It is indeed. You can't expect parameters though and you could get
>>>>>> conflict
>>>>>> > with the actual parameters sent by the caller.
>>>>>>
>>>>>> I'm not sure what you're referring to - are you referring to a bug in
>>>>>> the code? Do you have an example?
>>>>>>
>>>>>> --John
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ariel Flesler
>>>>> http://flesler.blogspot.com
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Yehuda Katz
>>>> Developer | Engine Yard
>>>> (ph) 718.877.1325
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Ariel Flesler
>>> http://flesler.blogspot.com
>>>
>>>
>>>
>>
>>
>> --
>> Yehuda Katz
>> Developer | Engine Yard
>> (ph) 718.877.1325
>>
>>
>>
>
>
> --
> Ariel Flesler
> http://flesler.blogspot.com
>
> >
>


-- 
Yehuda Katz
Developer | Engine Yard
(ph) 718.877.1325

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to