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

Reply via email to