In Haskell, currying can only be done on the last (rightmost) function arguments.

 

So

 

foo x y

 

can be curried as

 

foo x

 

but not as

 

foo ? y

 

where ? would be a “wilcard” for the x parameter.

 

In Haskell, one must write a new function

 

foo2  y x = foo x y

 

and then one can curry the x parameter like

 

foo2 y

 

In Gem Cutter – which is a visual programming language – on can “burn” any input argument (which is like putting the ? for any argument in the foo function). See http://resources.businessobjects.com/labs/cal/gemcutter-techpaper.pdf

 

This burning looks more general to me, but cannot be done using the textual approach?

 

Does this reasoning make any sense?

 

Thanks,

Peter