Idris.Core.TT

idris-1.3.4: Functional Programming Language with Dependent Types

License | BSD3
Maintainer | The Idris Community.
Safe Haskell | None
Language | Haskell2010

Idris.Core.TT

Description

TT is the core language of Idris. The language has:

- Full dependent types
- A hierarchy of universes, with cumulativity: Type : Type1, Type1 : Type2, ...
- Pattern matching letrec binding
- (primitive types defined externally)

Some technical stuff:

- Typechecker is kept as simple as possible - no unification, just a checker for incomplete terms.
- We have a simple collection of tactics which we use to elaborate source programs with implicit syntax into fully explicit terms.

Synopsis

- data AppStatus n
  - = Complete
  - | MaybeHoles
  - | Holes [n]
- data ArithTy
  - = ATInt IntTy
  - | ATFloat
- data Binder b
  - = Lam {
    - binderCount :: RigCount
    - binderTy :: !b
    }
  - | Pi {
    - binderCount :: RigCount
    - binderImpl :: Maybe ImplicitInfo
    - binderTy :: !b
    - binderKind :: !b
    }
  - | Let {
    - binderCount :: RigCount
    - binderTy :: !b
    - binderVal :: b
    }
  - | NLet {
    - binderTy :: !b
    - binderVal :: b
    }
  - | Hole {
    - binderTy :: !b
    }
  - | GHole {
    - envlen :: Int
    - localnames :: [Name]
    - binderTy :: !b
    }
  - | Guess {
    - binderTy :: !b
    - binderVal :: b
    }
  - | PVar {
    - binderCount :: RigCount
    - binderTy :: !b
    }
  - | PVTy {
    - binderTy :: !b
    }
- data Const
  - = I Int
  - | BI Integer
  - | Fl Double
  - | Ch Char
  - | Str String
  - | B8 Word8
  - | B16 Word16
  - | B32 Word32
  - | B64 Word64
  - | AType ArithTy
  - | StrType
  - | WorldType
  - | TheWorld
  - | VoidType
  - | Forgot
- type Ctxt a = Map Name (Map Name a)
- data ConstraintFC = ConstraintFC {
  - uconstraint :: UConstraint
  - ufc :: FC
  }
- data DataOpt
  - = Codata
  - | DataErrRev
- type DataOpts = [DataOpt]
- data Datatype n = Data {
  - d_typename :: n
  - d_typetag :: Int
  - d_type :: TT n
  - d_unique :: Bool
  - d_cons :: [(n, TT n)]
  }
