Modules and FFI¶
Modules: realm¶
Imports: bring¶
bring "std.fs";
bring "std.os";
craft main() -> void {
make f = fs.open_file("x.txt", "r");
os.run("echo hello");
send;
}
C FFI: extern craft¶
Call C library functions:
extern craft fopen(path: str, mode: str) -> link void;
extern craft fclose(stream: link void) -> i32;
craft main() -> void {
make f = fopen("data.txt", "r");
check (f != 0) {
fclose(f);
}
send;
}
Passing Structs¶
Structs are passed by value by default. Use link T for pointers when interfacing with C.