aboutsummaryrefslogtreecommitdiff
path: root/kernel/output/print.dats
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/output/print.dats')
-rw-r--r--kernel/output/print.dats10
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/output/print.dats b/kernel/output/print.dats
index 22fe575..9b5def0 100644
--- a/kernel/output/print.dats
+++ b/kernel/output/print.dats
@@ -2,14 +2,20 @@
#define ATS_DYNLOADFLAG 0
+
staload "kernel/output/writer.sats"
+staload "kernel/itoa.dats"
extern fun print_newline() : void
-implement print_newline() : void = put_string("\n")
+implement print_newline() = put_string("\n")
extern fun assert_errmsg(b: bool, msg: string) : void
-implement assert_errmsg(b: bool, msg: string) : void = put_string(msg)
+implement assert_errmsg(b,msg) = if (~b) then put_string(msg)
+extern fun print_int {n : nat | n > 0} (n : int n) : void
+implement print_int(n) = put_string(itoa(n,10))
+
overload print with put_string of 1
+overload print with print_int of 1
macdef assertloc(tf) = assert_errmsg (,(tf), $mylocation)