Source code on Github
{-# OPTIONS --cubical-compatible --safe #-}
module Reflection.TypeChecking.Monad where
open import Reflection.Term
import Agda.Builtin.Reflection as Builtin
import Reflection.TypeChecking.Format as Format
open Builtin public
using (ErrorPart; strErr; termErr; nameErr)
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)
renaming (returnTC to return)
open Format public
using (typeErrorFmt; debugPrintFmt; errorPartFmt)
newMeta : Type → TC Term
newMeta = checkType unknown