On 22 Mar 2015 16:47, "Matt Oliveri" <[email protected]> wrote: > > This syntax recommendation doesn't seem to include all the things we > need to express. We need to distinguish between non-call arguments (I > used space), call arrows (double arrow), and unknown (single arrow).
I see your point, the question would be: what is the difference between and abstract and concrete arity function of one argument? > > On Sun, Mar 22, 2015 at 8:08 AM, Keean Schupke <[email protected]> wrote: > > I still like writing the call arrow as a multi (variable) argument infix > > constructor, and leaving out the function arrows. Prolog notation does not > > have this problem as you could have: > > > > call(arrow(a, arrow(b, c)), d) > > > > Which has clear meaning, but the prefix notation is hard to read. > > > > so you have: > > > > a -> b -> c -> d > > > > For arity abstract functions and > > > > a b c => d > > > > The arrows between a b and c seem unnecedsary, but could be included for > > concrete arity. Nesting needs disambiguation, so some form of bracketing is > > necessary. If () are already in use then something like: > > > > {a b c}-> d > > "a b c->d" should be as unambiguous as "a b c=>d". Nested functions in > argument types need parens, that's all. > True, thats what I did before, just succeeded in confusing myself. Keean.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
