summaryrefslogtreecommitdiff
path: root/test.toc
diff options
context:
space:
mode:
Diffstat (limited to 'test.toc')
-rw-r--r--test.toc31
1 files changed, 24 insertions, 7 deletions
diff --git a/test.toc b/test.toc
index b4f3632..2eb2814 100644
--- a/test.toc
+++ b/test.toc
@@ -1,17 +1,34 @@
-arr_sum ::= fn(n::=, t::=, a:[n]t) t {
+/*
+#include "std/io.toc", io;
+#include "std/arr.toc", arr;
+
+arr_sum ::= fn(n::=, t::=, a:arr.Arr(t)) t {
total := 0 as t;
- for x := a {
+ for x := a.data {
total += x;
}
total
};
-mk_arr ::= fn(x:int, y:int, z:int) a:[3]int {
- a[0] = x;
- a[1] = y;
- a[2] = z;
+mk_arr ::= fn(x:int, y:int, z:int) a:arr.Arr(int) {
+ arr.add(&a, x);
+ arr.add(&a, y);
+ arr.add(&a, z);
+};
+
+main ::= fn() {
+ a := mk_arr(1,2,3);
+ io.puti(arr.len(a));
+ io.puti(arr_sum(a));
+};
+*/
+
+foo ::= fn(x::int) Type {
+ struct {
+ a: [x]int;
+ }
};
main ::= fn() {
- arr_sum(mk_arr(1,2,3));
+ f: foo(5);
}; \ No newline at end of file