summaryrefslogtreecommitdiff
path: root/src/Obs/Abstract.idr
diff options
context:
space:
mode:
authorGreg Brown <greg.brown01@ed.ac.uk>2022-12-18 13:19:06 +0000
committerGreg Brown <greg.brown01@ed.ac.uk>2022-12-18 13:19:06 +0000
commit88b6df5dd91c062a96e646e6e6b0ac5fd57b7c03 (patch)
treee87c9a32740d6d9038156b1339737e93b9d617a3 /src/Obs/Abstract.idr
parent97f4dfe968f55e115f61ef43c37b8e7a16b6c3fd (diff)
Add False type.
Diffstat (limited to 'src/Obs/Abstract.idr')
-rw-r--r--src/Obs/Abstract.idr11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Obs/Abstract.idr b/src/Obs/Abstract.idr
index fe00621..1b72965 100644
--- a/src/Obs/Abstract.idr
+++ b/src/Obs/Abstract.idr
@@ -37,9 +37,14 @@ abstractSyntax ctx (Var b str) = do
let Just i = lookup str ctx
| Nothing => report b "unbound variable: \{str}"
pure (Var b i)
-abstractSyntax ctx (Sort b s) = pure (Sort b s)
-abstractSyntax ctx (Top b) = pure (Top b)
-abstractSyntax ctx (Point b) = pure (Point b)
+abstractSyntax ctx (Sort b s) = pure (Sort b s)
+abstractSyntax ctx (Top b) = pure (Top b)
+abstractSyntax ctx (Point b) = pure (Point b)
+abstractSyntax ctx (Bottom b) = pure (Bottom b)
+abstractSyntax ctx (Absurd b a t) = do
+ a <- abstractSyntax ctx a
+ t <- abstractSyntax ctx t
+ pure (Absurd b a t)
export
abstractDefinition : Context n -> Definition -> Error (Definition n)