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).
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. > Would work, but some brackets would seem to be needed (and familiar bracket > symbols are more readable than letters or other symbols). You could add the > other arrows back: > > {a -> b -> c} -> d > > But in general all this is superficial notation, the underlying structure > remains the same. > > Keean. > > On 21 Mar 2015 16:43, "Matt Oliveri" <[email protected]> wrote: ... _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
