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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language