stdout :: &u8 = #foreign "stdout"; fwrite :: fn(&u8, u64, u64, &u8) = #foreign "fwrite"; puts ::= fn(x : []char) { fwrite(&x[0] as &u8 as &u16 as &u8, 1, x.len as u64, stdout); }; main ::= fn() { puts("Hello, world!\n"); };