On Sun, Feb 15, 2015 at 2:06 PM, Jonathan S. Shapiro <[email protected]> wrote: > Geoffrey: > > The syntax for types may need multiple arguments to the left of *any* arrow. > So, for example, we might see > > x y z -> a b -> w > > Note that this is merely a syntactic variant on my original proposal, which > would write this as: > > fn x y z -> fn a b -> w > > > OK. So let's now assume this notation for a second. Are we still permitted > to do a curry-style application? That is, given > > def f x y = ... returning z > > is the application > > f 1 > > acceptable (assuming the first parameter type admits int)? To put this > another way, are we doing implicit lambda insertions to satisfy coercions > here, or are we requiring explicit insertion? I think that (at least for > now) it should be explicit.
In my proposal, "f 1" would be a type error. "Not enough arguments!" or something. This was for inference too. If we don't know the type of f, "f 1" tells us it's (fn int -> 'a). _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
