aboutsummaryrefslogtreecommitdiff
path: root/bwrap-files
diff options
context:
space:
mode:
Diffstat (limited to 'bwrap-files')
-rw-r--r--bwrap-files/workdir/initdefs.hs19
1 files changed, 19 insertions, 0 deletions
diff --git a/bwrap-files/workdir/initdefs.hs b/bwrap-files/workdir/initdefs.hs
new file mode 100644
index 0000000..7083fe0
--- /dev/null
+++ b/bwrap-files/workdir/initdefs.hs
@@ -0,0 +1,19 @@
+:{
+data Nat = Z | S Nat deriving (Show, Eq, Ord)
+
+instance Num Nat where
+ Z + n = n
+ S m + n = S (m + n)
+ Z * _ = Z
+ S m * n = n + m * n
+ negate _ = error "negate on Nat"
+ abs = id
+ signum Z = Z
+ signum _ = 1
+ fromInteger n
+ | n < 0 = error "fromInteger to Nat on negative number"
+ | otherwise =
+ let go 0 = Z
+ go m = S (go (m-1))
+ in go n
+:}