aboutsummaryrefslogtreecommitdiff
path: root/kernel/prelude/DATS/print.dats
diff options
context:
space:
mode:
authorXander <xander@biltopia.org>2023-07-13 00:52:37 +0200
committerXander <xander@biltopia.org>2023-07-13 00:52:37 +0200
commit67245a7eebeb135427d50171fda7af58770afc6d (patch)
tree38378d0507ee79f8631134ec24f94cf9969bc6e8 /kernel/prelude/DATS/print.dats
parente02a7e790650b31b713dde5c39ad6172c048f571 (diff)
downloadats-os-67245a7eebeb135427d50171fda7af58770afc6d.tar.xz
ats-os-67245a7eebeb135427d50171fda7af58770afc6d.zip
Full restructure
Diffstat (limited to 'kernel/prelude/DATS/print.dats')
-rw-r--r--kernel/prelude/DATS/print.dats20
1 files changed, 20 insertions, 0 deletions
diff --git a/kernel/prelude/DATS/print.dats b/kernel/prelude/DATS/print.dats
new file mode 100644
index 0000000..5049a98
--- /dev/null
+++ b/kernel/prelude/DATS/print.dats
@@ -0,0 +1,20 @@
+#include "share/atspre_staload.hats"
+
+#define ATS_DYNLOADFLAG 0
+
+staload "lib/SATS/writer.sats"
+staload "lib/DATS/itoa.dats"
+
+extern fun print_newline() : void
+implement print_newline() = put_string("\n")
+
+extern fun assert_errmsg(b: bool, msg: string) : void
+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)