ivory-0.1.0.0: src/Ivory/Language/Assert.hs
{-# LANGUAGE ScopedTypeVariables #-}
module Ivory.Language.Assert where
import Ivory.Language.Monad
import Ivory.Language.Type
import qualified Ivory.Language.Syntax as AST
assert :: forall a eff. IvoryExpr a => a -> Ivory eff ()
assert e = emit (AST.Assert (unwrapExpr e))
compilerAssert :: forall a eff. IvoryExpr a => a -> Ivory eff ()
compilerAssert e = emit (AST.CompilerAssert (unwrapExpr e))
assume :: forall a eff. IvoryExpr a => a -> Ivory eff ()
assume e = emit (AST.Assume (unwrapExpr e))