module PrependAll;
// def List append(List l1, List l2) =
// case l1 {
// Nil => l2;
// Cons(x,xs) => Cons(x, append(xs, l2));
// };
// def List> prependAll(List xs, List> ys) = map((List s) => append(xs,s))(ys);
// let rec append xs ys =
// match xs with
// | [] -> ys
// | x :: xs' -> x :: (append xs' ys)
// ;;
def List append(List xs, List ys) =
case xs {
Nil => ys;
Cons(x,xsP) => Cons(x, append(xsP, ys));
};
def List> prependAll(List xs, List> ys) = map((List bs) => append(xs,bs))(ys);
def List> start(List xs, List> ys) = prependAll(xs,ys);
{
}