On 10/03/2013, at 1:58 PM, john skaller wrote:

> New rules implemented. The build works unmodified.
> Tests still running but most work.


> This is implemented and supposed to work but doesn't parse:
> 
> //////////////////////
> open class My
> {
>  union MyOpt[T] = | MyNone | MySome of T;
> }
> 
> proc showz (x:MyOpt[MyOpt[int]])
> {
>  match x with
>  | MySome (MySome a) => println$ "MySome (MySome "+str a+"))";
>  | MySome My::MyNone => println$ "MySome MyNone";
>  | MyNone => println$ "MyNone";
>  endmatch;
> }
> 
> 
> showz (MySome (MySome 22));
> showz (MySome MyNone[int]);
> showz (MyNone[MyOpt[int]]);
> //////////////////////

Rule change. Qualified constructor names are banned.
Reason: we always know the union type within which
to find the constructor. So the qualification is useless.


--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to