On 2 March 2015 at 14:11, Jonathan S. Shapiro <[email protected]> wrote: > > But Matt, there *are* no arity-abstract applications. The only *real* > applications are the arity-concrete applications! >
This :-) - All applications are arity-concrete. - All local definitions are arity-abstract. I have a question. I import an arity-concrete function from 'C' that: test :: fn 2 'a 'b -> 'c I apply it like this: ((test 1) 2) instead of (test 1 2). Do I care? As long as the intermediate (test 1) is a temporary value (in the C++ sense), it does not cause any problems as it cannot escape, and gets the (2) applied to it right away. Obviously we cannot allow: g = (test 1) export g :: fn 1 'b -> c -- using export to indicate that we cannot allow beta-reduction of any function 'g' is passed to remove this problem. What are your thoughts on application of arty-concrete functions? Keean.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
