Agda-2.5.2: A dependently typed functional programming language and proof assistant

Safe Haskell | None
Language | Haskell2010

Agda.TypeChecking.Level

Synopsis

- data LevelKit = LevelKit {
  - lvlType :: Term
  - lvlSuc :: Term -> Term
  - lvlMax :: Term -> Term -> Term
  - lvlZero :: Term
  - typeName :: QName
  - sucName :: QName
  - maxName :: QName
  - zeroName :: QName
  }
- levelType :: TCM Type
- levelSucFunction :: TCM (Term -> Term)
- builtinLevelKit :: HasBuiltins m => m LevelKit
- requireLevels :: TCM LevelKit
- unLevel :: HasBuiltins m => Term -> m Term
- reallyUnLevelView :: HasBuiltins m => Level -> m Term
- unlevelWithKit :: LevelKit -> Level -> Term
- unPlusV :: Term -> (Term -> Term) -> PlusLevel -> Term
- maybePrimCon :: TCM Term -> TCM (Maybe ConHead)
- maybePrimDef :: TCM Term -> TCM (Maybe QName)
- levelView :: Term -> TCM Level
- levelView' :: Term -> ReduceM Level
- levelLub :: Level -> Level -> Level
- subLevel :: Integer -> Level -> Maybe Level

# Documentation

data LevelKit #

Constructors

LevelKit |
Fields lvlType :: Term lvlSuc :: Term -> Term lvlMax :: Term -> Term -> Term lvlZero :: Term typeName :: QName sucName :: QName maxName :: QName zeroName :: QName

levelType :: TCM Type #

Get the `primLevel` as a `Type`.

levelSucFunction :: TCM (Term -> Term) #

builtinLevelKit :: HasBuiltins m => m LevelKit #

requireLevels :: TCM LevelKit #

Raises an error if no level kit is available.

unLevel :: HasBuiltins m => Term -> m Term #

reallyUnLevelView :: HasBuiltins m => Level -> m Term #

unlevelWithKit :: LevelKit -> Level -> Term #

unPlusV :: Term -> (Term -> Term) -> PlusLevel -> Term #

maybePrimCon :: TCM Term -> TCM (Maybe ConHead) #

maybePrimDef :: TCM Term -> TCM (Maybe QName) #

levelView :: Term -> TCM Level #

levelView' :: Term -> ReduceM Level #

levelLub :: Level -> Level -> Level #

subLevel :: Integer -> Level -> Maybe Level #