Agda-2.5.2: A dependently typed functional programming language and proof assistant

Safe Haskell | None
Language | Haskell2010

Agda.Auto.Convert

# Documentation

norm :: Normalise t => t -> TCM t #

type O = (Maybe Int, QName) #

data TMode #

Constructors

TMAll |

Instances

Eq TMode # |
Methods (==) :: TMode -> TMode -> Bool # (/=) :: TMode -> TMode -> Bool #

type MapS a b = (Map a b, [a]) #

initMapS :: MapS a b #

popMapS :: (S -> (a, [b])) -> ((a, [b]) -> S -> S) -> TOM (Maybe b) #

data S #

Constructors

S |
Fields sConsts :: MapS QName (TMode, ConstRef O) sMetas :: MapS MetaId (Metavar (Exp O) (RefInfo O), Maybe (MExp O, [MExp O]), [MetaId]) sEqs :: MapS Int (Maybe (Bool, MExp O, MExp O)) sCurMeta :: Maybe MetaId sMainMeta :: MetaId

type TOM = StateT S TCM #

tomy :: MetaId -> [(Bool, QName)] -> [Type] -> TCM ([ConstRef O], [MExp O], Map MetaId (Metavar (Exp O) (RefInfo O), MExp O, [MExp O], [MetaId]), [(Bool, MExp O, MExp O)], Map QName (TMode, ConstRef O)) #

getConst :: Bool -> QName -> TMode -> TOM (ConstRef O) #

getdfv :: MetaId -> QName -> TCM Nat #

getMeta :: MetaId -> TOM (Metavar (Exp O) (RefInfo O)) #

getEqs :: TCM [(Bool, Term, Term)] #

copatternsNotImplemented :: TCM a #

tomyClauses :: [Clause] -> TOM [([Pat O], MExp O)] #

tomyClause :: Clause -> TOM (Maybe ([Pat O], MExp O)) #

tomyPat :: Arg Pattern -> TOM (Pat O) #

weaken :: Int -> MExp O -> MExp O #

weakens :: Int -> MArgList O -> MArgList O #

tomyType :: Type -> TOM (MExp O) #

tomyExp :: Term -> TOM (MExp O) #

tomyExps :: Args -> TOM (MM (ArgList O) (RefInfo O)) #

tomyIneq :: Comparison -> Bool #

fmType :: MetaId -> Type -> Bool #

fmExp :: MetaId -> Term -> Bool #

fmExps :: MetaId -> Args -> Bool #

fmLevel :: MetaId -> PlusLevel -> Bool #

cnvh :: LensHiding a => a -> FMode #

icnvh :: FMode -> ArgInfo #

frommy :: MExp O -> ExceptT String IO Term #

frommyType :: MExp O -> ExceptT String IO Type #

frommyExp :: MExp O -> ExceptT String IO Term #

frommyExps :: Nat -> MArgList O -> Term -> ExceptT String IO Term #

abslamvarname :: String #

modifyAbstractExpr :: Expr -> Expr #

modifyAbstractClause :: Clause -> Clause #

constructPats :: Map QName (TMode, ConstRef O) -> MetaId -> Clause -> TCM ([(FMode, MId)], [CSPat O]) #

frommyClause :: (CSCtx O, [CSPat O], Maybe (MExp O)) -> ExceptT String IO Clause #

contains_constructor :: [CSPat O] -> Bool #

freeIn :: Nat -> MExp o -> Bool #

negtype :: ConstRef o -> MExp o -> MExp o #

findClauseDeep :: InteractionId -> TCM (Maybe (QName, Clause, Bool)) #

matchType :: Int -> Int -> Type -> Type -> Maybe (Nat, Nat) #