summaryrefslogtreecommitdiff
path: root/src/AST.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/AST.hs')
-rw-r--r--src/AST.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/AST.hs b/src/AST.hs
index 652d003..9161956 100644
--- a/src/AST.hs
+++ b/src/AST.hs
@@ -127,6 +127,7 @@ data SOp a t where
OExp :: ScalIsFloating a ~ True => SScalTy a -> SOp (TScal a) (TScal a)
OLog :: ScalIsFloating a ~ True => SScalTy a -> SOp (TScal a) (TScal a)
OIDiv :: ScalIsIntegral a ~ True => SScalTy a -> SOp (TPair (TScal a) (TScal a)) (TScal a)
+ OMod :: ScalIsIntegral a ~ True => SScalTy a -> SOp (TPair (TScal a) (TScal a)) (TScal a)
deriving instance Show (SOp a t)
opt1 :: SOp a t -> STy a
@@ -147,6 +148,7 @@ opt1 = \case
OExp t -> STScal t
OLog t -> STScal t
OIDiv t -> STPair (STScal t) (STScal t)
+ OMod t -> STPair (STScal t) (STScal t)
opt2 :: SOp a t -> STy t
opt2 = \case
@@ -166,6 +168,7 @@ opt2 = \case
OExp t -> STScal t
OLog t -> STScal t
OIDiv t -> STScal t
+ OMod t -> STScal t
typeOf :: Expr x env t -> STy t
typeOf = \case