Agda
Safe HaskellNone
LanguageHaskell2010

Agda.Mimer.Monad

Synopsis

Documentation

Agda internals

allOpenMetas :: (AllMetas t, ReadTCState tcm) => t -> tcm [MetaId] Source #

endsInLevelTester :: TCM (Type -> Bool) Source #

Is an element of the given type computing a level?

The returned checker is only sound but not complete because the type is taken as-is rather than being reduced.

getEverythingInScope :: MetaVariable -> [QName] Source #

From the scope of the given meta variable, extract all names in scope that we could use during synthesis. (This excludes macros, generalizable variables, pattern synonyms.)

Components

collectComponents :: Options -> Costs -> InteractionId -> Maybe QName -> [QName] -> MetaId -> TCM BaseComponents Source #

NOTE: Collects components from the *current* context, not the context of the InteractionId.

getLetVars :: (MonadFresh CompId tcm, MonadTCM tcm, Monad tcm) => Cost -> tcm [Open Component] Source #

Turn the let bindings of the current TCEnv into components.

collectLHSVars :: (ReadTCState tcm, MonadError TCErr tcm, MonadTCM tcm, HasConstInfo tcm) => InteractionId -> tcm (Open [(Term, Maybe Int)]) Source #

Returns the variables as terms together with whether they where found under some constructor, and if so which argument of the function they appeared in. This information is used when building recursive calls, where it's important that we don't try to construct non-terminating solutions.

applyToMetasG Source #

Arguments

:: Maybe Nat

Max number of arguments to apply.

-> Component 
-> SM Component 

Search branches

inGoalEnv :: Goal -> SM a -> SM a Source #

Search options

Unification

Debugging

Stats

bench :: NFData a => [Phase] -> SM a -> SM a Source #