summaryrefslogtreecommitdiff
path: root/test.toc
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);
};