Exemplo n.º 1
0
        static List <A> FromArray <A>(params A[] a)
        {
            List <A> l = new Nil <A>();

            for (int i = a.Length - 1; i >= 0; i--)
            {
                l = new Cons <A>(a[i], l);
            }
            return(l);
        }
Exemplo n.º 2
0
        bool Eq <List <A> > .Equals(List <A> a, List <A> b)
        {
            Nil <A> an = a as Nil <A>;

            if (an != null)
            {
                Nil <A> ab = b as Nil <A>;
                return(b != null);
            }
            ;
            Cons <A> ac = a as Cons <A>;

            if (ac != null)
            {
                Cons <A> bc = b as Cons <A>;
                return(bc != null && Overloads.Eq <EqA, A>(ac.h, bc.h) && Overloads.Eq <EqList <EqA, A>, List <A> >(ac.t, bc.t));
            }
            return(b == null);
        }