|
@@ -13,6 +13,16 @@ import library "prelude";
|
|
|
// TODO: Consider rewriting using native support once library support exists.
|
|
// TODO: Consider rewriting using native support once library support exists.
|
|
|
fn Print(x: i32) = "print.int";
|
|
fn Print(x: i32) = "print.int";
|
|
|
fn PrintChar(x: char) -> i32 = "print.char";
|
|
fn PrintChar(x: char) -> i32 = "print.char";
|
|
|
|
|
+
|
|
|
|
|
+fn PrintStr(msg: str) {
|
|
|
|
|
+ let size: i64 = msg.Size() as i64;
|
|
|
|
|
+ var i: i64 = 0;
|
|
|
|
|
+ while (i < size) {
|
|
|
|
|
+ PrintChar(msg[i]);
|
|
|
|
|
+ ++i;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// TODO: Return an `Optional(char)` instead of `i32`.
|
|
// TODO: Return an `Optional(char)` instead of `i32`.
|
|
|
fn ReadChar() -> i32 = "read.char";
|
|
fn ReadChar() -> i32 = "read.char";
|
|
|
|
|
|