Exemple #1
0
        public static Expr Map(this Expr expr, Func <Expr, Expr> f)
        {
            Debug.Assert(f != null);

            if (expr == null)
            {
                return(f(null));
            }

            Expr result = null;
            Expr tail   = null;

            foreach (Expr item in expr.ToEnumerable())
            {
                Expr mappedItem = f(item);
                ExprFactory.AppendItemToList(mappedItem, ref result, ref tail);
            }
            return(result);
        }