private Expression GenList(ListExpr elem) { Contract.Requires <ArgumentNullException>(elem != null); Contract.Ensures(Contract.Result <Expression>() != null); Expression tail = Expression.Constant(ListCell.Null); var elems = elem.Elements; foreach (var item in elem.Elements.Reverse()) { tail = Cons(GenElemCore(item), tail); } return(tail); }
private Expression GenList(ListExpr elem) { Contract.Requires<ArgumentNullException>(elem != null); Contract.Ensures(Contract.Result<Expression>() != null); Expression tail = Expression.Constant(ListCell.Null); var elems = elem.Elements; foreach (var item in elem.Elements.Reverse()) { tail = Cons(GenElemCore(item), tail); } return tail; }