On Thu, Mar 12, 2009 at 11:03 AM, Geoffrey Irving <[email protected]> wrote: > On Thu, Mar 12, 2009 at 11:45 AM, Jonathan S. Shapiro <[email protected]> > wrote: >> OTOH, if we adopt the "apply to unit" idiom, then *all* multi-arg >> applications once again involve parens, and at that point the >> syntactic ambiguity may turn out to solve itself. I'm going to check >> that out. > > That doesn't follow from my understanding of the apply to unit idiom, > so can you explain why all multi-arg applications would involve > parens? > > In ocaml/haskell/etc., all functions take at least one argument, and > parentheses only need to occur in one of the arguments is a unit.
Notso. In ocaml/haskell/etc, all functions take *exactly* one argument, and pairs must be introduced in ordertopass multiple arguments in a single application. As we discussed in another thread, the optimization that lifts curried procedures into conventionally multiargument procedures is not transparent w.r.t. allocation effects. So far as I can tell, this forces us into n-ary functions. It all seems fairly icky at the moment. When the parser generator tells you that you have 40+ shift/reduce conflicts, you've either done something obvious and stupid or it is time to re-syntax. At the moment I can't tell which condition applies to me. shap _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
