I prefer the first option. Even though I consider Haskell my second
language, I still find the => hard to parse.


On Thu, Nov 11, 2010 at 2:25 PM, Jonathan S. Shapiro <[email protected]>wrote:

> I can't recall if I sent this already.
>
> I made a bad syntactic decision to move constraints to the right. This
> works okay for function definitions:
>
>   def f(x:'a)
>     where Eq('a)
>   {
>      ...
>   }
>
> but not so well for other cases:
>
>   def x:'a where IntLit('a) = 5
>
> so I'm moving it back to the left. For *types* we will certainly adopt the
> => convention:
>
>    _<_ : Ord('a) => fn ('a, 'a) -> bool
>
> for definitions, there are two options:
>
>   Option 1: Before the def, introduced by a keyword:
>
>   where Eq('a)
>   def f(x:'a) {
>     ...
>   }
>
>   Option 2: After the def, using =>:
>
>   def Eq('a) => f(x:'a) {
>   }
>
> I personally prefer the first option, because as constraint lists grow long
> the second syntax becomes hard to follow.
>
> So which option do people want?
>
> shap
>
> _______________________________________________
> bitc-dev mailing list
> [email protected]
> http://www.coyotos.org/mailman/listinfo/bitc-dev
>
>
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to