On Mon, 2007-08-27 at 16:29 +0200, Peter Verswyvelen wrote: > A while ago I confused "currying" with "partial application", which was > pointed out by members of this community, and the wiki pages got adapted > so that newbies like me don't make the same mistake twice ;) That's great. > > Anyway, at the risk of making mistakes again, I'm looking for good > terminilogy when talking about "partial application". > > For example: > > -- uncurried form > *f (x,y)* = -- whatever > > -- curried form > *g x y *= f (x,y) > > -- partial application > *h x *= g x > > But when writing text documents, I guess it is common to say "/g is > curried/", but is it also common to say /"g is partially applied"? /The > latter sounds silly to a non-native speaker like myself... Or shouldn't > it be?
g -is- curried, just period, i.e. that is a property of g itself. g is partially applied to x in h or (g x) is a partial application, i.e. this is a property of a particular application. g is applied to x would also be fine since there is rarely much value in making a distinction between application and partial application at the level of programming (in Haskell at least). You do seem to have a good grasp on the terminology. > /And what is "application"? I guess it means that (g x y) is internally > translated to ((g $ x) $ y) which is translated into (apply (apply g x) > y) where apply is a primitive function? Yes, application is what you do when you "call" a function with arguments. The side step through ($) is unnecessary, ($) is nothing special. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe