|
|
- {-# LANGUAGE ConstraintKinds #-}
- {-# LANGUAGE KindSignatures #-}
- module Elab.WiredIn (wiType, wiValue, iand, ior, inot, ielim, incS, outS, comp, fill, hComp, glueType, glueElem, unglue, fun, system, strictK, strictJ, projIntoCase) where
-
- import Syntax
- import Debug (DebugCallStack)
-
- wiType :: WiredIn -> NFType
- wiValue :: WiredIn -> NFType
-
- iand, ior :: NFEndp -> NFEndp -> NFEndp
- inot :: NFEndp -> NFEndp
- ielim :: NFSort -> Value -> Value -> Value -> NFEndp -> Value
-
- incS :: DebugCallStack => NFSort -> NFEndp -> Value -> Value
- outS :: DebugCallStack => NFSort -> NFEndp -> Value -> Value -> Value
- comp :: DebugCallStack => NFLine -> NFEndp -> Value -> Value -> Value
- fill :: DebugCallStack => NFLine -> NFEndp -> Value -> Value -> Value -> Value
- hComp :: DebugCallStack => NFSort -> NFEndp -> Value -> Value -> Value
-
- glueType :: DebugCallStack => NFSort -> NFEndp -> NFPartial -> NFPartial -> Value
- glueElem :: DebugCallStack => NFSort -> NFEndp -> NFPartial -> NFPartial -> NFPartial -> Value -> Value
- unglue :: DebugCallStack => NFSort -> NFEndp -> NFPartial -> NFPartial -> Value -> Value
-
- fun :: (Value -> Value) -> Value
- system :: (Value -> Value -> Value) -> Value
-
- strictK :: DebugCallStack => NFSort -> Value -> NFSort -> Value -> Value -> Value
- strictJ :: DebugCallStack => NFSort -> Value -> NFSort -> Value -> Value -> Value -> Value
-
- projIntoCase :: (Term -> Term) -> (Term, Int, Term) -> (Term, Int, Term)
|