blob: cd6b553236fd43e004cbd6d5209402bd11765c49 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
const value = @import("../value.zig");
const Value = value.Value;
pub fn reverse(list: Value) Value {
return reverseWithTail(list, value.nil);
}
pub fn reverseWithTail(list: Value, tail: Value) Value {
var head = list;
var result = tail;
while (!value.nil.eq(head)) {
const p = value.pair.unpack(head);
result = value.pair.cons(p[0], result);
head = p[1];
}
return result;
}
|