Safe Haskell | None |
---|---|
Language | Haskell98 |
- data ElabMode
- data ElabResult = ElabResult {
- resultTerm :: Term
- resultMetavars :: [(Name, (Int, Maybe Name, Type))]
- resultCaseDecls :: [PDecl]
- resultContext :: Context
- resultTyDecls :: [RDeclInstructions]
- resultHighlighting :: [(FC, OutputAnnotation)]
- build :: IState -> ElabInfo -> ElabMode -> FnOpts -> Name -> PTerm -> ElabD ElabResult
- buildTC :: IState -> ElabInfo -> ElabMode -> FnOpts -> Name -> PTerm -> ElabD ElabResult
- getUnmatchable :: Context -> Name -> [Bool]
- data ElabCtxt = ElabCtxt {}
- initElabCtxt :: ElabCtxt
- goal_polymorphic :: ElabD Bool
- elab :: IState -> ElabInfo -> ElabMode -> FnOpts -> Name -> PTerm -> ElabD ()
- pruneAlt :: [PTerm] -> [PTerm]
- pruneByType :: [Name] -> Term -> Context -> [PTerm] -> [PTerm]
- findHighlight :: Name -> ElabD OutputAnnotation
- findInstances :: IState -> Term -> [Name]
- solveAuto :: IState -> Name -> Bool -> Name -> ElabD ()
- solveAutos :: IState -> Name -> Bool -> ElabD ()
- trivial' :: IState -> ElabD ()
- trivialHoles' :: [(Name, Int)] -> IState -> ElabD ()
- proofSearch' :: IState -> Bool -> Bool -> Int -> Bool -> Maybe Name -> Name -> [Name] -> StateT (ElabState EState) TC ()
- resolveTC :: Bool -> Bool -> Int -> Term -> Name -> IState -> ElabD ()
- resTC' :: (Num a, Eq a) => [TT Name] -> Bool -> [Name] -> a -> Term -> Name -> IState -> StateT (ElabState EState) TC ()
- collectDeferred :: Maybe Name -> [Name] -> Context -> Term -> State [(Name, (Int, Maybe Name, Type))] Term
- case_ :: Bool -> Bool -> IState -> Name -> PTerm -> ElabD ()
- runTactical :: IState -> FC -> Env -> Term -> ElabD ()
- runTac :: Bool -> IState -> Maybe FC -> Name -> PTactic -> ElabD ()
- elaboratingArgErr :: [(Name, Name)] -> Err -> Err
- withErrorReflection :: Idris a -> Idris a
- solveAll :: Elab' aux ()
- processTacticDecls :: ElabInfo -> [RDeclInstructions] -> Idris ()
Documentation
data ElabResult Source
ElabResult | |
|
getUnmatchable :: Context -> Name -> [Bool] Source
elab :: IState -> ElabInfo -> ElabMode -> FnOpts -> Name -> PTerm -> ElabD () Source
Returns the set of declarations we need to add to complete the definition (most likely case blocks to elaborate) as well as declarations resulting from user tactic scripts (%runElab)
findHighlight :: Name -> ElabD OutputAnnotation Source
Use the local elab context to work out the highlighting for a name
findInstances :: IState -> Term -> [Name] Source
Find the names of instances that have been designeated for searching (i.e. non-named instances or instances from Elab scripts)
proofSearch' :: IState -> Bool -> Bool -> Int -> Bool -> Maybe Name -> Name -> [Name] -> StateT (ElabState EState) TC () Source
:: Bool | using default Int |
-> Bool | allow metavariables in the goal |
-> Int | depth |
-> Term | top level goal, for error messages |
-> Name | top level function name, to prevent loops |
-> IState | |
-> ElabD () |
Resolve type classes. This will only pick up normal
instances, never
named instances (which is enforced by findInstances
).
resTC' :: (Num a, Eq a) => [TT Name] -> Bool -> [Name] -> a -> Term -> Name -> IState -> StateT (ElabState EState) TC () Source
collectDeferred :: Maybe Name -> [Name] -> Context -> Term -> State [(Name, (Int, Maybe Name, Type))] Term Source
withErrorReflection :: Idris a -> Idris a Source
processTacticDecls :: ElabInfo -> [RDeclInstructions] -> Idris () Source
Do the left-over work after creating declarations in reflected elaborator scripts