aboutsummaryrefslogtreecommitdiff
path: root/lib/SATS/init.sats
diff options
context:
space:
mode:
authorXander <xander@biltopia.org>2023-07-28 21:38:35 +0200
committerXander <xander@biltopia.org>2023-07-28 21:38:35 +0200
commitb78762c92afee705e618f29f89897db8b45df3dd (patch)
tree90833dc90cd3b58ee84d19357fb1d945d40823ec /lib/SATS/init.sats
parentc6ad352a25b6b1d45e56090ccc0432d123b043bc (diff)
downloadats-os-b78762c92afee705e618f29f89897db8b45df3dd.tar.xz
ats-os-b78762c92afee705e618f29f89897db8b45df3dd.zip
optional implementation of multboot 1
Diffstat (limited to 'lib/SATS/init.sats')
-rw-r--r--lib/SATS/init.sats10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/SATS/init.sats b/lib/SATS/init.sats
index 676657b..8219de1 100644
--- a/lib/SATS/init.sats
+++ b/lib/SATS/init.sats
@@ -3,6 +3,12 @@ viewtypedef initializable (vt:viewt@ype) =
fun {vt:viewt@ype} uninitialized (v : opt(vt,false)): initializable vt
-fun {vt:viewt@ype} init_exec (x : &(initializable vt)):<!wrt> void
-fun {vt:viewt@ype} init_exec$fwork (v : &vt):<!wrt> void
+fun {vt:viewt@ype} exec_void (r: ref(initializable vt)):<!refwrt> void
+fun {vt:viewt@ype} exec_void$fwork (v : &vt):<!wrt> void
+
+fun {vt:viewt@ype} {a: t@ype} exec (r: ref(initializable vt), default: a):<!refwrt> a
+fun {vt:viewt@ype} {a: t@ype} exec$fwork (v : &vt, default: a):<!wrt> a
+
+fun {vt:viewt@ype} initialize (r: ref(initializable vt)):<!ref,!wrt> void
+fun {vt:viewt@ype} initialize$fwork (v: &vt? >> opt(vt,success)):<!wrt> #[success : bool] bool success