summaryrefslogtreecommitdiff
path: root/transfer/lib/maybe.tr
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2005-11-30 16:00:06 +0000
committerbringert <bringert@cs.chalmers.se>2005-11-30 16:00:06 +0000
commitcba2fcb9b118cedb603b171ac7d7581c5adb844c (patch)
tree5f777207338134402d07486d334dcc764d933027 /transfer/lib/maybe.tr
parent86df2a69b149c1f4ff2cb9139447f5a6faccd483 (diff)
Moved transfer libraries to transfer/lib
Diffstat (limited to 'transfer/lib/maybe.tr')
-rw-r--r--transfer/lib/maybe.tr11
1 files changed, 11 insertions, 0 deletions
diff --git a/transfer/lib/maybe.tr b/transfer/lib/maybe.tr
new file mode 100644
index 000000000..02d7fe56d
--- /dev/null
+++ b/transfer/lib/maybe.tr
@@ -0,0 +1,11 @@
+data Maybe : Type -> Type where
+ Nothing : (A : Type) -> Maybe A
+ Just : (A : Type) -> A -> Maybe A
+
+fromMaybe : (A : Type) -> A -> Maybe A -> A
+fromMaybe _ x Nothing = x
+fromMaybe _ _ (Just x) = x
+
+maybe : (A : Type) -> (B : Type) -> B -> (A -> B) -> Maybe A -> A
+maybe _ _ x _ Nothing = x
+maybe _ _ _ f (Just x) = f x \ No newline at end of file