On Tue, 23 Aug 2005, Damien Doligez wrote: > On Aug 23, 2005, at 09:12, skaller wrote: > > > On Mon, 2005-08-22 at 18:50 +0200, Damien Doligez wrote: > > > > > Suppose you want to evaluate a curried function call in left-to-right > > > order: > > > f e1 e2 e3 e4 > > > > > > You must evaluate f first, then e1. Then you must apply f to e1, > > > giving a new function g1. Then you must evalue e2, then apply f1 to > > > e2, giving f2, etc. > > > > > > That's because f might do some side effects between its arguments. > > > > what data, and possibly annotations, would be required to solve this > > problem? > > The most direct solution is to introduce the notion of function arity in > the type system. As far as I know, there is no theoretical difficulty, > the biggest problem is to find a syntax that satisfies everyone... Hi, Been lurking on this thread, decided to chime in. This may be a naïve question, but what's wrong with tuples? It doesn't seem like the order in which the tuple components are evaluated matters (in terms of efficiency, that is). Am I missing something? Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha@cs.nyu.edu ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! If there's any real truth it's that the entire multidimensional infinity of the Universe is almost certainly being run by a bunch of maniacs. /DA