[bitc-dev] Opinions wanted: Infix shift operators

Mark P. Jones mpj at cs.pdx.edu
Fri Aug 6 00:39:24 PDT 2010


> > Why not do like haskell and say
> >
> > S typevar typevar
> >
> > instead of S<typevar, typevar>?
> >
> > Like Either Integer String
> I'm very much in favor of the whitespace application syntax.
>  
> Because this isn't Haskell.
>  
> In the BitC use domain, it is important to be able to take full advantage of the native calling convention. Because of this, arity is part of type. That is, the types:
>  
>   int x int -> int
>   int -> int -> int
>  
> are not the same.
>  
> I would actually prefer to use the currying syntax myself, and if someone can show me how to make that work I think I would adopt it.

This seems to be confusing the syntax of the type language and the
syntax of the expression language.

I see your point at the value level: f(x,y) is not the same as
f x y.  But Either Integer String is a type expression; you are
supplying two arguments (Integer and String) to a two parameter
type constructor, Either.  This has nothing to do with native
calling conventions, just with the way that type expressions are
written/constructed.

All the best,
Mark

PS. Hoping to catch up on the type class discussions soon too ...




More information about the bitc-dev mailing list