blob: 75bdad5e41ee7164f37a29d2c5b8efcab88827bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
io ::= nms {
#include "std/io.toc";
};
ll ::= struct {
head : int;
tail : ≪
};
slice_to_ll ::= fn(x: []int) l: ll {
if x.len == 1 {
l.head = x[0];
l.tail = 0 as ≪
return;
}
l.head = x[0];
l.tail = new(ll);
*l.tail = slice_to_ll(x[1:]);
};
main ::= fn() {
a : []int = new(int,3);
a[0] = 1;
a[1] = 2;
a[2] = 3;
l : ll = slice_to_ll(a);
io.puti(l.tail.tail.head);
};
|