fix some bugs

This commit is contained in:
nora 2023-12-15 17:28:00 +01:00
parent 01d4238269
commit 537c924a68
7 changed files with 47 additions and 11 deletions

21
std/list.nil Normal file
View file

@ -0,0 +1,21 @@
type List[T] = struct {
ptr: Int,
len: Int,
cap: Int,
};
function new(): List[Int] = (
List { ptr: 0, len: 0, cap: 0 }
);
function push(list: List[Int], elem: Int) = (
growIfNeeded(list, 1);
);
// PRIVATE:
function growIfNeeded(list: List[Int], elems: Int) = (
if (list.len + elems) < list.cap then (
let newMemory = std.rt.alloc.allocateItem(0_I32, 0_I32);
);
);

View file

@ -1,4 +1,5 @@
mod rt;
mod list;
function printlnI32(x: I32) = (
printI32(x);