import ::= fn(x :: []char) &Package { p ::= pkg x; p_ptr ::= new(Package); *p_ptr = p; p_ptr }; cputs :: fn(&char) i32 = #foreign "puts", "libc.so.6"; puts ::= fn(s: []char) i32 { cstr := new(char, s.len + 1); each i := 0..s.len-1 { cstr[i] = s[i]; } cstr[s.len] = '\0'; ret := cputs(&cstr[0]); del(cstr); ret }; foo ::= fn() i32 { puts("Hi"); puts("Hello"); puts("Hey") }; main ::= fn() { x ::= foo(); };