ddc-core-0.4.3.1: DDC/Core/Check/Context.hs
module DDC.Core.Check.Context
(
-- * Type Checker Mode.
Mode (..)
-- * Positions in the Context.
, Pos (..)
-- * Roles of Type Variable.
, Role (..)
-- * Existentials
, Exists (..)
, typeOfExists
, takeExists
, slurpExists
-- * Context Elements.
, Elem (..)
-- * Checker Context.
, Context (..)
-- * Construction
, emptyContext
, contextOfEnvT
, contextOfEnvX
, contextOfPrimEnvs
-- * Projection
, contextEquations
, contextCapabilities
, contextDataDefs
, contextEnvT
-- * Pushing
, pushType, pushTypes
, pushKind, pushKinds
, pushExists, pushExistsBefore, pushExistsScope
-- * Marking
, markContext
-- * Popping
, popToPos
-- * Lookup
, lookupType
, lookupKind
, lookupExistsEq
-- * Membership
, memberType
, memberKind
, memberKindBind
-- * Existentials
, locationOfExists
, updateExists
-- * Lifting and Lowering
, liftTypes
, lowerTypes
-- * Applying
, applyContextEither
, applySolvedEither
-- * Effects
, effectSupported)
where
import DDC.Core.Check.Context.Effect
import DDC.Core.Check.Context.Apply
import DDC.Core.Check.Context.Elem
import DDC.Core.Check.Context.Mode
import DDC.Core.Check.Context.Base