On Mon, Mar 30, 2015 at 7:17 AM, Keean Schupke <[email protected]> wrote: > Currying is the process of converting a multi-argument function into > functions that only accept one argument. Therefore a curried function has > only one argument. ... > Arity concrete functions can also return functions, I have not said they > cannot, however they can have more than one argument, so they are not all in > curried form.
I see. Your use of "curried" is narrower than mine. > So re-recap my representations: > > - A curried arrow (can only accept one argument) is used to represent > arity-abstract functions. We can call this an abstract-curried arrow if you > like "->" > > - An uncurried arrow (can have more than one argument) is used to represent > concrete-arity functions. We can call this a concrete-arrow "=>" I really don't like the use of "curried" and "uncurried" to make this distinction, since the difference between arity-abstract and arity-concrete has nothing to do with whether you can have more than one argument. It's also misleading to use "curried" and "uncurried" here since it means something different for an arity-concrete function to be curried (called with one argument) than for an arity-abstract function to be curried (applied to one argument). Indeed, according to your terms, an arity-concrete function could be both curried and uncurried, in different senses. _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
