Esempio n. 1
0
 public static __std_core._list <A> VList <A>(A[] v, __std_core._list <A> tail)
 {
     __std_core._list <A> xs = tail;
     for (int i = v.Length - 1; i >= 0; i--)
     {
         xs = new __std_core._list <A>(v[i], xs);
     }
     return(xs);
 }
Esempio n. 2
0
    public static string ListToString(__std_core._list <int> xs)
    {
        StringBuilder sb = new StringBuilder();

        while (xs != __std_core._list <int> .Nil_)
        {
            sb.Append(CharToString(xs.head));
            xs = xs.tail;
        }
        return(sb.ToString());
    }
Esempio n. 3
0
 public static __std_core._list <int> StringToList(string s)
 {
     __std_core._list <int> xs = __std_core._list <int> .Nil_;
     for (int i = s.Length - 1; i >= 0; i--)
     {
         if (Char.IsLowSurrogate(s[i]) && i > 0)
         {
             i--;
         }
         xs = new __std_core._list <int>(Char.ConvertToUtf32(s, i), xs);
     }
     return(xs);
 }
Esempio n. 4
0
    public static A[] UnVList <A>(__std_core._list <A> xs)
    {
        int len = 0;

        __std_core._list <A> acc = xs;
        while (acc != __std_core._list <A> .Nil_)
        {
            len++;
            acc = acc.tail;
        }
        A[] v = new A[len];
        acc = xs;
        for (int i = 0; i < len; i++)
        {
            v[i] = acc.head;
            acc  = acc.tail;
        }
        return(v);
    }