From 83cdb47a7ce5285b815e4c11b1b0151d79391f58 Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Thu, 26 May 2011 19:05:23 -0700 Subject: [PATCH] Add a list append function, which I didn't end up using, but why not add it? --- src/lib/list.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/lib/list.rs b/src/lib/list.rs index 885d65faf22..c1c915e3577 100644 --- a/src/lib/list.rs +++ b/src/lib/list.rs @@ -70,6 +70,20 @@ fn car[T](&list[T] ls) -> T { } } + +fn append[T](&list[T] l, &list[T] m) -> list[T] { + alt (l) { + case (nil[T]) { + ret m; + } + case (cons[T](?x, ?xs)) { + let list[T] rest = append[T](*xs, m); + ret cons[T](x, @rest); + } + } +} + + // Local Variables: // mode: rust; // fill-column: 78;