← Back

Modules

Leios

  • Abstract
  • Base
  • Blocks
  • Config
  • Defaults
  • FFD
  • Foreign.BaseTypes
  • Foreign.HsTypes
  • Foreign.Types
  • Foreign.Util
  • KeyRegistration
  • Network
  • Prelude
  • Protocol
  • Short
  • Short.Decidable
  • Short.Trace.Verifier
  • Short.Trace.Verifier.Test
  • Simplified
  • Simplified.Deterministic
  • SpecStructure
  • Traces
  • Voting
  • VRF
123456789101112131415161718192021222324252627282930313233343536373839404142434445
------------------------------------------------------------------------
-- The Agda standard library
--
-- The TC (Type Checking) monad
------------------------------------------------------------------------
 
{-# OPTIONS --cubical-compatible --safe #-}
 
module Reflection.TCM where
 
import Agda.Builtin.Reflection as Builtin
 
open import Reflection.AST.Term
import Reflection.TCM.Format as Format
 
------------------------------------------------------------------------
-- Type errors
 
open Builtin public
using (ErrorPart; strErr; termErr; nameErr)
 
------------------------------------------------------------------------
-- The monad
 
open Builtin public
using
( TC; bindTC; unify; typeError; inferType; checkType
; normalise; reduce
; catchTC; quoteTC; unquoteTC
; getContext; extendContext; inContext; freshName
; declareDef; declarePostulate; defineFun; getType; getDefinition
; blockOnMeta; commitTC; isMacro; withNormalisation
; debugPrint; noConstraints; runSpeculative
; Blocker; blockerMeta; blockerAny; blockerAll; blockTC
)
renaming (returnTC to pure)
 
open Format public
using (typeErrorFmt; debugPrintFmt; errorPartFmt)
 
------------------------------------------------------------------------
-- Utility functions
 
newMeta : Type → TC Term
newMeta = checkType unknown