示例#1
0
            internal MFist(Fist src, Funf fun)
            {
                switch (src)
                {
                case (var head, Nilf _):
                    this.Head = new Lazy <dynamic>(() =>
                    {
                        var h = call(fun, head);
                        return(h);
                    });
                    this.Tail = new Lazy <Fist>(() => nilf);
                    break;

                case var _:
                    this.Head = new Lazy <dynamic>(() =>
                    {
                        var h = call(fun, src.head);
                        return(h);
                    });
                    this.Tail = new Lazy <Fist>(() => new MFist(src.tail, fun));
                    break;
                }
            }
示例#2
0
 public static Fist create(Fist source, Funf predicate) => drop_until(source, predicate) switch
 {