summaryrefslogtreecommitdiff
path: root/src/Obs/NormalForm.idr
diff options
context:
space:
mode:
authorGreg Brown <greg.brown01@ed.ac.uk>2023-01-07 21:10:30 +0000
committerGreg Brown <greg.brown01@ed.ac.uk>2023-01-07 21:58:30 +0000
commitff65d1e285a97295708899bebdcc83ec214cd347 (patch)
tree7a786ef895ff2dea0ba31b3c7cd7397024214a10 /src/Obs/NormalForm.idr
parentf38761fd38207a6d9a6cc2134384cb7115a5e998 (diff)
Add containers types.
Containers are syntactic sugar. They are also completely untested.
Diffstat (limited to 'src/Obs/NormalForm.idr')
-rw-r--r--src/Obs/NormalForm.idr9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Obs/NormalForm.idr b/src/Obs/NormalForm.idr
index 0b9d2b6..b4b9f94 100644
--- a/src/Obs/NormalForm.idr
+++ b/src/Obs/NormalForm.idr
@@ -2,6 +2,7 @@ module Obs.NormalForm
import Data.List.Elem
+import Obs.Logging
import Obs.Pretty
import Obs.Substitution
import Obs.Universe
@@ -265,3 +266,11 @@ PointedRename Relevance (\r => Maybe String) NormalForm where
point {s = Irrelevant} _ _ = Irrel
point {s = Relevant} var i =
Ntrl (Var {var = maybe "" id var, i})
+
+-- Useful Constructors ---------------------------------------------------------
+
+public export
+record ContainerTy (ctx : List Relevance) where
+ constructor MkContainerTy
+ inputSort, shapeSort, positionSort, outputSort : Universe
+ input, output : TypeNormalForm ctx