diff options
Diffstat (limited to 'test.toc')
-rw-r--r-- | test.toc | 26 |
1 files changed, 13 insertions, 13 deletions
@@ -1,21 +1,21 @@ -puti @= fn(x: int) { +puti ::= fn(x: int) { #C("printf(\"%ld\\n\", (long)x); "); }; -// putf @= fn(x: float) { +// putf ::= fn(x: float) { // #C("printf(\"%f\\n\", (double)x); // "); // }; -Arr @= fn (t @ Type) Type { +Arr ::= fn (t :: Type) Type { struct { data : []t; len, cap : int; } }; -// todo: test that t @ type doesn't cause problems -arr_add @= fn(t @ Type, a : &Arr(t), x : t) { +// todo: test that t :: type doesn't cause problems +arr_add ::= fn(t :: Type, a : &Arr(t), x : t) { if a.len >= a.cap { a.cap = a.cap * 2 + 2; new_data := new(t, a.cap); @@ -30,24 +30,24 @@ arr_add @= fn(t @ Type, a : &Arr(t), x : t) { -main @= fn() { +main ::= fn() { arr : Arr(int); - arr_add(int, &arr, 5); - arr_add(int, &arr, 10); - arr_add(int, &arr, 20); + each i := 1..100 { + arr_add(int, &arr, i*i); + } each i := 0..arr.len - 1 { puti(arr.data[i]); } }; -// t @= fn(x @ Type) Type { struct { t: x; } }; +// t ::= fn(x :: Type) Type { struct { t: x; } }; // // pass the wrong thing to t, and the error is in the wrong place -// f @= fn(x: t(int)) {}; +// f ::= fn(x: t(int)) {}; -// f @= fn(t @ Type, x : t) { +// f ::= fn(t :: Type, x : t) { // }; -// main @= fn() { +// main ::= fn() { // f(int,3); // };
\ No newline at end of file |