- type Env = EnvTT Name
- type EnvTT n = [(n, RigCount, Binder (TT n))]
- type Err = Err' Term
- data Err' t
  - = Msg String
  - | InternalMsg String
  - | CantUnify Bool (t, Maybe Provenance) (t, Maybe Provenance) (Err' t) [(Name, t)] Int
  - | InfiniteUnify Name t [(Name, t)]
  - | CantConvert t t [(Name, t)]
  - | CantSolveGoal t [(Name, t)]
  - | UnifyScope Name Name t [(Name, t)]
  - | CantInferType String
  - | NonFunctionType t t
  - | NotEquality t t
  - | TooManyArguments Name
  - | CantIntroduce t
  - | NoSuchVariable Name
  - | WithFnType t
  - | NoTypeDecl Name
  - | NotInjective t t t
  - | CantResolve Bool t (Err' t)
  - | InvalidTCArg Name t
  - | CantResolveAlts [Name]
  - | NoValidAlts [Name]
  - | IncompleteTerm t
  - | UniverseError FC UExp (Int, Int) (Int, Int) [ConstraintFC]
  - | UniqueError Universe Name
  - | UniqueKindError Universe Name
  - | ProgramLineComment
  - | Inaccessible Name
  - | UnknownImplicit Name Name
  - | CantMatch t
  - | NonCollapsiblePostulate Name
  - | AlreadyDefined Name
  - | ProofSearchFail (Err' t)
  - | NoRewriting t t t
  - | At FC (Err' t)
  - | Elaborating String Name (Maybe t) (Err' t)
  - | ElaboratingArg Name Name [(Name, Name)] (Err' t)
  - | ProviderError String
  - | LoadingFailed String (Err' t)
  - | ReflectionError [[ErrorReportPart]] (Err' t)
  - | ReflectionFailed String (Err' t)
  - | ElabScriptDebug [ErrorReportPart] t [(Name, t, [(Name, Binder t)])]
  - | ElabScriptStuck t
  - | RunningElabScript (Err' t)
  - | ElabScriptStaging Name
  - | FancyMsg [ErrorReportPart]
- data ErrorReportPart
  - = TextPart String
  - | NamePart Name
  - | TermPart Term
  - | RawPart Raw
  - | SubReport [ErrorReportPart]
- data FC
  - = FC {
    - _fc_fname :: String
    - _fc_start :: (Int, Int)
    - _fc_end :: (Int, Int)
    }
  - | NoFC
  - | FileFC {
    - _fc_fname :: String
    }
- newtype FC' = FC' {
  - unwrapFC :: FC
  }
- data ImplicitInfo = Impl {
  - tcimplementation :: Bool
  - toplevel_imp :: Bool
  - machine_gen :: Bool
  }
- data IntTy
  - = ITFixed NativeTy
  - | ITNative
  - | ITBig
  - | ITChar
- data Name
  - = UN !Text
  - | NS !Name [Text]
  - | MN !Int !Text
  - | SN !SpecialName
  - | SymRef Int
- data NameOutput
  - = TypeOutput
  - | FunOutput
  - | DataOutput
  - | MetavarOutput
  - | PostulateOutput
- data NameType
  - = Bound
  - | Ref
  - | DCon {
    - nt_tag :: Int
    - nt_arity :: Int
    - nt_unique :: Bool
    }
  - | TCon {
    - nt_tag :: Int
    - nt_arity :: Int
    }
- data NativeTy
  - = IT8
  - | IT16
  - | IT32
  - | IT64
- data OutputAnnotation
  - = AnnName Name (Maybe NameOutput) (Maybe String) (Maybe String)
  - | AnnBoundName Name Bool
  - | AnnConst Const
  - | AnnData String String
  - | AnnType String String
  - | AnnKeyword
  - | AnnFC FC
  - | AnnTextFmt TextFormatting
  - | AnnLink String
  - | AnnTerm [(Name, Bool)] (TT Name)
  - | AnnSearchResult Ordering
  - | AnnErr Err
  - | AnnNamespace [Text] (Maybe FilePath)
  - | AnnQuasiquote
  - | AnnAntiquote
  - | AnnSyntax String
- data Provenance
  - = ExpectedType
  - | TooManyArgs Term
  - | InferredVal
  - | GivenVal
  - | SourceTerm Term
- data Raw
  - = Var Name
  - | RBind Name (Binder Raw) Raw
  - | RApp Raw Raw
  - | RType
  - | RUType Universe
  - | RConstant Const
- data RigCount
  - = Rig0
  - | Rig1
  - | RigW
- data SpecialName
  - = WhereN !Int !Name !Name
  - | WithN !Int !Name
  - | ImplementationN !Name [Text]
  - | ParentN !Name !Text
  - | MethodN !Name
  - | CaseN !FC' !Name
  - | ImplementationCtorN !Name
  - | MetaN !Name !Name
- data TC a
  - = OK !a
  - | Error Err
- type Term = TT Name
- class TermSize a where
  - termsize :: Name -> a -> Int
- data TextFormatting
  - = BoldText
  - | ItalicText
  - | UnderlineText
- data TT n
  - = P NameType n (TT n)
  - | V !Int
  - | Bind n !(Binder (TT n)) (TT n)
  - | App (AppStatus n) !(TT n) (TT n)
  - | Constant Const
  - | Proj (TT n) !Int
  - | Erased
  - | Impossible
  - | Inferred (TT n)
  - | TType UExp
  - | UType Universe
- type Type = Term
- data TypeInfo = TI {
  - con_names :: [Name]
  - codata :: Bool
  - data_opts :: DataOpts
  - param_pos :: [Int]
  - mutual_types :: [Name]
  - linear_con :: Bool
  }
- data UConstraint
  - = ULT UExp UExp
  - | ULE UExp UExp
- type UCs = (Int, [UConstraint])
- data UExp
  - = UVar String Int
  - | UVal Int
- data Universe
  - = NullType
  - | UniqueType
  - | AllTypes
- addAlist :: [(Name, a)] -> Ctxt a -> Ctxt a
- addBinder :: TT n -> TT n
- addDef :: Name -> a -> Ctxt a -> Ctxt a
- allTTNames :: Eq n => TT n -> [n]
- arity :: TT n -> Int
- bindAll :: [(n, Binder (TT n))] -> TT n -> TT n
- bindingOf :: Name -> Bool -> Doc OutputAnnotation
- bindTyArgs :: (TT n -> Binder (TT n)) -> [(n, TT n)] -> TT n -> TT n
- caseName :: Name -> Bool
- constDocs :: Const -> String
- constIsType :: Const -> Bool
- deleteDefExact :: Name -> Ctxt a -> Ctxt a
- discard :: Monad m => m a -> m ()
- emptyContext :: Map k a
- emptyFC :: FC
- explicitNames :: TT n -> TT n
- fc_end :: FC -> (Int, Int)
- fc_fname :: FC -> String
- fc_start :: FC -> (Int, Int)
- fcIn :: FC -> FC -> Bool
- fileFC :: String -> FC
- finalise :: Eq n => TT n -> TT n
- fmapMB :: Monad m => (a -> m b) -> Binder a -> m (Binder b)
- forget :: TT Name -> Raw
- forgetEnv :: [Name] -> TT Name -> Raw
- freeNames :: Eq n => TT n -> [n]
- getArgTys :: TT n -> [(n, TT n)]
- getRetTy :: TT n -> TT n
- substRetTy :: TT n -> TT n
- implicitable :: Name -> Bool
- instantiate :: TT n -> TT n -> TT n
- internalNS :: String
- intTyName :: IntTy -> String
- isInjective :: TT n -> Bool
- isTypeConst :: Const -> Bool
- lookupCtxt :: Name -> Ctxt a -> [a]
- lookupCtxtExact :: Name -> Ctxt a -> Maybe a
- lookupCtxtName :: Name -> Ctxt a -> [(Name, a)]
- mapCtxt :: (a -> b) -> Ctxt a -> Ctxt b
- mkApp :: TT n -> [TT n] -> TT n
- nativeTyWidth :: NativeTy -> Int
- nextName :: Name -> Name
- noOccurrence :: Eq n => n -> TT n -> Bool
- nsroot :: Name -> Name
- occurrences :: Eq n => n -> TT n -> Int
- pEraseType :: TT n -> TT n
- pmap :: (t -> b) -> (t, t) -> (b, b)
- pprintRaw :: [Name] -> Raw -> Doc OutputAnnotation
- pprintTT :: [Name] -> TT Name -> Doc OutputAnnotation
- pprintTTClause :: [(Name, Type)] -> Term -> Term -> Doc OutputAnnotation
- prettyEnv :: Env -> Term -> Doc OutputAnnotation
- psubst :: Eq n => n -> TT n -> TT n -> TT n
- pToV :: Eq n => n -> TT n -> TT n
- pToVs :: Eq n => [n] -> TT n -> TT n
- pureTerm :: TT Name -> Bool
- raw_apply :: Raw -> [Raw] -> Raw
- raw_unapply :: Raw -> (Raw, [Raw])
- refsIn :: TT Name -> [Name]
- safeForget :: TT Name -> Maybe Raw
- safeForgetEnv :: [Name] -> TT Name -> Maybe Raw
- showCG :: Name -> String
- showEnv :: (Eq n, Show n) => EnvTT n -> TT n -> String
- showEnvDbg :: (Show a, Eq a) => [(a, RigCount, Binder (TT a))] -> TT a -> [Char]
- showSep :: String -> [String] -> String
- sImplementationN :: Name -> [String] -> SpecialName
- sMN :: Int -> String -> Name
- sNS :: Name -> [String] -> Name
- str :: Text -> String
- subst :: Eq n => n -> TT n -> TT n -> TT n
- substNames :: Eq n => [(n, TT n)] -> TT n -> TT n
- substTerm :: Eq n => TT n -> TT n -> TT n -> TT n
- substV :: TT n -> TT n -> TT n
- sUN :: String -> Name
- tcname :: Name -> Bool
- termSmallerThan :: Int -> Term -> Bool
- tfail :: Err -> TC a
- thead :: Text -> Char
- tnull :: Text -> Bool
- toAlist :: Ctxt a -> [(Name, a)]
- traceWhen :: Bool -> String -> a -> a
- txt :: String -> Text
- unApply :: TT n -> (TT n, [TT n])
- uniqueBinders :: [Name] -> TT Name -> TT Name
- uniqueName :: Name -> [Name] -> Name
- uniqueNameFrom :: [Name] -> [Name] -> Name
- uniqueNameSet :: Name -> Set Name -> Name
- unList :: Term -> Maybe [Term]
- updateDef :: Name -> (a -> a) -> Ctxt a -> Ctxt a
- vToP :: TT n -> TT n
- weakenTm :: Int -> TT n -> TT n
- rigPlus :: RigCount -> RigCount -> RigCount
- rigMult :: RigCount -> RigCount -> RigCount
- fstEnv :: (a, b, c) -> a
- rigEnv :: (a, b, c) -> b
- sndEnv :: (a, b, c) -> c
- lookupBinder :: Eq n => n -> EnvTT n -> Maybe (Binder (TT n))
- envBinders :: [(a, b1, b2)] -> [(a, b2)]
- envZero :: [(a, b, c)] -> [(a, RigCount, c)]

# Documentation

data AppStatus n #

Constructors

Complete |
MaybeHoles |
Holes [n] |

#### Instances

Instances details

Functor AppStatus # |
Instance details Defined in Idris.Core.TT Methods fmap :: (a -> b) -> AppStatus a -> AppStatus b # (<$) :: a -> AppStatus b -> AppStatus a #
ToJSON t => ToJSON (AppStatus t) # |
Instance details Defined in IRTS.Portable Methods toJSON :: AppStatus t -> Value # toEncoding :: AppStatus t -> Encoding # toJSONList :: [AppStatus t] -> Value # toEncodingList :: [AppStatus t] -> Encoding # omitField :: AppStatus t -> Bool #
NFData a => NFData (AppStatus a) # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: AppStatus a -> () #
Data n => Data (AppStatus n) # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AppStatus n -> c (AppStatus n) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AppStatus n) # toConstr :: AppStatus n -> Constr # dataTypeOf :: AppStatus n -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AppStatus n)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AppStatus n)) # gmapT :: (forall b. Data b => b -> b) -> AppStatus n -> AppStatus n # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AppStatus n -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AppStatus n -> r # gmapQ :: (forall d. Data d => d -> u) -> AppStatus n -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AppStatus n -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AppStatus n -> m (AppStatus n) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AppStatus n -> m (AppStatus n) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AppStatus n -> m (AppStatus n) #
Generic (AppStatus n) # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep (AppStatus n) |
Instance details Defined in Idris.Core.TT type Rep (AppStatus n) = D1 ('MetaData "AppStatus" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "Complete" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MaybeHoles" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Holes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [n]))))
Methods from :: AppStatus n -> Rep (AppStatus n) x # to :: Rep (AppStatus n) x -> AppStatus n #
Show n => Show (AppStatus n) # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> AppStatus n -> ShowS # show :: AppStatus n -> String # showList :: [AppStatus n] -> ShowS #
Eq n => Eq (AppStatus n) # |
Instance details Defined in Idris.Core.TT Methods (==) :: AppStatus n -> AppStatus n -> Bool # (/=) :: AppStatus n -> AppStatus n -> Bool #
Ord n => Ord (AppStatus n) # |
Instance details Defined in Idris.Core.TT Methods compare :: AppStatus n -> AppStatus n -> Ordering # (<) :: AppStatus n -> AppStatus n -> Bool # (<=) :: AppStatus n -> AppStatus n -> Bool # (>) :: AppStatus n -> AppStatus n -> Bool # (>=) :: AppStatus n -> AppStatus n -> Bool # max :: AppStatus n -> AppStatus n -> AppStatus n # min :: AppStatus n -> AppStatus n -> AppStatus n #
type Rep (AppStatus n) # |
Instance details Defined in Idris.Core.TT type Rep (AppStatus n) = D1 ('MetaData "AppStatus" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "Complete" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MaybeHoles" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Holes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [n]))))

data ArithTy #

Constructors

ATInt IntTy |
ATFloat |

#### Instances

Instances details

ToJSON ArithTy # |
Instance details Defined in IRTS.Portable Methods toJSON :: ArithTy -> Value # toEncoding :: ArithTy -> Encoding # toJSONList :: [ArithTy] -> Value # toEncodingList :: [ArithTy] -> Encoding # omitField :: ArithTy -> Bool #
NFData ArithTy # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: ArithTy -> () #
Data ArithTy # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArithTy -> c ArithTy # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArithTy # toConstr :: ArithTy -> Constr # dataTypeOf :: ArithTy -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArithTy) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArithTy) # gmapT :: (forall b. Data b => b -> b) -> ArithTy -> ArithTy # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArithTy -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArithTy -> r # gmapQ :: (forall d. Data d => d -> u) -> ArithTy -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ArithTy -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArithTy -> m ArithTy # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArithTy -> m ArithTy # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArithTy -> m ArithTy #
Generic ArithTy # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep ArithTy |
Instance details Defined in Idris.Core.TT type Rep ArithTy = D1 ('MetaData "ArithTy" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "ATInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntTy)) :+: C1 ('MetaCons "ATFloat" 'PrefixI 'False) (U1 :: Type -> Type))
Methods from :: ArithTy -> Rep ArithTy x # to :: Rep ArithTy x -> ArithTy #
Show ArithTy # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> ArithTy -> ShowS # show :: ArithTy -> String # showList :: [ArithTy] -> ShowS #
Eq ArithTy # |
Instance details Defined in Idris.Core.TT Methods (==) :: ArithTy -> ArithTy -> Bool # (/=) :: ArithTy -> ArithTy -> Bool #
Ord ArithTy # |
Instance details Defined in Idris.Core.TT Methods compare :: ArithTy -> ArithTy -> Ordering # (<) :: ArithTy -> ArithTy -> Bool # (<=) :: ArithTy -> ArithTy -> Bool # (>) :: ArithTy -> ArithTy -> Bool # (>=) :: ArithTy -> ArithTy -> Bool # max :: ArithTy -> ArithTy -> ArithTy # min :: ArithTy -> ArithTy -> ArithTy #
type Rep ArithTy # |
Instance details Defined in Idris.Core.TT type Rep ArithTy = D1 ('MetaData "ArithTy" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "ATInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IntTy)) :+: C1 ('MetaCons "ATFloat" 'PrefixI 'False) (U1 :: Type -> Type))

data Binder b #

All binding forms are represented in a uniform fashion. This type only represents the types of bindings (and their values, if any); the attached identifiers are part of the `Bind` constructor for the `TT` type.

Constructors

Lam |
Fields binderCount :: RigCount binderTy :: !b type annotation for bound variable
Pi | A binding that occurs in a function type expression, e.g. `(x:Int) -> ...` The `binderImpl` flag says whether it was a scoped implicit (i.e. forall bound) in the high level Idris, but otherwise has no relevance in TT.
Fields binderCount :: RigCount binderImpl :: Maybe ImplicitInfo binderTy :: !b type annotation for bound variable binderKind :: !b
Let |
Fields binderCount :: RigCount binderTy :: !b type annotation for bound variable binderVal :: b value for bound variable
NLet | NLet is an intermediate product in the evaluator that's used for temporarily naming locals during reduction. It won't occur outside the evaluator.
Fields binderTy :: !b type annotation for bound variable binderVal :: b value for bound variable
Hole | A hole in a term under construction in the elaborator. If this is not filled during elaboration, it is an error.
Fields binderTy :: !b type annotation for bound variable
GHole | A saved TT hole that will later be converted to a top-level Idris metavariable applied to all elements of its local environment.
Fields envlen :: Int localnames :: [Name] binderTy :: !b type annotation for bound variable
Guess | A provided value for a hole. It will later be substituted - the guess is to keep it computationally inert while working on other things if necessary.
Fields binderTy :: !b type annotation for bound variable binderVal :: b value for bound variable
PVar | A pattern variable (these are bound around terms that make up pattern-match clauses)
Fields binderCount :: RigCount binderTy :: !b type annotation for bound variable
PVTy | The type of a pattern binding
Fields binderTy :: !b type annotation for bound variable

#### Instances

Instances details

Functor Binder # |
Instance details Defined in Idris.Core.TT Methods fmap :: (a -> b) -> Binder a -> Binder b # (<$) :: a -> Binder b -> Binder a #
Foldable Binder # |
Instance details Defined in Idris.Core.TT Methods fold :: Monoid m => Binder m -> m # foldMap :: Monoid m => (a -> m) -> Binder a -> m # foldMap' :: Monoid m => (a -> m) -> Binder a -> m # foldr :: (a -> b -> b) -> b -> Binder a -> b # foldr' :: (a -> b -> b) -> b -> Binder a -> b # foldl :: (b -> a -> b) -> b -> Binder a -> b # foldl' :: (b -> a -> b) -> b -> Binder a -> b # foldr1 :: (a -> a -> a) -> Binder a -> a # foldl1 :: (a -> a -> a) -> Binder a -> a # toList :: Binder a -> [a] # null :: Binder a -> Bool # length :: Binder a -> Int # elem :: Eq a => a -> Binder a -> Bool # maximum :: Ord a => Binder a -> a # minimum :: Ord a => Binder a -> a # sum :: Num a => Binder a -> a # product :: Num a => Binder a -> a #
Traversable Binder # |
Instance details Defined in Idris.Core.TT Methods traverse :: Applicative f => (a -> f b) -> Binder a -> f (Binder b) # sequenceA :: Applicative f => Binder (f a) -> f (Binder a) # mapM :: Monad m => (a -> m b) -> Binder a -> m (Binder b) # sequence :: Monad m => Binder (m a) -> m (Binder a) #
ToJSON t => ToJSON (Binder t) # |
Instance details Defined in IRTS.Portable Methods toJSON :: Binder t -> Value # toEncoding :: Binder t -> Encoding # toJSONList :: [Binder t] -> Value # toEncodingList :: [Binder t] -> Encoding # omitField :: Binder t -> Bool #
Binary b => Binary (Binder b) # |
Instance details Defined in Idris.Core.Binary Methods put :: Binder b -> Put # get :: Get (Binder b) # putList :: [Binder b] -> Put #
NFData b => NFData (Binder b) # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Binder b -> () #
Data b => Data (Binder b) # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Binder b -> c (Binder b) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Binder b) # toConstr :: Binder b -> Constr # dataTypeOf :: Binder b -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Binder b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Binder b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> Binder b -> Binder b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Binder b -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Binder b -> r # gmapQ :: (forall d. Data d => d -> u) -> Binder b -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Binder b -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Binder b -> m (Binder b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Binder b -> m (Binder b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Binder b -> m (Binder b) #
Generic (Binder b) # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep (Binder b) |
Instance details Defined in Idris.Core.TT type Rep (Binder b) = D1 ('MetaData "Binder" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((C1 ('MetaCons "Lam" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RigCount) :*: S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)) :+: C1 ('MetaCons "Pi" 'PrefixI 'True) ((S1 ('MetaSel ('Just "binderCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RigCount) :*: S1 ('MetaSel ('Just "binderImpl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ImplicitInfo))) :*: (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b) :*: S1 ('MetaSel ('Just "binderKind") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)))) :+: (C1 ('MetaCons "Let" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RigCount) :*: (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b) :*: S1 ('MetaSel ('Just "binderVal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b))) :+: C1 ('MetaCons "NLet" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b) :*: S1 ('MetaSel ('Just "binderVal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))) :+: ((C1 ('MetaCons "Hole" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)) :+: C1 ('MetaCons "GHole" 'PrefixI 'True) (S1 ('MetaSel ('Just "envlen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "localnames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)))) :+: (C1 ('MetaCons "Guess" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b) :*: S1 ('MetaSel ('Just "binderVal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :+: (C1 ('MetaCons "PVar" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RigCount) :*: S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)) :+: C1 ('MetaCons "PVTy" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b))))))
Methods from :: Binder b -> Rep (Binder b) x # to :: Rep (Binder b) x -> Binder b #
Show b => Show (Binder b) # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Binder b -> ShowS # show :: Binder b -> String # showList :: [Binder b] -> ShowS #
Eq b => Eq (Binder b) # |
Instance details Defined in Idris.Core.TT Methods (==) :: Binder b -> Binder b -> Bool # (/=) :: Binder b -> Binder b -> Bool #
Ord b => Ord (Binder b) # |
Instance details Defined in Idris.Core.TT Methods compare :: Binder b -> Binder b -> Ordering # (<) :: Binder b -> Binder b -> Bool # (<=) :: Binder b -> Binder b -> Bool # (>) :: Binder b -> Binder b -> Bool # (>=) :: Binder b -> Binder b -> Bool # max :: Binder b -> Binder b -> Binder b # min :: Binder b -> Binder b -> Binder b #
type Rep (Binder b) # |
Instance details Defined in Idris.Core.TT type Rep (Binder b) = D1 ('MetaData "Binder" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((C1 ('MetaCons "Lam" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RigCount) :*: S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)) :+: C1 ('MetaCons "Pi" 'PrefixI 'True) ((S1 ('MetaSel ('Just "binderCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RigCount) :*: S1 ('MetaSel ('Just "binderImpl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ImplicitInfo))) :*: (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b) :*: S1 ('MetaSel ('Just "binderKind") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)))) :+: (C1 ('MetaCons "Let" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RigCount) :*: (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b) :*: S1 ('MetaSel ('Just "binderVal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b))) :+: C1 ('MetaCons "NLet" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b) :*: S1 ('MetaSel ('Just "binderVal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))) :+: ((C1 ('MetaCons "Hole" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)) :+: C1 ('MetaCons "GHole" 'PrefixI 'True) (S1 ('MetaSel ('Just "envlen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "localnames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)))) :+: (C1 ('MetaCons "Guess" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b) :*: S1 ('MetaSel ('Just "binderVal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)) :+: (C1 ('MetaCons "PVar" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RigCount) :*: S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b)) :+: C1 ('MetaCons "PVTy" 'PrefixI 'True) (S1 ('MetaSel ('Just "binderTy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 b))))))

data Const #

Constructors

I Int |
BI Integer |
Fl Double |
Ch Char |
Str String |
B8 Word8 |
B16 Word16 |
B32 Word32 |
B64 Word64 |
AType ArithTy |
StrType |
WorldType |
TheWorld |
VoidType |
Forgot |

#### Instances

Instances details

ToJSON Const # |
Instance details Defined in IRTS.Portable Methods toJSON :: Const -> Value # toEncoding :: Const -> Encoding # toJSONList :: [Const] -> Value # toEncodingList :: [Const] -> Encoding # omitField :: Const -> Bool #
Binary Const # |
Instance details Defined in Idris.Core.Binary Methods put :: Const -> Put # get :: Get Const # putList :: [Const] -> Put #
NFData Const # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Const -> () #
Data Const # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Const -> c Const # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Const # toConstr :: Const -> Constr # dataTypeOf :: Const -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Const) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Const) # gmapT :: (forall b. Data b => b -> b) -> Const -> Const # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Const -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Const -> r # gmapQ :: (forall d. Data d => d -> u) -> Const -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Const -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Const -> m Const # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Const -> m Const # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Const -> m Const #
Generic Const # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep Const |
Instance details Defined in Idris.Core.TT type Rep Const = D1 ('MetaData "Const" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((C1 ('MetaCons "I" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: (C1 ('MetaCons "BI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons "Fl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))) :+: ((C1 ('MetaCons "Ch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: C1 ('MetaCons "Str" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "B8" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :+: C1 ('MetaCons "B16" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16))))) :+: (((C1 ('MetaCons "B32" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)) :+: C1 ('MetaCons "B64" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64))) :+: (C1 ('MetaCons "AType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArithTy)) :+: C1 ('MetaCons "StrType" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "WorldType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TheWorld" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "VoidType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Forgot" 'PrefixI 'False) (U1 :: Type -> Type)))))
Methods from :: Const -> Rep Const x # to :: Rep Const x -> Const #
Show Const # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Const -> ShowS # show :: Const -> String # showList :: [Const] -> ShowS #
Eq Const # |
Instance details Defined in Idris.Core.TT Methods (==) :: Const -> Const -> Bool # (/=) :: Const -> Const -> Bool #
Ord Const # |
Instance details Defined in Idris.Core.TT Methods compare :: Const -> Const -> Ordering # (<) :: Const -> Const -> Bool # (<=) :: Const -> Const -> Bool # (>) :: Const -> Const -> Bool # (>=) :: Const -> Const -> Bool # max :: Const -> Const -> Const # min :: Const -> Const -> Const #
type Rep Const # |
Instance details Defined in Idris.Core.TT type Rep Const = D1 ('MetaData "Const" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((C1 ('MetaCons "I" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: (C1 ('MetaCons "BI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons "Fl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))) :+: ((C1 ('MetaCons "Ch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: C1 ('MetaCons "Str" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "B8" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :+: C1 ('MetaCons "B16" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16))))) :+: (((C1 ('MetaCons "B32" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)) :+: C1 ('MetaCons "B64" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64))) :+: (C1 ('MetaCons "AType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArithTy)) :+: C1 ('MetaCons "StrType" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "WorldType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TheWorld" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "VoidType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Forgot" 'PrefixI 'False) (U1 :: Type -> Type)))))

type Ctxt a = Map Name (Map Name a) #

Contexts allow us to map names to things. A root name maps to a collection of things in different namespaces with that name.

data ConstraintFC #

Constructors

ConstraintFC |
Fields uconstraint :: UConstraint ufc :: FC

#### Instances

Instances details

Binary ConstraintFC # |
Instance details Defined in Idris.Core.Binary Methods put :: ConstraintFC -> Put # get :: Get ConstraintFC # putList :: [ConstraintFC] -> Put #
NFData ConstraintFC # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: ConstraintFC -> () #
Data ConstraintFC # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintFC -> c ConstraintFC # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintFC # toConstr :: ConstraintFC -> Constr # dataTypeOf :: ConstraintFC -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConstraintFC) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintFC) # gmapT :: (forall b. Data b => b -> b) -> ConstraintFC -> ConstraintFC # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFC -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFC -> r # gmapQ :: (forall d. Data d => d -> u) -> ConstraintFC -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ConstraintFC -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConstraintFC -> m ConstraintFC # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintFC -> m ConstraintFC # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintFC -> m ConstraintFC #
Generic ConstraintFC # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep ConstraintFC |
Instance details Defined in Idris.Core.TT type Rep ConstraintFC = D1 ('MetaData "ConstraintFC" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "ConstraintFC" 'PrefixI 'True) (S1 ('MetaSel ('Just "uconstraint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UConstraint) :*: S1 ('MetaSel ('Just "ufc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC)))
Methods from :: ConstraintFC -> Rep ConstraintFC x # to :: Rep ConstraintFC x -> ConstraintFC #
Show ConstraintFC # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> ConstraintFC -> ShowS # show :: ConstraintFC -> String # showList :: [ConstraintFC] -> ShowS #
Eq ConstraintFC # |
Instance details Defined in Idris.Core.TT Methods (==) :: ConstraintFC -> ConstraintFC -> Bool # (/=) :: ConstraintFC -> ConstraintFC -> Bool #
Ord ConstraintFC # |
Instance details Defined in Idris.Core.TT Methods compare :: ConstraintFC -> ConstraintFC -> Ordering # (<) :: ConstraintFC -> ConstraintFC -> Bool # (<=) :: ConstraintFC -> ConstraintFC -> Bool # (>) :: ConstraintFC -> ConstraintFC -> Bool # (>=) :: ConstraintFC -> ConstraintFC -> Bool # max :: ConstraintFC -> ConstraintFC -> ConstraintFC # min :: ConstraintFC -> ConstraintFC -> ConstraintFC #
type Rep ConstraintFC # |
Instance details Defined in Idris.Core.TT type Rep ConstraintFC = D1 ('MetaData "ConstraintFC" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "ConstraintFC" 'PrefixI 'True) (S1 ('MetaSel ('Just "uconstraint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UConstraint) :*: S1 ('MetaSel ('Just "ufc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC)))

data DataOpt #

Data declaration options

Constructors

Codata | Set if the the data-type is coinductive
DataErrRev |

#### Instances

Instances details

Binary DataOpt # |
Instance details Defined in Idris.IBC Methods put :: DataOpt -> Put # get :: Get DataOpt # putList :: [DataOpt] -> Put #
NFData DataOpt # |
Instance details Defined in Idris.DeepSeq Methods rnf :: DataOpt -> () #
Generic DataOpt # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep DataOpt |
Instance details Defined in Idris.Core.TT type Rep DataOpt = D1 ('MetaData "DataOpt" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "Codata" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataErrRev" 'PrefixI 'False) (U1 :: Type -> Type))
Methods from :: DataOpt -> Rep DataOpt x # to :: Rep DataOpt x -> DataOpt #
Show DataOpt # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> DataOpt -> ShowS # show :: DataOpt -> String # showList :: [DataOpt] -> ShowS #
Eq DataOpt # |
Instance details Defined in Idris.Core.TT Methods (==) :: DataOpt -> DataOpt -> Bool # (/=) :: DataOpt -> DataOpt -> Bool #
type Rep DataOpt # |
Instance details Defined in Idris.Core.TT type Rep DataOpt = D1 ('MetaData "DataOpt" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "Codata" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DataErrRev" 'PrefixI 'False) (U1 :: Type -> Type))

type DataOpts = [DataOpt] #

data Datatype n #

Constructors

Data |
Fields d_typename :: n d_typetag :: Int d_type :: TT n d_unique :: Bool d_cons :: [(n, TT n)]

#### Instances

Instances details

Functor Datatype # |
Instance details Defined in Idris.Core.TT Methods fmap :: (a -> b) -> Datatype a -> Datatype b # (<$) :: a -> Datatype b -> Datatype a #
(Show n, Eq n) => Show (Datatype n) # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Datatype n -> ShowS # show :: Datatype n -> String # showList :: [Datatype n] -> ShowS #
Eq n => Eq (Datatype n) # |
Instance details Defined in Idris.Core.TT Methods (==) :: Datatype n -> Datatype n -> Bool # (/=) :: Datatype n -> Datatype n -> Bool #

type Env = EnvTT Name #

type EnvTT n = [(n, RigCount, Binder (TT n))] #

type Err = Err' Term #

data Err' t #

Idris errors. Used as exceptions in the compiler, but reported to users if they reach the top level.

Constructors

Msg String |
InternalMsg String |
CantUnify Bool (t, Maybe Provenance) (t, Maybe Provenance) (Err' t) [(Name, t)] Int |
InfiniteUnify Name t [(Name, t)] |
CantConvert t t [(Name, t)] |
CantSolveGoal t [(Name, t)] |
UnifyScope Name Name t [(Name, t)] |
CantInferType String |
NonFunctionType t t |
NotEquality t t |
TooManyArguments Name |
CantIntroduce t |
NoSuchVariable Name |
WithFnType t |
NoTypeDecl Name |
NotInjective t t t |
CantResolve Bool t (Err' t) |
InvalidTCArg Name t |
CantResolveAlts [Name] |
NoValidAlts [Name] |
IncompleteTerm t |
UniverseError FC UExp (Int, Int) (Int, Int) [ConstraintFC] | Location, bad universe, old domain, new domain, suspects
UniqueError Universe Name |
UniqueKindError Universe Name |
ProgramLineComment |
Inaccessible Name |
UnknownImplicit Name Name |
CantMatch t |
NonCollapsiblePostulate Name |
AlreadyDefined Name |
ProofSearchFail (Err' t) |
NoRewriting t t t |
At FC (Err' t) |
Elaborating String Name (Maybe t) (Err' t) |
ElaboratingArg Name Name [(Name, Name)] (Err' t) |
ProviderError String |
LoadingFailed String (Err' t) |
ReflectionError [[ErrorReportPart]] (Err' t) |
ReflectionFailed String (Err' t) |
ElabScriptDebug [ErrorReportPart] t [(Name, t, [(Name, Binder t)])] | User-specified message, proof term, goals with context (first goal is focused)
ElabScriptStuck t |
RunningElabScript (Err' t) | The error occurred during a top-level elaboration script
ElabScriptStaging Name |
FancyMsg [ErrorReportPart] |

#### Instances

Instances details

NFData Err # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Err -> () #
Functor Err' # |
Instance details Defined in Idris.Core.TT Methods fmap :: (a -> b) -> Err' a -> Err' b # (<$) :: a -> Err' b -> Err' a #
Show Err # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Err -> ShowS # show :: Err -> String # showList :: [Err] -> ShowS #
Binary a => Binary (Err' a) # |
Instance details Defined in Idris.Core.Binary Methods put :: Err' a -> Put # get :: Get (Err' a) # putList :: [Err' a] -> Put #
Data t => Data (Err' t) # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Err' t -> c (Err' t) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Err' t) # toConstr :: Err' t -> Constr # dataTypeOf :: Err' t -> DataType # dataCast1 :: Typeable t0 => (forall d. Data d => c (t0 d)) -> Maybe (c (Err' t)) # dataCast2 :: Typeable t0 => (forall d e. (Data d, Data e) => c (t0 d e)) -> Maybe (c (Err' t)) # gmapT :: (forall b. Data b => b -> b) -> Err' t -> Err' t # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Err' t -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Err' t -> r # gmapQ :: (forall d. Data d => d -> u) -> Err' t -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Err' t -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Err' t -> m (Err' t) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Err' t -> m (Err' t) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Err' t -> m (Err' t) #
Generic (Err' t) # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep (Err' t) |
Instance details Defined in Idris.Core.TT type Rep (Err' t) = D1 ('MetaData "Err'" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((((C1 ('MetaCons "Msg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "InternalMsg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "CantUnify" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (t, Maybe Provenance)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (t, Maybe Provenance)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))) :+: (C1 ('MetaCons "InfiniteUnify" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)]))) :+: C1 ('MetaCons "CantConvert" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)])))))) :+: ((C1 ('MetaCons "CantSolveGoal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)])) :+: (C1 ('MetaCons "UnifyScope" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)]))) :+: C1 ('MetaCons "CantInferType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons "NonFunctionType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: (C1 ('MetaCons "NotEquality" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: C1 ('MetaCons "TooManyArguments" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))))) :+: (((C1 ('MetaCons "CantIntroduce" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: C1 ('MetaCons "NoSuchVariable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "WithFnType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: (C1 ('MetaCons "NoTypeDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "NotInjective" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)))))) :+: ((C1 ('MetaCons "CantResolve" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t)))) :+: (C1 ('MetaCons "InvalidTCArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: C1 ('MetaCons "CantResolveAlts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))) :+: (C1 ('MetaCons "NoValidAlts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: (C1 ('MetaCons "IncompleteTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: C1 ('MetaCons "UniverseError" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ConstraintFC]))))))))) :+: ((((C1 ('MetaCons "UniqueError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Universe) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "UniqueKindError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Universe) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "ProgramLineComment" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Inaccessible" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "UnknownImplicit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))) :+: ((C1 ('MetaCons "CantMatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: (C1 ('MetaCons "NonCollapsiblePostulate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "AlreadyDefined" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: (C1 ('MetaCons "ProofSearchFail" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))) :+: (C1 ('MetaCons "NoRewriting" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t))) :+: C1 ('MetaCons "At" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))))))) :+: (((C1 ('MetaCons "Elaborating" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe t)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t)))) :+: C1 ('MetaCons "ElaboratingArg" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, Name)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))))) :+: (C1 ('MetaCons "ProviderError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "LoadingFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))) :+: C1 ('MetaCons "ReflectionError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [[ErrorReportPart]]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t)))))) :+: ((C1 ('MetaCons "ReflectionFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))) :+: (C1 ('MetaCons "ElabScriptDebug" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ErrorReportPart]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t, [(Name, Binder t)])]))) :+: C1 ('MetaCons "ElabScriptStuck" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)))) :+: (C1 ('MetaCons "RunningElabScript" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))) :+: (C1 ('MetaCons "ElabScriptStaging" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "FancyMsg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ErrorReportPart]))))))))
Methods from :: Err' t -> Rep (Err' t) x # to :: Rep (Err' t) x -> Err' t #
Eq t => Eq (Err' t) # |
Instance details Defined in Idris.Core.TT Methods (==) :: Err' t -> Err' t -> Bool # (/=) :: Err' t -> Err' t -> Bool #
Ord t => Ord (Err' t) # |
Instance details Defined in Idris.Core.TT Methods compare :: Err' t -> Err' t -> Ordering # (<) :: Err' t -> Err' t -> Bool # (<=) :: Err' t -> Err' t -> Bool # (>) :: Err' t -> Err' t -> Bool # (>=) :: Err' t -> Err' t -> Bool # max :: Err' t -> Err' t -> Err' t # min :: Err' t -> Err' t -> Err' t #
type Rep (Err' t) # |
Instance details Defined in Idris.Core.TT type Rep (Err' t) = D1 ('MetaData "Err'" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((((C1 ('MetaCons "Msg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "InternalMsg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "CantUnify" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (t, Maybe Provenance)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (t, Maybe Provenance)))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))) :+: (C1 ('MetaCons "InfiniteUnify" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)]))) :+: C1 ('MetaCons "CantConvert" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)])))))) :+: ((C1 ('MetaCons "CantSolveGoal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)])) :+: (C1 ('MetaCons "UnifyScope" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t)]))) :+: C1 ('MetaCons "CantInferType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: (C1 ('MetaCons "NonFunctionType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: (C1 ('MetaCons "NotEquality" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: C1 ('MetaCons "TooManyArguments" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))))) :+: (((C1 ('MetaCons "CantIntroduce" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: C1 ('MetaCons "NoSuchVariable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "WithFnType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: (C1 ('MetaCons "NoTypeDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "NotInjective" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)))))) :+: ((C1 ('MetaCons "CantResolve" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t)))) :+: (C1 ('MetaCons "InvalidTCArg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: C1 ('MetaCons "CantResolveAlts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])))) :+: (C1 ('MetaCons "NoValidAlts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name])) :+: (C1 ('MetaCons "IncompleteTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: C1 ('MetaCons "UniverseError" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ConstraintFC]))))))))) :+: ((((C1 ('MetaCons "UniqueError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Universe) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "UniqueKindError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Universe) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "ProgramLineComment" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Inaccessible" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "UnknownImplicit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))))) :+: ((C1 ('MetaCons "CantMatch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)) :+: (C1 ('MetaCons "NonCollapsiblePostulate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "AlreadyDefined" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)))) :+: (C1 ('MetaCons "ProofSearchFail" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))) :+: (C1 ('MetaCons "NoRewriting" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t))) :+: C1 ('MetaCons "At" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))))))) :+: (((C1 ('MetaCons "Elaborating" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe t)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t)))) :+: C1 ('MetaCons "ElaboratingArg" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, Name)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))))) :+: (C1 ('MetaCons "ProviderError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "LoadingFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))) :+: C1 ('MetaCons "ReflectionError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [[ErrorReportPart]]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t)))))) :+: ((C1 ('MetaCons "ReflectionFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))) :+: (C1 ('MetaCons "ElabScriptDebug" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ErrorReportPart]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, t, [(Name, Binder t)])]))) :+: C1 ('MetaCons "ElabScriptStuck" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 t)))) :+: (C1 ('MetaCons "RunningElabScript" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Err' t))) :+: (C1 ('MetaCons "ElabScriptStaging" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: C1 ('MetaCons "FancyMsg" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ErrorReportPart]))))))))

data ErrorReportPart #

Used for error reflection

Constructors

TextPart String |
NamePart Name |
TermPart Term |
RawPart Raw |
SubReport [ErrorReportPart] |

#### Instances

Instances details

Binary ErrorReportPart # |
Instance details Defined in Idris.Core.Binary Methods put :: ErrorReportPart -> Put # get :: Get ErrorReportPart # putList :: [ErrorReportPart] -> Put #
NFData ErrorReportPart # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: ErrorReportPart -> () #
Data ErrorReportPart # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ErrorReportPart -> c ErrorReportPart # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ErrorReportPart # toConstr :: ErrorReportPart -> Constr # dataTypeOf :: ErrorReportPart -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ErrorReportPart) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ErrorReportPart) # gmapT :: (forall b. Data b => b -> b) -> ErrorReportPart -> ErrorReportPart # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ErrorReportPart -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ErrorReportPart -> r # gmapQ :: (forall d. Data d => d -> u) -> ErrorReportPart -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ErrorReportPart -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ErrorReportPart -> m ErrorReportPart # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ErrorReportPart -> m ErrorReportPart # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ErrorReportPart -> m ErrorReportPart #
Generic ErrorReportPart # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep ErrorReportPart |
Instance details Defined in Idris.Core.TT type Rep ErrorReportPart = D1 ('MetaData "ErrorReportPart" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "TextPart" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "NamePart" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "TermPart" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons "RawPart" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Raw)) :+: C1 ('MetaCons "SubReport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ErrorReportPart])))))
Methods from :: ErrorReportPart -> Rep ErrorReportPart x # to :: Rep ErrorReportPart x -> ErrorReportPart #
Show ErrorReportPart # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> ErrorReportPart -> ShowS # show :: ErrorReportPart -> String # showList :: [ErrorReportPart] -> ShowS #
Eq ErrorReportPart # |
Instance details Defined in Idris.Core.TT Methods (==) :: ErrorReportPart -> ErrorReportPart -> Bool # (/=) :: ErrorReportPart -> ErrorReportPart -> Bool #
Ord ErrorReportPart # |
Instance details Defined in Idris.Core.TT Methods compare :: ErrorReportPart -> ErrorReportPart -> Ordering # (<) :: ErrorReportPart -> ErrorReportPart -> Bool # (<=) :: ErrorReportPart -> ErrorReportPart -> Bool # (>) :: ErrorReportPart -> ErrorReportPart -> Bool # (>=) :: ErrorReportPart -> ErrorReportPart -> Bool # max :: ErrorReportPart -> ErrorReportPart -> ErrorReportPart # min :: ErrorReportPart -> ErrorReportPart -> ErrorReportPart #
type Rep ErrorReportPart # |
Instance details Defined in Idris.Core.TT type Rep ErrorReportPart = D1 ('MetaData "ErrorReportPart" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "TextPart" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "NamePart" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "TermPart" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)) :+: (C1 ('MetaCons "RawPart" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Raw)) :+: C1 ('MetaCons "SubReport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ErrorReportPart])))))

data FC #

Source location. These are typically produced by `withExtent`

Constructors

FC |
Fields _fc_fname :: String Filename _fc_start :: (Int, Int) Line and column numbers for the start of the location span _fc_end :: (Int, Int) Line and column numbers for the end of the location span
NoFC | Locations for machine-generated terms
FileFC | Locations with file only
Fields _fc_fname :: String Filename

#### Instances

Instances details

Binary FC # |
Instance details Defined in Idris.Core.Binary Methods put :: FC -> Put # get :: Get FC # putList :: [FC] -> Put #
NFData FC # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: FC -> () #
Monoid FC # |
Instance details Defined in Idris.Core.TT Methods mempty :: FC # mappend :: FC -> FC -> FC # mconcat :: [FC] -> FC #
Semigroup FC # |
Instance details Defined in Idris.Core.TT Methods (<>) :: FC -> FC -> FC # sconcat :: NonEmpty FC -> FC # stimes :: Integral b => b -> FC -> FC #
Data FC # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FC -> c FC # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FC # toConstr :: FC -> Constr # dataTypeOf :: FC -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FC) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FC) # gmapT :: (forall b. Data b => b -> b) -> FC -> FC # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FC -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FC -> r # gmapQ :: (forall d. Data d => d -> u) -> FC -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FC -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FC -> m FC # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FC -> m FC # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FC -> m FC #
Generic FC # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep FC |
Instance details Defined in Idris.Core.TT type Rep FC = D1 ('MetaData "FC" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "FC" 'PrefixI 'True) (S1 ('MetaSel ('Just "_fc_fname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "_fc_start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: S1 ('MetaSel ('Just "_fc_end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)))) :+: (C1 ('MetaCons "NoFC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FileFC" 'PrefixI 'True) (S1 ('MetaSel ('Just "_fc_fname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))
Methods from :: FC -> Rep FC x # to :: Rep FC x -> FC #
Show FC # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> FC -> ShowS # show :: FC -> String # showList :: [FC] -> ShowS #
Eq FC # | Ignore source location equality (so deriving classes do not compare FCs)
Instance details Defined in Idris.Core.TT Methods (==) :: FC -> FC -> Bool # (/=) :: FC -> FC -> Bool #
Ord FC # |
Instance details Defined in Idris.Core.TT Methods compare :: FC -> FC -> Ordering # (<) :: FC -> FC -> Bool # (<=) :: FC -> FC -> Bool # (>) :: FC -> FC -> Bool # (>=) :: FC -> FC -> Bool # max :: FC -> FC -> FC # min :: FC -> FC -> FC #
SExpable FC # |
Instance details Defined in Idris.IdeMode Methods toSExp :: FC -> SExp #
type Rep FC # |
Instance details Defined in Idris.Core.TT type Rep FC = D1 ('MetaData "FC" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "FC" 'PrefixI 'True) (S1 ('MetaSel ('Just "_fc_fname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "_fc_start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: S1 ('MetaSel ('Just "_fc_end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)))) :+: (C1 ('MetaCons "NoFC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FileFC" 'PrefixI 'True) (S1 ('MetaSel ('Just "_fc_fname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

newtype FC' #

FC with equality

Constructors

FC' |
Fields unwrapFC :: FC

#### Instances

Instances details

Binary FC' # |
Instance details Defined in Idris.Core.Binary Methods put :: FC' -> Put # get :: Get FC' # putList :: [FC'] -> Put #
NFData FC' # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: FC' -> () #
Data FC' # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FC' -> c FC' # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FC' # toConstr :: FC' -> Constr # dataTypeOf :: FC' -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FC') # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FC') # gmapT :: (forall b. Data b => b -> b) -> FC' -> FC' # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FC' -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FC' -> r # gmapQ :: (forall d. Data d => d -> u) -> FC' -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FC' -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FC' -> m FC' # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FC' -> m FC' # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FC' -> m FC' #
Generic FC' # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep FC' |
Instance details Defined in Idris.Core.TT type Rep FC' = D1 ('MetaData "FC'" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'True) (C1 ('MetaCons "FC'" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapFC") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC)))
Methods from :: FC' -> Rep FC' x # to :: Rep FC' x -> FC' #
Show FC' # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> FC' -> ShowS # show :: FC' -> String # showList :: [FC'] -> ShowS #
Eq FC' # |
Instance details Defined in Idris.Core.TT Methods (==) :: FC' -> FC' -> Bool # (/=) :: FC' -> FC' -> Bool #
Ord FC' # |
Instance details Defined in Idris.Core.TT Methods compare :: FC' -> FC' -> Ordering # (<) :: FC' -> FC' -> Bool # (<=) :: FC' -> FC' -> Bool # (>) :: FC' -> FC' -> Bool # (>=) :: FC' -> FC' -> Bool # max :: FC' -> FC' -> FC' # min :: FC' -> FC' -> FC' #
type Rep FC' # |
Instance details Defined in Idris.Core.TT type Rep FC' = D1 ('MetaData "FC'" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'True) (C1 ('MetaCons "FC'" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapFC") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC)))

data ImplicitInfo #

Constructors

Impl |
Fields tcimplementation :: Bool toplevel_imp :: Bool machine_gen :: Bool

#### Instances

Instances details

ToJSON ImplicitInfo # |
Instance details Defined in IRTS.Portable Methods toJSON :: ImplicitInfo -> Value # toEncoding :: ImplicitInfo -> Encoding # toJSONList :: [ImplicitInfo] -> Value # toEncodingList :: [ImplicitInfo] -> Encoding # omitField :: ImplicitInfo -> Bool #
Binary ImplicitInfo # |
Instance details Defined in Idris.Core.Binary Methods put :: ImplicitInfo -> Put # get :: Get ImplicitInfo # putList :: [ImplicitInfo] -> Put #
NFData ImplicitInfo # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: ImplicitInfo -> () #
Data ImplicitInfo # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ImplicitInfo -> c ImplicitInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ImplicitInfo # toConstr :: ImplicitInfo -> Constr # dataTypeOf :: ImplicitInfo -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ImplicitInfo) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ImplicitInfo) # gmapT :: (forall b. Data b => b -> b) -> ImplicitInfo -> ImplicitInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ImplicitInfo -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ImplicitInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> ImplicitInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ImplicitInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ImplicitInfo -> m ImplicitInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ImplicitInfo -> m ImplicitInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ImplicitInfo -> m ImplicitInfo #
Generic ImplicitInfo # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep ImplicitInfo |
Instance details Defined in Idris.Core.TT type Rep ImplicitInfo = D1 ('MetaData "ImplicitInfo" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "Impl" 'PrefixI 'True) (S1 ('MetaSel ('Just "tcimplementation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "toplevel_imp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "machine_gen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Methods from :: ImplicitInfo -> Rep ImplicitInfo x # to :: Rep ImplicitInfo x -> ImplicitInfo #
Show ImplicitInfo # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> ImplicitInfo -> ShowS # show :: ImplicitInfo -> String # showList :: [ImplicitInfo] -> ShowS #
Eq ImplicitInfo # |
Instance details Defined in Idris.Core.TT Methods (==) :: ImplicitInfo -> ImplicitInfo -> Bool # (/=) :: ImplicitInfo -> ImplicitInfo -> Bool #
Ord ImplicitInfo # |
Instance details Defined in Idris.Core.TT Methods compare :: ImplicitInfo -> ImplicitInfo -> Ordering # (<) :: ImplicitInfo -> ImplicitInfo -> Bool # (<=) :: ImplicitInfo -> ImplicitInfo -> Bool # (>) :: ImplicitInfo -> ImplicitInfo -> Bool # (>=) :: ImplicitInfo -> ImplicitInfo -> Bool # max :: ImplicitInfo -> ImplicitInfo -> ImplicitInfo # min :: ImplicitInfo -> ImplicitInfo -> ImplicitInfo #
type Rep ImplicitInfo # |
Instance details Defined in Idris.Core.TT type Rep ImplicitInfo = D1 ('MetaData "ImplicitInfo" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "Impl" 'PrefixI 'True) (S1 ('MetaSel ('Just "tcimplementation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "toplevel_imp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "machine_gen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data IntTy #

Constructors

ITFixed NativeTy |
ITNative |
ITBig |
ITChar |

#### Instances

Instances details

ToJSON IntTy # |
Instance details Defined in IRTS.Portable Methods toJSON :: IntTy -> Value # toEncoding :: IntTy -> Encoding # toJSONList :: [IntTy] -> Value # toEncodingList :: [IntTy] -> Encoding # omitField :: IntTy -> Bool #
NFData IntTy # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: IntTy -> () #
Data IntTy # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IntTy -> c IntTy # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IntTy # toConstr :: IntTy -> Constr # dataTypeOf :: IntTy -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IntTy) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IntTy) # gmapT :: (forall b. Data b => b -> b) -> IntTy -> IntTy # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IntTy -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IntTy -> r # gmapQ :: (forall d. Data d => d -> u) -> IntTy -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> IntTy -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IntTy -> m IntTy # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IntTy -> m IntTy # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IntTy -> m IntTy #
Generic IntTy # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep IntTy |
Instance details Defined in Idris.Core.TT type Rep IntTy = D1 ('MetaData "IntTy" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "ITFixed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NativeTy)) :+: C1 ('MetaCons "ITNative" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ITBig" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ITChar" 'PrefixI 'False) (U1 :: Type -> Type)))
Methods from :: IntTy -> Rep IntTy x # to :: Rep IntTy x -> IntTy #
Show IntTy # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> IntTy -> ShowS # show :: IntTy -> String # showList :: [IntTy] -> ShowS #
Eq IntTy # |
Instance details Defined in Idris.Core.TT Methods (==) :: IntTy -> IntTy -> Bool # (/=) :: IntTy -> IntTy -> Bool #
Ord IntTy # |
Instance details Defined in Idris.Core.TT Methods compare :: IntTy -> IntTy -> Ordering # (<) :: IntTy -> IntTy -> Bool # (<=) :: IntTy -> IntTy -> Bool # (>) :: IntTy -> IntTy -> Bool # (>=) :: IntTy -> IntTy -> Bool # max :: IntTy -> IntTy -> IntTy # min :: IntTy -> IntTy -> IntTy #
type Rep IntTy # |
Instance details Defined in Idris.Core.TT type Rep IntTy = D1 ('MetaData "IntTy" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "ITFixed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NativeTy)) :+: C1 ('MetaCons "ITNative" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ITBig" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ITChar" 'PrefixI 'False) (U1 :: Type -> Type)))

data Name #

Names are hierarchies of strings, describing scope (so no danger of duplicate names, but need to be careful on lookup).

Constructors

UN !Text | User-provided name
NS !Name [Text] | Root, namespaces
MN !Int !Text | Machine chosen names
SN !SpecialName | Decorated function names
SymRef Int | Reference to IBC file symbol table (used during serialisation)

#### Instances

Instances details

ToJSON Name # |
Instance details Defined in IRTS.Portable Methods toJSON :: Name -> Value # toEncoding :: Name -> Encoding # toJSONList :: [Name] -> Value # toEncodingList :: [Name] -> Encoding # omitField :: Name -> Bool #
Binary CaseAlt # |
Instance details Defined in Idris.IBC Methods put :: CaseAlt -> Put # get :: Get CaseAlt # putList :: [CaseAlt] -> Put #
Binary SC # |
Instance details Defined in Idris.IBC Methods put :: SC -> Put # get :: Get SC # putList :: [SC] -> Put #
Binary Name # |
Instance details Defined in Idris.Core.Binary Methods put :: Name -> Put # get :: Get Name # putList :: [Name] -> Put #
NFData Err # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Err -> () #
NFData Name # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Name -> () #
Data Name # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name # toConstr :: Name -> Constr # dataTypeOf :: Name -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) # gmapT :: (forall b. Data b => b -> b) -> Name -> Name # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name #
Generic Name # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep Name |
Instance details Defined in Idris.Core.TT type Rep Name = D1 ('MetaData "Name" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "UN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "NS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]))) :+: (C1 ('MetaCons "MN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: (C1 ('MetaCons "SN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SpecialName)) :+: C1 ('MetaCons "SymRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))
Methods from :: Name -> Rep Name x # to :: Rep Name x -> Name #
Show Err # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Err -> ShowS # show :: Err -> String # showList :: [Err] -> ShowS #
Show Name # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Name -> ShowS # show :: Name -> String # showList :: [Name] -> ShowS #
Eq Name # |
Instance details Defined in Idris.Core.TT Methods (==) :: Name -> Name -> Bool # (/=) :: Name -> Name -> Bool #
Ord Name # |
Instance details Defined in Idris.Core.TT Methods compare :: Name -> Name -> Ordering # (<) :: Name -> Name -> Bool # (<=) :: Name -> Name -> Bool # (>) :: Name -> Name -> Bool # (>=) :: Name -> Name -> Bool # max :: Name -> Name -> Name # min :: Name -> Name -> Name #
TermSize CaseAlt # |
Instance details Defined in Idris.Core.CaseTree Methods termsize :: Name -> CaseAlt -> Int #
TermSize SC # |
Instance details Defined in Idris.Core.CaseTree Methods termsize :: Name -> SC -> Int #
SExpable Name # |
Instance details Defined in Idris.IdeMode Methods toSExp :: Name -> SExp #
Binary (TT Name) # |
Instance details Defined in Idris.Core.Binary Methods put :: TT Name -> Put # get :: Get (TT Name) # putList :: [TT Name] -> Put #
TermSize (TT Name) # |
Instance details Defined in Idris.Core.TT Methods termsize :: Name -> TT Name -> Int #
type Rep Name # |
Instance details Defined in Idris.Core.TT type Rep Name = D1 ('MetaData "Name" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "UN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "NS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]))) :+: (C1 ('MetaCons "MN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: (C1 ('MetaCons "SN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SpecialName)) :+: C1 ('MetaCons "SymRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))

data NameOutput #

Output annotation for pretty-printed name - decides colour

Constructors

TypeOutput |
FunOutput |
DataOutput |
MetavarOutput |
PostulateOutput |

#### Instances

Instances details

NFData NameOutput # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: NameOutput -> () #
Generic NameOutput # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep NameOutput |
Instance details Defined in Idris.Core.TT type Rep NameOutput = D1 ('MetaData "NameOutput" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "TypeOutput" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunOutput" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DataOutput" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MetavarOutput" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PostulateOutput" 'PrefixI 'False) (U1 :: Type -> Type))))
Methods from :: NameOutput -> Rep NameOutput x # to :: Rep NameOutput x -> NameOutput #
Show NameOutput # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> NameOutput -> ShowS # show :: NameOutput -> String # showList :: [NameOutput] -> ShowS #
Eq NameOutput # |
Instance details Defined in Idris.Core.TT Methods (==) :: NameOutput -> NameOutput -> Bool # (/=) :: NameOutput -> NameOutput -> Bool #
Ord NameOutput # |
Instance details Defined in Idris.Core.TT Methods compare :: NameOutput -> NameOutput -> Ordering # (<) :: NameOutput -> NameOutput -> Bool # (<=) :: NameOutput -> NameOutput -> Bool # (>) :: NameOutput -> NameOutput -> Bool # (>=) :: NameOutput -> NameOutput -> Bool # max :: NameOutput -> NameOutput -> NameOutput # min :: NameOutput -> NameOutput -> NameOutput #
SExpable NameOutput # |
Instance details Defined in Idris.IdeMode Methods toSExp :: NameOutput -> SExp #
type Rep NameOutput # |
Instance details Defined in Idris.Core.TT type Rep NameOutput = D1 ('MetaData "NameOutput" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "TypeOutput" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunOutput" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DataOutput" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MetavarOutput" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PostulateOutput" 'PrefixI 'False) (U1 :: Type -> Type))))

data NameType #

Constructors

Bound |
Ref |
DCon | Data constructor
Fields nt_tag :: Int nt_arity :: Int nt_unique :: Bool
TCon | Type constructor
Fields nt_tag :: Int nt_arity :: Int

#### Instances

Instances details

ToJSON NameType # |
Instance details Defined in IRTS.Portable Methods toJSON :: NameType -> Value # toEncoding :: NameType -> Encoding # toJSONList :: [NameType] -> Value # toEncodingList :: [NameType] -> Encoding # omitField :: NameType -> Bool #
Binary NameType # |
Instance details Defined in Idris.Core.Binary Methods put :: NameType -> Put # get :: Get NameType # putList :: [NameType] -> Put #
NFData NameType # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: NameType -> () #
Data NameType # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NameType -> c NameType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NameType # toConstr :: NameType -> Constr # dataTypeOf :: NameType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NameType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NameType) # gmapT :: (forall b. Data b => b -> b) -> NameType -> NameType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NameType -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NameType -> r # gmapQ :: (forall d. Data d => d -> u) -> NameType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NameType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NameType -> m NameType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NameType -> m NameType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NameType -> m NameType #
Generic NameType # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep NameType |
Instance details Defined in Idris.Core.TT type Rep NameType = D1 ('MetaData "NameType" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "Bound" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ref" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DCon" 'PrefixI 'True) (S1 ('MetaSel ('Just "nt_tag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "nt_arity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "nt_unique") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :+: C1 ('MetaCons "TCon" 'PrefixI 'True) (S1 ('MetaSel ('Just "nt_tag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "nt_arity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))
Methods from :: NameType -> Rep NameType x # to :: Rep NameType x -> NameType #
Show NameType # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> NameType -> ShowS # show :: NameType -> String # showList :: [NameType] -> ShowS #
Eq NameType # |
Instance details Defined in Idris.Core.TT Methods (==) :: NameType -> NameType -> Bool # (/=) :: NameType -> NameType -> Bool #
Ord NameType # |
Instance details Defined in Idris.Core.TT Methods compare :: NameType -> NameType -> Ordering # (<) :: NameType -> NameType -> Bool # (<=) :: NameType -> NameType -> Bool # (>) :: NameType -> NameType -> Bool # (>=) :: NameType -> NameType -> Bool # max :: NameType -> NameType -> NameType # min :: NameType -> NameType -> NameType #
type Rep NameType # |
Instance details Defined in Idris.Core.TT type Rep NameType = D1 ('MetaData "NameType" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "Bound" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ref" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DCon" 'PrefixI 'True) (S1 ('MetaSel ('Just "nt_tag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "nt_arity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "nt_unique") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :+: C1 ('MetaCons "TCon" 'PrefixI 'True) (S1 ('MetaSel ('Just "nt_tag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "nt_arity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

data NativeTy #

Constructors

IT8 |
IT16 |
IT32 |
IT64 |

#### Instances

Instances details

NFData NativeTy # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: NativeTy -> () #
Data NativeTy # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NativeTy -> c NativeTy # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NativeTy # toConstr :: NativeTy -> Constr # dataTypeOf :: NativeTy -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NativeTy) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NativeTy) # gmapT :: (forall b. Data b => b -> b) -> NativeTy -> NativeTy # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NativeTy -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NativeTy -> r # gmapQ :: (forall d. Data d => d -> u) -> NativeTy -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NativeTy -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NativeTy -> m NativeTy # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NativeTy -> m NativeTy # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NativeTy -> m NativeTy #
Enum NativeTy # |
Instance details Defined in Idris.Core.TT Methods succ :: NativeTy -> NativeTy # pred :: NativeTy -> NativeTy # toEnum :: Int -> NativeTy # fromEnum :: NativeTy -> Int # enumFrom :: NativeTy -> [NativeTy] # enumFromThen :: NativeTy -> NativeTy -> [NativeTy] # enumFromTo :: NativeTy -> NativeTy -> [NativeTy] # enumFromThenTo :: NativeTy -> NativeTy -> NativeTy -> [NativeTy] #
Generic NativeTy # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep NativeTy |
Instance details Defined in Idris.Core.TT type Rep NativeTy = D1 ('MetaData "NativeTy" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "IT8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IT16" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IT32" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IT64" 'PrefixI 'False) (U1 :: Type -> Type)))
Methods from :: NativeTy -> Rep NativeTy x # to :: Rep NativeTy x -> NativeTy #
Show NativeTy # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> NativeTy -> ShowS # show :: NativeTy -> String # showList :: [NativeTy] -> ShowS #
Eq NativeTy # |
Instance details Defined in Idris.Core.TT Methods (==) :: NativeTy -> NativeTy -> Bool # (/=) :: NativeTy -> NativeTy -> Bool #
Ord NativeTy # |
Instance details Defined in Idris.Core.TT Methods compare :: NativeTy -> NativeTy -> Ordering # (<) :: NativeTy -> NativeTy -> Bool # (<=) :: NativeTy -> NativeTy -> Bool # (>) :: NativeTy -> NativeTy -> Bool # (>=) :: NativeTy -> NativeTy -> Bool # max :: NativeTy -> NativeTy -> NativeTy # min :: NativeTy -> NativeTy -> NativeTy #
type Rep NativeTy # |
Instance details Defined in Idris.Core.TT type Rep NativeTy = D1 ('MetaData "NativeTy" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "IT8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IT16" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IT32" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IT64" 'PrefixI 'False) (U1 :: Type -> Type)))

data OutputAnnotation #

Output annotations for pretty-printing

Constructors

AnnName Name (Maybe NameOutput) (Maybe String) (Maybe String) | ^ The name, classification, docs overview, and pretty-printed type
AnnBoundName Name Bool | ^ The name and whether it is implicit
AnnConst Const |
AnnData String String | type, doc overview
AnnType String String | name, doc overview
AnnKeyword |
AnnFC FC |
AnnTextFmt TextFormatting |
AnnLink String | A link to this URL
AnnTerm [(Name, Bool)] (TT Name) | pprint bound vars, original term
AnnSearchResult Ordering | more general, isomorphic, or more specific
AnnErr Err |
AnnNamespace [Text] (Maybe FilePath) | A namespace (e.g. on an import line or in a namespace declaration). Stored starting at the root, with the hierarchy fully resolved. If a file path is present, then the namespace represents a module imported from that file.
AnnQuasiquote |
AnnAntiquote |
AnnSyntax String | type of syntax element: backslash or braces etc.

#### Instances

Instances details

NFData OutputAnnotation # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: OutputAnnotation -> () #
Generic OutputAnnotation # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep OutputAnnotation |
Instance details Defined in Idris.Core.TT type Rep OutputAnnotation = D1 ('MetaData "OutputAnnotation" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((((C1 ('MetaCons "AnnName" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NameOutput))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :+: C1 ('MetaCons "AnnBoundName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :+: (C1 ('MetaCons "AnnConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Const)) :+: C1 ('MetaCons "AnnData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: ((C1 ('MetaCons "AnnType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "AnnKeyword" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AnnFC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC)) :+: C1 ('MetaCons "AnnTextFmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextFormatting))))) :+: (((C1 ('MetaCons "AnnLink" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "AnnTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, Bool)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT Name)))) :+: (C1 ('MetaCons "AnnSearchResult" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ordering)) :+: C1 ('MetaCons "AnnErr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Err)))) :+: ((C1 ('MetaCons "AnnNamespace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))) :+: C1 ('MetaCons "AnnQuasiquote" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AnnAntiquote" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AnnSyntax" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))))
Methods from :: OutputAnnotation -> Rep OutputAnnotation x # to :: Rep OutputAnnotation x -> OutputAnnotation #
Show OutputAnnotation # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> OutputAnnotation -> ShowS # show :: OutputAnnotation -> String # showList :: [OutputAnnotation] -> ShowS #
Eq OutputAnnotation # |
Instance details Defined in Idris.Core.TT Methods (==) :: OutputAnnotation -> OutputAnnotation -> Bool # (/=) :: OutputAnnotation -> OutputAnnotation -> Bool #
Ord OutputAnnotation # |
Instance details Defined in Idris.Core.TT Methods compare :: OutputAnnotation -> OutputAnnotation -> Ordering # (<) :: OutputAnnotation -> OutputAnnotation -> Bool # (<=) :: OutputAnnotation -> OutputAnnotation -> Bool # (>) :: OutputAnnotation -> OutputAnnotation -> Bool # (>=) :: OutputAnnotation -> OutputAnnotation -> Bool # max :: OutputAnnotation -> OutputAnnotation -> OutputAnnotation # min :: OutputAnnotation -> OutputAnnotation -> OutputAnnotation #
SExpable OutputAnnotation # |
Instance details Defined in Idris.IdeMode Methods toSExp :: OutputAnnotation -> SExp #
type Rep OutputAnnotation # |
Instance details Defined in Idris.Core.TT type Rep OutputAnnotation = D1 ('MetaData "OutputAnnotation" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((((C1 ('MetaCons "AnnName" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NameOutput))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :+: C1 ('MetaCons "AnnBoundName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :+: (C1 ('MetaCons "AnnConst" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Const)) :+: C1 ('MetaCons "AnnData" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: ((C1 ('MetaCons "AnnType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "AnnKeyword" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AnnFC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FC)) :+: C1 ('MetaCons "AnnTextFmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextFormatting))))) :+: (((C1 ('MetaCons "AnnLink" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "AnnTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, Bool)]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT Name)))) :+: (C1 ('MetaCons "AnnSearchResult" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ordering)) :+: C1 ('MetaCons "AnnErr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Err)))) :+: ((C1 ('MetaCons "AnnNamespace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))) :+: C1 ('MetaCons "AnnQuasiquote" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AnnAntiquote" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AnnSyntax" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))))

data Provenance #

Constructors

ExpectedType |
TooManyArgs Term |
InferredVal |
GivenVal |
SourceTerm Term |

#### Instances

Instances details

Binary Provenance # |
Instance details Defined in Idris.Core.Binary Methods put :: Provenance -> Put # get :: Get Provenance # putList :: [Provenance] -> Put #
NFData Provenance # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Provenance -> () #
Data Provenance # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Provenance -> c Provenance # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Provenance # toConstr :: Provenance -> Constr # dataTypeOf :: Provenance -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Provenance) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Provenance) # gmapT :: (forall b. Data b => b -> b) -> Provenance -> Provenance # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Provenance -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Provenance -> r # gmapQ :: (forall d. Data d => d -> u) -> Provenance -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Provenance -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Provenance -> m Provenance # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Provenance -> m Provenance # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Provenance -> m Provenance #
Generic Provenance # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep Provenance |
Instance details Defined in Idris.Core.TT type Rep Provenance = D1 ('MetaData "Provenance" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "ExpectedType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TooManyArgs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "InferredVal" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GivenVal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))
Methods from :: Provenance -> Rep Provenance x # to :: Rep Provenance x -> Provenance #
Show Provenance # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Provenance -> ShowS # show :: Provenance -> String # showList :: [Provenance] -> ShowS #
Eq Provenance # |
Instance details Defined in Idris.Core.TT Methods (==) :: Provenance -> Provenance -> Bool # (/=) :: Provenance -> Provenance -> Bool #
Ord Provenance # |
Instance details Defined in Idris.Core.TT Methods compare :: Provenance -> Provenance -> Ordering # (<) :: Provenance -> Provenance -> Bool # (<=) :: Provenance -> Provenance -> Bool # (>) :: Provenance -> Provenance -> Bool # (>=) :: Provenance -> Provenance -> Bool # max :: Provenance -> Provenance -> Provenance # min :: Provenance -> Provenance -> Provenance #
type Rep Provenance # |
Instance details Defined in Idris.Core.TT type Rep Provenance = D1 ('MetaData "Provenance" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "ExpectedType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TooManyArgs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term))) :+: (C1 ('MetaCons "InferredVal" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GivenVal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term)))))

data Raw #

Constructors

Var Name |
RBind Name (Binder Raw) Raw |
RApp Raw Raw |
RType |
RUType Universe |
RConstant Const |

#### Instances

Instances details

Binary Raw # |
Instance details Defined in Idris.Core.Binary Methods put :: Raw -> Put # get :: Get Raw # putList :: [Raw] -> Put #
NFData Raw # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Raw -> () #
Data Raw # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Raw -> c Raw # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Raw # toConstr :: Raw -> Constr # dataTypeOf :: Raw -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Raw) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Raw) # gmapT :: (forall b. Data b => b -> b) -> Raw -> Raw # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Raw -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Raw -> r # gmapQ :: (forall d. Data d => d -> u) -> Raw -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Raw -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Raw -> m Raw # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Raw -> m Raw # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Raw -> m Raw #
Generic Raw # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep Raw |
Instance details Defined in Idris.Core.TT type Rep Raw = D1 ('MetaData "Raw" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "Var" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "RBind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binder Raw)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Raw))) :+: C1 ('MetaCons "RApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Raw) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Raw)))) :+: (C1 ('MetaCons "RType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RUType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Universe)) :+: C1 ('MetaCons "RConstant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Const)))))
Methods from :: Raw -> Rep Raw x # to :: Rep Raw x -> Raw #
Show Raw # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Raw -> ShowS # show :: Raw -> String # showList :: [Raw] -> ShowS #
Eq Raw # |
Instance details Defined in Idris.Core.TT Methods (==) :: Raw -> Raw -> Bool # (/=) :: Raw -> Raw -> Bool #
Ord Raw # |
Instance details Defined in Idris.Core.TT Methods compare :: Raw -> Raw -> Ordering # (<) :: Raw -> Raw -> Bool # (<=) :: Raw -> Raw -> Bool # (>) :: Raw -> Raw -> Bool # (>=) :: Raw -> Raw -> Bool # max :: Raw -> Raw -> Raw # min :: Raw -> Raw -> Raw #
type Rep Raw # |
Instance details Defined in Idris.Core.TT type Rep Raw = D1 ('MetaData "Raw" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) ((C1 ('MetaCons "Var" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons "RBind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Binder Raw)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Raw))) :+: C1 ('MetaCons "RApp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Raw) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Raw)))) :+: (C1 ('MetaCons "RType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RUType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Universe)) :+: C1 ('MetaCons "RConstant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Const)))))

data RigCount #

Constructors

Rig0 |
Rig1 |
RigW |

#### Instances

Instances details

ToJSON RigCount # |
Instance details Defined in IRTS.Portable Methods toJSON :: RigCount -> Value # toEncoding :: RigCount -> Encoding # toJSONList :: [RigCount] -> Value # toEncodingList :: [RigCount] -> Encoding # omitField :: RigCount -> Bool #
Binary RigCount # |
Instance details Defined in Idris.Core.Binary Methods put :: RigCount -> Put # get :: Get RigCount # putList :: [RigCount] -> Put #
NFData RigCount # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: RigCount -> () #
Data RigCount # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RigCount -> c RigCount # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RigCount # toConstr :: RigCount -> Constr # dataTypeOf :: RigCount -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RigCount) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RigCount) # gmapT :: (forall b. Data b => b -> b) -> RigCount -> RigCount # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RigCount -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RigCount -> r # gmapQ :: (forall d. Data d => d -> u) -> RigCount -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> RigCount -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> RigCount -> m RigCount # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RigCount -> m RigCount # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RigCount -> m RigCount #
Generic RigCount # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep RigCount |
Instance details Defined in Idris.Core.TT type Rep RigCount = D1 ('MetaData "RigCount" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "Rig0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Rig1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RigW" 'PrefixI 'False) (U1 :: Type -> Type)))
Methods from :: RigCount -> Rep RigCount x # to :: Rep RigCount x -> RigCount #
Show RigCount # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> RigCount -> ShowS # show :: RigCount -> String # showList :: [RigCount] -> ShowS #
Eq RigCount # |
Instance details Defined in Idris.Core.TT Methods (==) :: RigCount -> RigCount -> Bool # (/=) :: RigCount -> RigCount -> Bool #
Ord RigCount # |
Instance details Defined in Idris.Core.TT Methods compare :: RigCount -> RigCount -> Ordering # (<) :: RigCount -> RigCount -> Bool # (<=) :: RigCount -> RigCount -> Bool # (>) :: RigCount -> RigCount -> Bool # (>=) :: RigCount -> RigCount -> Bool # max :: RigCount -> RigCount -> RigCount # min :: RigCount -> RigCount -> RigCount #
type Rep RigCount # |
Instance details Defined in Idris.Core.TT type Rep RigCount = D1 ('MetaData "RigCount" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "Rig0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Rig1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RigW" 'PrefixI 'False) (U1 :: Type -> Type)))

data SpecialName #

Constructors

WhereN !Int !Name !Name |
WithN !Int !Name |
ImplementationN !Name [Text] |
ParentN !Name !Text |
MethodN !Name |
CaseN !FC' !Name |
ImplementationCtorN !Name |
MetaN !Name !Name |

#### Instances

Instances details

Binary SpecialName # |
Instance details Defined in Idris.Core.Binary Methods put :: SpecialName -> Put # get :: Get SpecialName # putList :: [SpecialName] -> Put #
NFData SpecialName # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: SpecialName -> () #
Data SpecialName # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SpecialName -> c SpecialName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SpecialName # toConstr :: SpecialName -> Constr # dataTypeOf :: SpecialName -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SpecialName) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SpecialName) # gmapT :: (forall b. Data b => b -> b) -> SpecialName -> SpecialName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SpecialName -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SpecialName -> r # gmapQ :: (forall d. Data d => d -> u) -> SpecialName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SpecialName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SpecialName -> m SpecialName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SpecialName -> m SpecialName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SpecialName -> m SpecialName #
Generic SpecialName # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep SpecialName |
Instance details Defined in Idris.Core.TT type Rep SpecialName = D1 ('MetaData "SpecialName" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((C1 ('MetaCons "WhereN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name))) :+: C1 ('MetaCons "WithN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name))) :+: (C1 ('MetaCons "ImplementationN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text])) :+: C1 ('MetaCons "ParentN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) :+: ((C1 ('MetaCons "MethodN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name)) :+: C1 ('MetaCons "CaseN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FC') :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name))) :+: (C1 ('MetaCons "ImplementationCtorN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name)) :+: C1 ('MetaCons "MetaN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name)))))
Methods from :: SpecialName -> Rep SpecialName x # to :: Rep SpecialName x -> SpecialName #
Show SpecialName # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> SpecialName -> ShowS # show :: SpecialName -> String # showList :: [SpecialName] -> ShowS #
Eq SpecialName # |
Instance details Defined in Idris.Core.TT Methods (==) :: SpecialName -> SpecialName -> Bool # (/=) :: SpecialName -> SpecialName -> Bool #
Ord SpecialName # |
Instance details Defined in Idris.Core.TT Methods compare :: SpecialName -> SpecialName -> Ordering # (<) :: SpecialName -> SpecialName -> Bool # (<=) :: SpecialName -> SpecialName -> Bool # (>) :: SpecialName -> SpecialName -> Bool # (>=) :: SpecialName -> SpecialName -> Bool # max :: SpecialName -> SpecialName -> SpecialName # min :: SpecialName -> SpecialName -> SpecialName #
type Rep SpecialName # |
Instance details Defined in Idris.Core.TT type Rep SpecialName = D1 ('MetaData "SpecialName" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((C1 ('MetaCons "WhereN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name))) :+: C1 ('MetaCons "WithN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name))) :+: (C1 ('MetaCons "ImplementationN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text])) :+: C1 ('MetaCons "ParentN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) :+: ((C1 ('MetaCons "MethodN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name)) :+: C1 ('MetaCons "CaseN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FC') :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name))) :+: (C1 ('MetaCons "ImplementationCtorN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name)) :+: C1 ('MetaCons "MetaN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name)))))

data TC a #

Constructors

OK !a |
Error Err |

#### Instances

Instances details

Alternative TC # |
Instance details Defined in Idris.Core.TT Methods empty :: TC a # (<|>) :: TC a -> TC a -> TC a # some :: TC a -> TC [a] # many :: TC a -> TC [a] #
Applicative TC # |
Instance details Defined in Idris.Core.TT Methods pure :: a -> TC a # (<*>) :: TC (a -> b) -> TC a -> TC b # liftA2 :: (a -> b -> c) -> TC a -> TC b -> TC c # (*>) :: TC a -> TC b -> TC b # (<*) :: TC a -> TC b -> TC a #
Functor TC # |
Instance details Defined in Idris.Core.TT Methods fmap :: (a -> b) -> TC a -> TC b # (<$) :: a -> TC b -> TC a #
Monad TC # |
Instance details Defined in Idris.Core.TT Methods (>>=) :: TC a -> (a -> TC b) -> TC b # (>>) :: TC a -> TC b -> TC b # return :: a -> TC a #
MonadPlus TC # |
Instance details Defined in Idris.Core.TT Methods mzero :: TC a # mplus :: TC a -> TC a -> TC a #
MonadFail TC # |
Instance details Defined in Idris.Core.TT Methods fail :: String -> TC a #
Show a => Show (TC a) # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> TC a -> ShowS # show :: TC a -> String # showList :: [TC a] -> ShowS #
Eq a => Eq (TC a) # |
Instance details Defined in Idris.Core.TT Methods (==) :: TC a -> TC a -> Bool # (/=) :: TC a -> TC a -> Bool #

type Term = TT Name #

class TermSize a where #

Methods

termsize :: Name -> a -> Int #

#### Instances

Instances details

TermSize CaseAlt # |
Instance details Defined in Idris.Core.CaseTree Methods termsize :: Name -> CaseAlt -> Int #
TermSize SC # |
Instance details Defined in Idris.Core.CaseTree Methods termsize :: Name -> SC -> Int #
TermSize (TT Name) # |
Instance details Defined in Idris.Core.TT Methods termsize :: Name -> TT Name -> Int #
TermSize a => TermSize [a] # |
Instance details Defined in Idris.Core.TT Methods termsize :: Name -> [a] -> Int #

data TextFormatting #

Text formatting output

Constructors

BoldText |
ItalicText |
UnderlineText |

#### Instances

Instances details

NFData TextFormatting # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: TextFormatting -> () #
Generic TextFormatting # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep TextFormatting |
Instance details Defined in Idris.Core.TT type Rep TextFormatting = D1 ('MetaData "TextFormatting" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "BoldText" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ItalicText" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnderlineText" 'PrefixI 'False) (U1 :: Type -> Type)))
Methods from :: TextFormatting -> Rep TextFormatting x # to :: Rep TextFormatting x -> TextFormatting #
Show TextFormatting # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> TextFormatting -> ShowS # show :: TextFormatting -> String # showList :: [TextFormatting] -> ShowS #
Eq TextFormatting # |
Instance details Defined in Idris.Core.TT Methods (==) :: TextFormatting -> TextFormatting -> Bool # (/=) :: TextFormatting -> TextFormatting -> Bool #
Ord TextFormatting # |
Instance details Defined in Idris.Core.TT Methods compare :: TextFormatting -> TextFormatting -> Ordering # (<) :: TextFormatting -> TextFormatting -> Bool # (<=) :: TextFormatting -> TextFormatting -> Bool # (>) :: TextFormatting -> TextFormatting -> Bool # (>=) :: TextFormatting -> TextFormatting -> Bool # max :: TextFormatting -> TextFormatting -> TextFormatting # min :: TextFormatting -> TextFormatting -> TextFormatting #
type Rep TextFormatting # |
Instance details Defined in Idris.Core.TT type Rep TextFormatting = D1 ('MetaData "TextFormatting" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "BoldText" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ItalicText" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnderlineText" 'PrefixI 'False) (U1 :: Type -> Type)))

data TT n #

Terms in the core language. The type parameter is the type of identifiers used for bindings and explicit named references; usually we use `TT `Name``.

Constructors

P NameType n (TT n) | named references with type (P for Parameter, motivated by McKinna and Pollack's Pure Type Systems Formalized)
V !Int | a resolved de Bruijn-indexed variable
Bind n !(Binder (TT n)) (TT n) | a binding
App (AppStatus n) !(TT n) (TT n) | function, function type, arg
Constant Const | constant
Proj (TT n) !Int | argument projection; runtime only (-1) is a special case for 'subtract one from BI'
Erased | an erased term
Impossible | special case for totality checking
Inferred (TT n) | For building case trees when coverage checkimg only. Marks a term as being inferred by the machine, rather than given by the programmer
TType UExp | the type of types at some level
UType Universe | Uniqueness type universe (disjoint from TType)

#### Instances

Instances details

Binary CaseAlt # |
Instance details Defined in Idris.IBC Methods put :: CaseAlt -> Put # get :: Get CaseAlt # putList :: [CaseAlt] -> Put #
Binary SC # |
Instance details Defined in Idris.IBC Methods put :: SC -> Put # get :: Get SC # putList :: [SC] -> Put #
NFData Err # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Err -> () #
Functor TT # |
Instance details Defined in Idris.Core.TT Methods fmap :: (a -> b) -> TT a -> TT b # (<$) :: a -> TT b -> TT a #
Show Err # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Err -> ShowS # show :: Err -> String # showList :: [Err] -> ShowS #
TermSize CaseAlt # |
Instance details Defined in Idris.Core.CaseTree Methods termsize :: Name -> CaseAlt -> Int #
TermSize SC # |
Instance details Defined in Idris.Core.CaseTree Methods termsize :: Name -> SC -> Int #
ToJSON t => ToJSON (TT t) # |
Instance details Defined in IRTS.Portable Methods toJSON :: TT t -> Value # toEncoding :: TT t -> Encoding # toJSONList :: [TT t] -> Value # toEncodingList :: [TT t] -> Encoding # omitField :: TT t -> Bool #
Binary (TT Name) # |
Instance details Defined in Idris.Core.Binary Methods put :: TT Name -> Put # get :: Get (TT Name) # putList :: [TT Name] -> Put #
NFData n => NFData (TT n) # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: TT n -> () #
Data n => Data (TT n) # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TT n -> c (TT n) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TT n) # toConstr :: TT n -> Constr # dataTypeOf :: TT n -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (TT n)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (TT n)) # gmapT :: (forall b. Data b => b -> b) -> TT n -> TT n # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TT n -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TT n -> r # gmapQ :: (forall d. Data d => d -> u) -> TT n -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TT n -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TT n -> m (TT n) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TT n -> m (TT n) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TT n -> m (TT n) #
Generic (TT n) # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep (TT n) |
Instance details Defined in Idris.Core.TT type Rep (TT n) = D1 ('MetaData "TT" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameType) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n)))) :+: C1 ('MetaCons "V" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "Bind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Binder (TT n))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n)))) :+: (C1 ('MetaCons "App" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AppStatus n)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TT n)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n)))) :+: C1 ('MetaCons "Constant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Const))))) :+: ((C1 ('MetaCons "Proj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: (C1 ('MetaCons "Erased" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Impossible" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Inferred" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n))) :+: (C1 ('MetaCons "TType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp)) :+: C1 ('MetaCons "UType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Universe))))))
Methods from :: TT n -> Rep (TT n) x # to :: Rep (TT n) x -> TT n #
(Eq n, Show n) => Show (TT n) # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> TT n -> ShowS # show :: TT n -> String # showList :: [TT n] -> ShowS #
Eq n => Eq (TT n) # |
Instance details Defined in Idris.Core.TT Methods (==) :: TT n -> TT n -> Bool # (/=) :: TT n -> TT n -> Bool #
Ord n => Ord (TT n) # |
Instance details Defined in Idris.Core.TT Methods compare :: TT n -> TT n -> Ordering # (<) :: TT n -> TT n -> Bool # (<=) :: TT n -> TT n -> Bool # (>) :: TT n -> TT n -> Bool # (>=) :: TT n -> TT n -> Bool # max :: TT n -> TT n -> TT n # min :: TT n -> TT n -> TT n #
TermSize (TT Name) # |
Instance details Defined in Idris.Core.TT Methods termsize :: Name -> TT Name -> Int #
type Rep (TT n) # |
Instance details Defined in Idris.Core.TT type Rep (TT n) = D1 ('MetaData "TT" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (((C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameType) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n)))) :+: C1 ('MetaCons "V" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "Bind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 n) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Binder (TT n))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n)))) :+: (C1 ('MetaCons "App" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AppStatus n)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TT n)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n)))) :+: C1 ('MetaCons "Constant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Const))))) :+: ((C1 ('MetaCons "Proj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: (C1 ('MetaCons "Erased" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Impossible" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Inferred" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TT n))) :+: (C1 ('MetaCons "TType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp)) :+: C1 ('MetaCons "UType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Universe))))))

type Type = Term #

data TypeInfo #

Constructors

TI |
Fields con_names :: [Name] codata :: Bool data_opts :: DataOpts param_pos :: [Int] mutual_types :: [Name] linear_con :: Bool

#### Instances

Instances details

Binary TypeInfo # |
Instance details Defined in Idris.IBC Methods put :: TypeInfo -> Put # get :: Get TypeInfo # putList :: [TypeInfo] -> Put #
NFData TypeInfo # |
Instance details Defined in Idris.DeepSeq Methods rnf :: TypeInfo -> () #
Generic TypeInfo # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep TypeInfo |
Instance details Defined in Idris.Core.TT type Rep TypeInfo = D1 ('MetaData "TypeInfo" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "TI" 'PrefixI 'True) ((S1 ('MetaSel ('Just "con_names") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: (S1 ('MetaSel ('Just "codata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "data_opts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOpts))) :*: (S1 ('MetaSel ('Just "param_pos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: (S1 ('MetaSel ('Just "mutual_types") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Just "linear_con") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))
Methods from :: TypeInfo -> Rep TypeInfo x # to :: Rep TypeInfo x -> TypeInfo #
Show TypeInfo # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> TypeInfo -> ShowS # show :: TypeInfo -> String # showList :: [TypeInfo] -> ShowS #
type Rep TypeInfo # |
Instance details Defined in Idris.Core.TT type Rep TypeInfo = D1 ('MetaData "TypeInfo" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "TI" 'PrefixI 'True) ((S1 ('MetaSel ('Just "con_names") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: (S1 ('MetaSel ('Just "codata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "data_opts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataOpts))) :*: (S1 ('MetaSel ('Just "param_pos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: (S1 ('MetaSel ('Just "mutual_types") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name]) :*: S1 ('MetaSel ('Just "linear_con") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

data UConstraint #

Universe constraints

Constructors

ULT UExp UExp | Strictly less than
ULE UExp UExp | Less than or equal to

#### Instances

Instances details

Binary UConstraint # |
Instance details Defined in Idris.Core.Binary Methods put :: UConstraint -> Put # get :: Get UConstraint # putList :: [UConstraint] -> Put #
NFData UConstraint # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: UConstraint -> () #
Data UConstraint # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UConstraint -> c UConstraint # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UConstraint # toConstr :: UConstraint -> Constr # dataTypeOf :: UConstraint -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UConstraint) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UConstraint) # gmapT :: (forall b. Data b => b -> b) -> UConstraint -> UConstraint # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UConstraint -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UConstraint -> r # gmapQ :: (forall d. Data d => d -> u) -> UConstraint -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UConstraint -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UConstraint -> m UConstraint # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UConstraint -> m UConstraint # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UConstraint -> m UConstraint #
Generic UConstraint # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep UConstraint |
Instance details Defined in Idris.Core.TT type Rep UConstraint = D1 ('MetaData "UConstraint" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "ULT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp)) :+: C1 ('MetaCons "ULE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp)))
Methods from :: UConstraint -> Rep UConstraint x # to :: Rep UConstraint x -> UConstraint #
Show UConstraint # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> UConstraint -> ShowS # show :: UConstraint -> String # showList :: [UConstraint] -> ShowS #
Eq UConstraint # |
Instance details Defined in Idris.Core.TT Methods (==) :: UConstraint -> UConstraint -> Bool # (/=) :: UConstraint -> UConstraint -> Bool #
Ord UConstraint # |
Instance details Defined in Idris.Core.TT Methods compare :: UConstraint -> UConstraint -> Ordering # (<) :: UConstraint -> UConstraint -> Bool # (<=) :: UConstraint -> UConstraint -> Bool # (>) :: UConstraint -> UConstraint -> Bool # (>=) :: UConstraint -> UConstraint -> Bool # max :: UConstraint -> UConstraint -> UConstraint # min :: UConstraint -> UConstraint -> UConstraint #
type Rep UConstraint # |
Instance details Defined in Idris.Core.TT type Rep UConstraint = D1 ('MetaData "UConstraint" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "ULT" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp)) :+: C1 ('MetaCons "ULE" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UExp)))

type UCs = (Int, [UConstraint]) #

data UExp #

Universe expressions for universe checking

Constructors

UVar String Int | universe variable, with source file to disambiguate
UVal Int | explicit universe level

#### Instances

Instances details

ToJSON UExp # |
Instance details Defined in IRTS.Portable Methods toJSON :: UExp -> Value # toEncoding :: UExp -> Encoding # toJSONList :: [UExp] -> Value # toEncodingList :: [UExp] -> Encoding # omitField :: UExp -> Bool #
Binary UExp # |
Instance details Defined in Idris.Core.Binary Methods put :: UExp -> Put # get :: Get UExp # putList :: [UExp] -> Put #
NFData UExp # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: UExp -> () #
Data UExp # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UExp -> c UExp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UExp # toConstr :: UExp -> Constr # dataTypeOf :: UExp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UExp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UExp) # gmapT :: (forall b. Data b => b -> b) -> UExp -> UExp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UExp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UExp -> r # gmapQ :: (forall d. Data d => d -> u) -> UExp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UExp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UExp -> m UExp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UExp -> m UExp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UExp -> m UExp #
Generic UExp # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep UExp |
Instance details Defined in Idris.Core.TT type Rep UExp = D1 ('MetaData "UExp" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "UVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "UVal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))
Methods from :: UExp -> Rep UExp x # to :: Rep UExp x -> UExp #
Show UExp # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> UExp -> ShowS # show :: UExp -> String # showList :: [UExp] -> ShowS #
Eq UExp # |
Instance details Defined in Idris.Core.TT Methods (==) :: UExp -> UExp -> Bool # (/=) :: UExp -> UExp -> Bool #
Ord UExp # |
Instance details Defined in Idris.Core.TT Methods compare :: UExp -> UExp -> Ordering # (<) :: UExp -> UExp -> Bool # (<=) :: UExp -> UExp -> Bool # (>) :: UExp -> UExp -> Bool # (>=) :: UExp -> UExp -> Bool # max :: UExp -> UExp -> UExp # min :: UExp -> UExp -> UExp #
type Rep UExp # |
Instance details Defined in Idris.Core.TT type Rep UExp = D1 ('MetaData "UExp" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "UVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "UVal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

data Universe #

Constructors

NullType |
UniqueType |
AllTypes |

#### Instances

Instances details

Binary Universe # |
Instance details Defined in Idris.Core.Binary Methods put :: Universe -> Put # get :: Get Universe # putList :: [Universe] -> Put #
NFData Universe # |
Instance details Defined in Idris.Core.DeepSeq Methods rnf :: Universe -> () #
Data Universe # |
Instance details Defined in Idris.Core.TT Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Universe -> c Universe # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Universe # toConstr :: Universe -> Constr # dataTypeOf :: Universe -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Universe) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Universe) # gmapT :: (forall b. Data b => b -> b) -> Universe -> Universe # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Universe -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Universe -> r # gmapQ :: (forall d. Data d => d -> u) -> Universe -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Universe -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Universe -> m Universe # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Universe -> m Universe # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Universe -> m Universe #
Generic Universe # |
Instance details Defined in Idris.Core.TT Associated Types
type Rep Universe |
Instance details Defined in Idris.Core.TT type Rep Universe = D1 ('MetaData "Universe" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "NullType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UniqueType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AllTypes" 'PrefixI 'False) (U1 :: Type -> Type)))
Methods from :: Universe -> Rep Universe x # to :: Rep Universe x -> Universe #
Show Universe # |
Instance details Defined in Idris.Core.TT Methods showsPrec :: Int -> Universe -> ShowS # show :: Universe -> String # showList :: [Universe] -> ShowS #
Eq Universe # |
Instance details Defined in Idris.Core.TT Methods (==) :: Universe -> Universe -> Bool # (/=) :: Universe -> Universe -> Bool #
Ord Universe # |
Instance details Defined in Idris.Core.TT Methods compare :: Universe -> Universe -> Ordering # (<) :: Universe -> Universe -> Bool # (<=) :: Universe -> Universe -> Bool # (>) :: Universe -> Universe -> Bool # (>=) :: Universe -> Universe -> Bool # max :: Universe -> Universe -> Universe # min :: Universe -> Universe -> Universe #
type Rep Universe # |
Instance details Defined in Idris.Core.TT type Rep Universe = D1 ('MetaData "Universe" "Idris.Core.TT" "idris-1.3.4-CzetPXHz9szL2e7hoCyB4A" 'False) (C1 ('MetaCons "NullType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UniqueType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AllTypes" 'PrefixI 'False) (U1 :: Type -> Type)))

addAlist :: [(Name, a)] -> Ctxt a -> Ctxt a #

addBinder :: TT n -> TT n #

addDef :: Name -> a -> Ctxt a -> Ctxt a #

allTTNames :: Eq n => TT n -> [n] #

arity :: TT n -> Int #

Return the arity of a (normalised) type

bindAll :: [(n, Binder (TT n))] -> TT n -> TT n #

Introduce a `Bind` into the given term for each element of the given list of (name, binder) pairs.

bindingOf #

Arguments

:: Name | ^ the bound name
-> Bool | ^ whether the name is implicit
-> Doc OutputAnnotation |

Pretty-printer helper for the binding site of a name

bindTyArgs :: (TT n -> Binder (TT n)) -> [(n, TT n)] -> TT n -> TT n #

Like `bindAll`, but the `Binder`s are `TT` terms instead. The first argument is a function to map `TT` terms to `Binder`s. This function might often be something like `Lam`, which directly constructs a `Binder` from a `TT` term.

caseName :: Name -> Bool #

constDocs :: Const -> String #

Get the docstring for a Const

constIsType :: Const -> Bool #

Determines whether the input constant represents a type

deleteDefExact :: Name -> Ctxt a -> Ctxt a #

discard :: Monad m => m a -> m () #

emptyContext :: Map k a #

emptyFC :: FC #

Empty source location

explicitNames :: TT n -> TT n #

Replace all non-free de Bruijn references in the given term with references to the name of their binding.

fc_end :: FC -> (Int, Int) #

Give a notion of end location associated with an FC

fc_fname :: FC -> String #

Give a notion of filename associated with an FC

fc_start :: FC -> (Int, Int) #

Give a notion of start location associated with an FC

fcIn :: FC -> FC -> Bool #

Determine whether the first argument is completely contained in the second

fileFC :: String -> FC #

Source location with file only

finalise :: Eq n => TT n -> TT n #

Replace every non-free reference to the name of a binding in the given term with a de Bruijn index.

fmapMB :: Monad m => (a -> m b) -> Binder a -> m (Binder b) #

forget :: TT Name -> Raw #

Cast a `TT` term to a `Raw` value, discarding universe information and the types of named references and replacing all de Bruijn indices with the corresponding name. It is an error if there are free de Bruijn indices.

forgetEnv :: [Name] -> TT Name -> Raw #

freeNames :: Eq n => TT n -> [n] #

Returns all names used free in the term

getArgTys :: TT n -> [(n, TT n)] #

Return a list of pairs of the names of the outermost `Pi`-bound variables in the given term, together with their types.

getRetTy :: TT n -> TT n #

substRetTy :: TT n -> TT n #

As getRetTy but substitutes names for de Bruijn indices

implicitable :: Name -> Bool #

instantiate :: TT n -> TT n -> TT n #

Replace the outermost (index 0) de Bruijn variable with the given term

internalNS :: String #

intTyName :: IntTy -> String #

isInjective :: TT n -> Bool #

A term is injective iff it is a data constructor, type constructor, constant, the type Type, pi-binding, or an application of an injective term.

isTypeConst :: Const -> Bool #

lookupCtxt :: Name -> Ctxt a -> [a] #

lookupCtxtExact :: Name -> Ctxt a -> Maybe a #

lookupCtxtName :: Name -> Ctxt a -> [(Name, a)] #

Look up a name in the context, given an optional namespace. The name (n) may itself have a (partial) namespace given.

Rules for resolution:

- if an explicit namespace is given, return the names which match it. If none match, return all names.
- if the name has has explicit namespace given, return the names which match it and ignore the given namespace.
- otherwise, return all names.

mapCtxt :: (a -> b) -> Ctxt a -> Ctxt b #

mkApp :: TT n -> [TT n] -> TT n #

Returns a term representing the application of the first argument (a function) to every element of the second argument.

nativeTyWidth :: NativeTy -> Int #

nextName :: Name -> Name #

noOccurrence :: Eq n => n -> TT n -> Bool #

Returns true if V 0 and bound name n do not occur in the term

nsroot :: Name -> Name #

occurrences :: Eq n => n -> TT n -> Int #

Return number of occurrences of V 0 or bound name i the term

pEraseType :: TT n -> TT n #

pmap :: (t -> b) -> (t, t) -> (b, b) #

pprintRaw #

Arguments

:: [Name] | Bound names, for highlighting
-> Raw | The term to pretty-print
-> Doc OutputAnnotation |

Pretty-print a raw term.

pprintTT #

Arguments

:: [Name] | The bound names (for highlighting and de Bruijn indices)
-> TT Name | The term to be printed
-> Doc OutputAnnotation |

Pretty-print a term

pprintTTClause :: [(Name, Type)] -> Term -> Term -> Doc OutputAnnotation #

prettyEnv :: Env -> Term -> Doc OutputAnnotation #

psubst :: Eq n => n -> TT n -> TT n -> TT n #

pToV :: Eq n => n -> TT n -> TT n #

Replace references to the given `Name`-like id with references to de Bruijn index 0.

pToVs :: Eq n => [n] -> TT n -> TT n #

Convert several names. First in the list comes out as V 0

pureTerm :: TT Name -> Bool #

Check whether a term has any hole bindings in it - impure if so

raw_apply :: Raw -> [Raw] -> Raw #

raw_unapply :: Raw -> (Raw, [Raw]) #

refsIn :: TT Name -> [Name] #

safeForget :: TT Name -> Maybe Raw #

safeForgetEnv :: [Name] -> TT Name -> Maybe Raw #

showCG :: Name -> String #

showEnv :: (Eq n, Show n) => EnvTT n -> TT n -> String #

showEnvDbg :: (Show a, Eq a) => [(a, RigCount, Binder (TT a))] -> TT a -> [Char] #

showSep :: String -> [String] -> String #

sImplementationN :: Name -> [String] -> SpecialName #

sMN :: Int -> String -> Name #

sNS :: Name -> [String] -> Name #

str :: Text -> String #

subst #

Arguments

:: Eq n |
=> n | The id to replace
-> TT n | The replacement term
-> TT n | The term to replace in
-> TT n |

As `instantiate`, but in addition to replacing ``V` 0`, replace references to the given `Name`-like id.

substNames :: Eq n => [(n, TT n)] -> TT n -> TT n #

As `subst`, but takes a list of (name, substitution) pairs instead of a single name and substitution

substTerm #

Arguments

:: Eq n |
=> TT n | Old term
-> TT n | New term
-> TT n | template term
-> TT n |

Replaces all terms equal (in the sense of `(==)`) to the old term with the new term.

substV :: TT n -> TT n -> TT n #

As `instantiate`, but also decrement the indices of all de Bruijn variables remaining in the term, so that there are no more references to the variable that has been substituted.

sUN :: String -> Name #

tcname :: Name -> Bool #

Return True if the argument `Name` should be interpreted as the name of a interface.

termSmallerThan :: Int -> Term -> Bool #

Hard-code a heuristic maximum term size, to prevent attempts to serialize or force infinite or just gigantic terms

tfail :: Err -> TC a #

thead :: Text -> Char #

tnull :: Text -> Bool #

toAlist :: Ctxt a -> [(Name, a)] #

traceWhen :: Bool -> String -> a -> a #

txt :: String -> Text #

unApply :: TT n -> (TT n, [TT n]) #

Deconstruct an application; returns the function and a list of arguments

uniqueBinders :: [Name] -> TT Name -> TT Name #

uniqueName :: Name -> [Name] -> Name #

uniqueNameFrom :: [Name] -> [Name] -> Name #

uniqueNameSet :: Name -> Set Name -> Name #

unList :: Term -> Maybe [Term] #

updateDef :: Name -> (a -> a) -> Ctxt a -> Ctxt a #

vToP :: TT n -> TT n #

Replace de Bruijn indices in the given term with explicit references to the names of the bindings they refer to. It is an error if the given term contains free de Bruijn indices.

weakenTm :: Int -> TT n -> TT n #

Weaken a term by adding i to each de Bruijn index (i.e. lift it over i bindings)

rigPlus :: RigCount -> RigCount -> RigCount #

rigMult :: RigCount -> RigCount -> RigCount #

fstEnv :: (a, b, c) -> a #

rigEnv :: (a, b, c) -> b #

sndEnv :: (a, b, c) -> c #

lookupBinder :: Eq n => n -> EnvTT n -> Maybe (Binder (TT n)) #

envBinders :: [(a, b1, b2)] -> [(a, b2)] #

envZero :: [(a, b, c)] -> [(a, RigCount, c)] #