idris-1.0: Functional Programming Language with Dependent Types

Copyright | License : BSD3
Maintainer | The Idris Community.
Safe Haskell | None
Language | Haskell98

Idris.AbsSyntaxTree

Description

Synopsis

- data ElabWhat
  - = ETypes
  - | EDefns
  - | EAll
- data ElabInfo = EInfo {
  - params :: [(Name, PTerm)]
  - inblock :: Ctxt [Name]
  - liftname :: Name -> Name
  - namespace :: [String]
  - elabFC :: Maybe FC
  - constraintNS :: String
  - pe_depth :: Int
  - noCaseLift :: [Name]
  - rhs_trans :: PTerm -> PTerm
  - rec_elabDecl :: ElabWhat -> ElabInfo -> PDecl -> Idris ()
  }
- toplevel :: ElabInfo
- toplevelWith :: String -> ElabInfo
- eInfoNames :: ElabInfo -> [Name]
- data IOption = IOption {
  - opt_logLevel :: Int
  - opt_logcats :: [LogCat]
  - opt_typecase :: Bool
  - opt_typeintype :: Bool
  - opt_coverage :: Bool
  - opt_showimp :: Bool
  - opt_errContext :: Bool
  - opt_repl :: Bool
  - opt_verbose :: Int
  - opt_nobanner :: Bool
  - opt_quiet :: Bool
  - opt_codegen :: Codegen
  - opt_outputTy :: OutputType
  - opt_ibcsubdir :: FilePath
  - opt_importdirs :: [FilePath]
  - opt_sourcedirs :: [FilePath]
  - opt_triple :: String
  - opt_cpu :: String
  - opt_cmdline :: [Opt]
  - opt_origerr :: Bool
  - opt_autoSolve :: Bool
  - opt_autoImport :: [FilePath]
  - opt_optimise :: [Optimisation]
  - opt_printdepth :: Maybe Int
  - opt_evaltypes :: Bool
  - opt_desugarnats :: Bool
  - opt_autoimpls :: Bool
  }
- defaultOpts :: IOption
- data PPOption = PPOption {
  - ppopt_impl :: Bool
  - ppopt_desugarnats :: Bool
  - ppopt_pinames :: Bool
  - ppopt_depth :: Maybe Int
  }
- data Optimisation = PETransform
- defaultOptimise :: [Optimisation]
- defaultPPOption :: PPOption
- verbosePPOption :: PPOption
- ppOption :: IOption -> PPOption
- ppOptionIst :: IState -> PPOption
- data LanguageExt
  - = TypeProviders
  - | ErrorReflection
  - | UniquenessTypes
  - | DSLNotation
  - | ElabReflection
  - | FCReflection
  - | LinearTypes
- data OutputMode
  - = RawOutput Handle
  - | IdeMode Integer Handle
- data ConsoleWidth
  - = InfinitelyWide
  - | ColsWide Int
  - | AutomaticWidth
- data DefaultTotality
  - = DefaultCheckingTotal
  - | DefaultCheckingPartial
  - | DefaultCheckingCovering
- data InteractiveOpts = InteractiveOpts {
  - interactiveOpts_indentWith :: Int
  - interactiveOpts_indentClause :: Int
  }
- data IState = IState {
  - tt_ctxt :: Context
  - idris_constraints :: Set ConstraintFC
  - idris_infixes :: [FixDecl]
  - idris_implicits :: Ctxt [PArg]
  - idris_statics :: Ctxt [Bool]
  - idris_interfaces :: Ctxt InterfaceInfo
  - idris_openimpls :: [Name]
  - idris_records :: Ctxt RecordInfo
  - idris_dsls :: Ctxt DSL
  - idris_optimisation :: Ctxt OptInfo
  - idris_datatypes :: Ctxt TypeInfo
  - idris_namehints :: Ctxt [Name]
  - idris_patdefs :: Ctxt ([([(Name, Term)], Term, Term)], [PTerm])
  - idris_flags :: Ctxt [FnOpt]
  - idris_callgraph :: Ctxt CGInfo
  - idris_docstrings :: Ctxt (Docstring DocTerm, [(Name, Docstring DocTerm)])
  - idris_moduledocs :: Ctxt (Docstring DocTerm)
  - idris_tyinfodata :: Ctxt TIData
  - idris_fninfo :: Ctxt FnInfo
  - idris_transforms :: Ctxt [(Term, Term)]
  - idris_autohints :: Ctxt [Name]
  - idris_totcheck :: [(FC, Name)]
  - idris_defertotcheck :: [(FC, Name)]
  - idris_totcheckfail :: [(FC, String)]
  - idris_options :: IOption
  - idris_name :: Int
  - idris_lineapps :: [((FilePath, Int), PTerm)]
  - idris_metavars :: [(Name, (Maybe Name, Int, [Name], Bool, Bool))]
  - idris_coercions :: [Name]
  - idris_errRev :: [(Term, Term)]
  - idris_errReduce :: [Name]
  - syntax_rules :: SyntaxRules
  - syntax_keywords :: [String]
  - imported :: [FilePath]
  - idris_scprims :: [(Name, (Int, PrimFn))]
  - idris_objs :: [(Codegen, FilePath)]
  - idris_libs :: [(Codegen, String)]
  - idris_cgflags :: [(Codegen, String)]
  - idris_hdrs :: [(Codegen, String)]
  - idris_imported :: [(FilePath, Bool)]
  - proof_list :: [(Name, (Bool, [String]))]
  - errSpan :: Maybe FC
  - parserWarnings :: [(FC, Err)]
  - lastParse :: Maybe Name
  - indent_stack :: [Int]
  - brace_stack :: [Maybe Int]
  - lastTokenSpan :: Maybe FC
  - idris_parsedSpan :: Maybe FC
  - hide_list :: Ctxt Accessibility
  - default_access :: Accessibility
  - default_total :: DefaultTotality
  - ibc_write :: [IBCWrite]
  - compiled_so :: Maybe String
  - idris_dynamic_libs :: [DynamicLib]
  - idris_language_extensions :: [LanguageExt]
  - idris_outputmode :: OutputMode
  - idris_colourRepl :: Bool
  - idris_colourTheme :: ColourTheme
  - idris_errorhandlers :: [Name]
  - idris_nameIdx :: (Int, Ctxt (Int, Name))
  - idris_function_errorhandlers :: Ctxt (Map Name (Set Name))
  - module_aliases :: Map [Text] [Text]
  - idris_consolewidth :: ConsoleWidth
  - idris_postulates :: Set Name
  - idris_externs :: Set (Name, Int)
  - idris_erasureUsed :: [(Name, Int)]
  - idris_repl_defs :: [Name]
  - elab_stack :: [(Name, Bool)]
  - idris_symbols :: Map Name Name
  - idris_exports :: [Name]
  - idris_highlightedRegions :: [(FC, OutputAnnotation)]
  - idris_parserHighlights :: [(FC, OutputAnnotation)]
  - idris_deprecated :: Ctxt String
  - idris_inmodule :: Set Name
  - idris_ttstats :: Map Term (Int, Term)
  - idris_fragile :: Ctxt String
  - idris_interactiveOpts :: InteractiveOpts
  }
- data SizeChange
  - = Smaller
  - | Same
  - | Bigger
  - | Unknown
- type SCGEntry = (Name, [Maybe (Int, SizeChange)])
- type UsageReason = (Name, Int)
- data CGInfo = CGInfo {
  - calls :: [Name]
  - allCalls :: Maybe [Name]
  - scg :: [SCGEntry]
  - usedpos :: [(Int, [UsageReason])]
  }
- primDefs :: [Name]
- data IBCWrite
  - = IBCFix FixDecl
  - | IBCImp Name
  - | IBCStatic Name
  - | IBCInterface Name
  - | IBCRecord Name
  - | IBCImplementation Bool Bool Name Name
  - | IBCDSL Name
  - | IBCData Name
  - | IBCOpt Name
  - | IBCMetavar Name
  - | IBCSyntax Syntax
  - | IBCKeyword String
  - | IBCImport (Bool, FilePath)
  - | IBCImportDir FilePath
  - | IBCSourceDir FilePath
  - | IBCObj Codegen FilePath
  - | IBCLib Codegen String
  - | IBCCGFlag Codegen String
  - | IBCDyLib String
  - | IBCHeader Codegen String
  - | IBCAccess Name Accessibility
  - | IBCMetaInformation Name MetaInformation
  - | IBCTotal Name Totality
  - | IBCInjective Name Injectivity
  - | IBCFlags Name
  - | IBCFnInfo Name FnInfo
  - | IBCTrans Name (Term, Term)
  - | IBCErrRev (Term, Term)
  - | IBCErrReduce Name
  - | IBCCG Name
  - | IBCDoc Name
  - | IBCCoercion Name
  - | IBCDef Name
  - | IBCNameHint (Name, Name)
  - | IBCLineApp FilePath Int PTerm
  - | IBCErrorHandler Name
  - | IBCFunctionErrorHandler Name Name Name
  - | IBCPostulate Name
  - | IBCExtern (Name, Int)
  - | IBCTotCheckErr FC String
  - | IBCParsedRegion FC
  - | IBCModDocs Name
  - | IBCUsage (Name, Int)
  - | IBCExport Name
  - | IBCAutoHint Name Name
  - | IBCDeprecate Name String
  - | IBCFragile Name String
  - | IBCConstraint FC UConstraint
- initialInteractiveOpts :: InteractiveOpts
- idrisInit :: IState
- type Idris = StateT IState (ExceptT Err IO)
- catchError :: Idris a -> (Err -> Idris a) -> Idris a
- throwError :: Err -> Idris a
- data Codegen
  - = Via IRFormat String
  - | Bytecode
- data IRFormat
  - = IBCFormat
  - | JSONFormat
- data HowMuchDocs
  - = FullDocs
  - | OverviewDocs
- data OutputFmt
  - = HTMLOutput
  - | LaTeXOutput
- data LogCat
  - = IParse
  - | IElab
  - | ICodeGen
  - | IErasure
  - | ICoverage
  - | IIBC
- strLogCat :: LogCat -> String
- codegenCats :: [LogCat]
- parserCats :: [LogCat]
- elabCats :: [LogCat]
- loggingCatsStr :: String
- data ElabShellCmd
  - = EQED
  - | EAbandon
  - | EUndo
  - | EProofState
  - | EProofTerm
  - | EEval PTerm
  - | ECheck PTerm
  - | ESearch PTerm
  - | EDocStr (Either Name Const)
- data Opt
  - = Filename String
  - | Quiet
  - | NoBanner
  - | ColourREPL Bool
  - | Idemode
  - | IdemodeSocket
  - | IndentWith Int
  - | IndentClause Int
  - | ShowAll
  - | ShowLibs
  - | ShowLibDir
  - | ShowDocDir
  - | ShowIncs
  - | ShowPkgs
  - | ShowLoggingCats
  - | NoBasePkgs
  - | NoPrelude
  - | NoBuiltins
  - | NoREPL
  - | OLogging Int
  - | OLogCats [LogCat]
  - | Output String
  - | Interface
  - | TypeCase
  - | TypeInType
  - | DefaultTotal
  - | DefaultPartial
  - | WarnPartial
  - | WarnReach
  - | AuditIPkg
  - | EvalTypes
  - | NoCoverage
  - | ErrContext
  - | ShowImpl
  - | Verbose Int
  - | Port REPLPort
  - | IBCSubDir String
  - | ImportDir String
  - | SourceDir String
  - | PkgBuild String
  - | PkgInstall String
  - | PkgClean String
  - | PkgCheck String
  - | PkgREPL String
  - | PkgDocBuild String
  - | PkgDocInstall String
  - | PkgTest String
  - | PkgIndex FilePath
  - | WarnOnly
  - | Pkg String
  - | BCAsm String
  - | DumpDefun String
  - | DumpCases String
  - | UseCodegen Codegen
  - | CodegenArgs String
  - | OutputTy OutputType
  - | Extension LanguageExt
  - | InterpretScript String
  - | EvalExpr String
  - | TargetTriple String
  - | TargetCPU String
  - | OptLevel Int
  - | AddOpt Optimisation
  - | RemoveOpt Optimisation
  - | Client String
  - | ShowOrigErr
  - | AutoWidth
  - | AutoSolve
  - | UseConsoleWidth ConsoleWidth
  - | DumpHighlights
  - | DesugarNats
  - | NoElimDeprecationWarnings
  - | NoOldTacticDeprecationWarnings
- data REPLPort
  - = DontListen
  - | ListenPort PortNumber
- data Fixity
  - = Infixl {
    - prec :: Int
    }
  - | Infixr {
    - prec :: Int
    }
  - | InfixN {
    - prec :: Int
    }
  - | PrefixN {
    - prec :: Int
    }
- data FixDecl = Fix Fixity String
- data Static
  - = Static
  - | Dynamic
- data Plicity
  - = Imp {
    - pargopts :: [ArgOpt]
    - pstatic :: Static
    - pparam :: Bool
    - pscoped :: Maybe ImplicitInfo
    - pinsource :: Bool
    - pcount :: RigCount
    }
  - | Exp {
    - pargopts :: [ArgOpt]
    - pstatic :: Static
    - pparam :: Bool
    - pcount :: RigCount
    }
  - | Constraint {
    - pargopts :: [ArgOpt]
    - pstatic :: Static
    - pcount :: RigCount
    }
  - | TacImp {
    - pargopts :: [ArgOpt]
    - pstatic :: Static
    - pscript :: PTerm
    - pcount :: RigCount
    }
- is_scoped :: Plicity -> Maybe ImplicitInfo
- impl :: Plicity
- impl_gen :: Plicity
- forall_imp :: Plicity
- forall_constraint :: Plicity
- expl :: Plicity
- expl_param :: Plicity
- constraint :: Plicity
- tacimpl :: PTerm -> Plicity
- data FnOpt
  - = Inlinable
  - | TotalFn
  - | PartialFn
  - | CoveringFn
  - | AllGuarded
  - | AssertTotal
  - | Dictionary
  - | OverlappingDictionary
  - | Implicit
  - | NoImplicit
  - | CExport String
  - | ErrorHandler
  - | ErrorReverse
  - | ErrorReduce
  - | Reflection
  - | Specialise [(Name, Maybe Int)]
  - | Constructor
  - | AutoHint
  - | PEGenerated
  - | StaticFn
- type FnOpts = [FnOpt]
- inlinable :: FnOpts -> Bool
- dictionary :: FnOpts -> Bool
- data ProvideWhat' t
  - = ProvTerm t t
  - | ProvPostulate t
- type ProvideWhat = ProvideWhat' PTerm
- data PDecl' t
  - = PFix FC Fixity [String]
  - | PTy (Docstring (Either Err t)) [(Name, Docstring (Either Err t))] SyntaxInfo FC FnOpts Name FC t
  - | PPostulate Bool (Docstring (Either Err t)) SyntaxInfo FC FC FnOpts Name t
  - | PClauses FC FnOpts Name [PClause' t]
  - | PCAF FC Name t
  - | PData (Docstring (Either Err t)) [(Name, Docstring (Either Err t))] SyntaxInfo FC DataOpts (PData' t)
  - | PParams FC [(Name, t)] [PDecl' t]
  - | POpenInterfaces FC [Name] [PDecl' t]
  - | PNamespace String FC [PDecl' t]
  - | PRecord (Docstring (Either Err t)) SyntaxInfo FC DataOpts Name FC [(Name, FC, Plicity, t)] [(Name, Docstring (Either Err t))] [(Maybe (Name, FC), Plicity, t, Maybe (Docstring (Either Err t)))] (Maybe (Name, FC)) (Docstring (Either Err t)) SyntaxInfo
  - | PInterface (Docstring (Either Err t)) SyntaxInfo FC [(Name, t)] Name FC [(Name, FC, t)] [(Name, Docstring (Either Err t))] [(Name, FC)] [PDecl' t] (Maybe (Name, FC)) (Docstring (Either Err t))
  - | PImplementation (Docstring (Either Err t)) [(Name, Docstring (Either Err t))] SyntaxInfo FC [(Name, t)] [Name] Accessibility FnOpts Name FC [t] [(Name, t)] t (Maybe Name) [PDecl' t]
  - | PDSL Name (DSL' t)
  - | PSyntax FC Syntax
  - | PMutual FC [PDecl' t]
  - | PDirective Directive
  - | PProvider (Docstring (Either Err t)) SyntaxInfo FC FC (ProvideWhat' t) Name
  - | PTransform FC Bool t t
  - | PRunElabDecl FC t [String]
- data Directive
  - = DLib Codegen String
  - | DLink Codegen String
  - | DFlag Codegen String
  - | DInclude Codegen String
  - | DHide Name
  - | DFreeze Name
  - | DThaw Name
  - | DInjective Name
  - | DSetTotal Name
  - | DAccess Accessibility
  - | DDefault DefaultTotality
  - | DLogging Integer
  - | DDynamicLibs [String]
  - | DNameHint Name FC [(Name, FC)]
  - | DErrorHandlers Name FC Name FC [(Name, FC)]
  - | DLanguage LanguageExt
  - | DDeprecate Name String
  - | DFragile Name String
  - | DAutoImplicits Bool
  - | DUsed FC Name Name
- data RDeclInstructions
  - = RTyDeclInstrs Name FC [PArg] Type
  - | RClausesInstrs Name [([(Name, Term)], Term, Term)]
  - | RAddImplementation Name Name
  - | RDatatypeDeclInstrs Name [PArg]
  - | RDatatypeDefnInstrs Name Type [(Name, [PArg], Type)]
- data EState = EState {
  - case_decls :: [(Name, PDecl)]
  - delayed_elab :: [(Int, Elab' EState ())]
  - new_tyDecls :: [RDeclInstructions]
  - highlighting :: [(FC, OutputAnnotation)]
  - auto_binds :: [Name]
  - implicit_warnings :: [(FC, Name)]
  }
- initEState :: EState
- type ElabD a = Elab' EState a
- highlightSource :: FC -> OutputAnnotation -> ElabD ()
- data PClause' t
  - = PClause FC Name t [t] t [PDecl' t]
  - | PWith FC Name t [t] t (Maybe (Name, FC)) [PDecl' t]
  - | PClauseR FC [t] t [PDecl' t]
  - | PWithR FC [t] t (Maybe (Name, FC)) [PDecl' t]
- data PData' t
  - = PDatadecl {
    - d_name :: Name
    - d_name_fc :: FC
    - d_tcon :: t
    - d_cons :: [(Docstring (Either Err PTerm), [(Name, Docstring (Either Err PTerm))], Name, FC, t, FC, [Name])]
    }
  - | PLaterdecl {
    - d_name :: Name
    - d_name_fc :: FC
    - d_tcon :: t
    }
- mapPDataFC :: (FC -> FC) -> (FC -> FC) -> PData -> PData
- type PDecl = PDecl' PTerm
- type PData = PData' PTerm
- type PClause = PClause' PTerm
- mapPDeclFC :: (FC -> FC) -> (FC -> FC) -> PDecl -> PDecl
- declared :: PDecl -> [Name]
- tldeclared :: PDecl -> [Name]
- defined :: PDecl -> [Name]
- updateN :: [(Name, Name)] -> Name -> Name
- updateNs :: [(Name, Name)] -> PTerm -> PTerm
- data PunInfo
  - = IsType
  - | IsTerm
  - | TypeOrTerm
- data PTerm
  - = PQuote Raw
  - | PRef FC [FC] Name
  - | PInferRef FC [FC] Name
  - | PPatvar FC Name
  - | PLam FC Name FC PTerm PTerm
  - | PPi Plicity Name FC PTerm PTerm
  - | PLet FC Name FC PTerm PTerm PTerm
  - | PTyped PTerm PTerm
  - | PApp FC PTerm [PArg]
  - | PWithApp FC PTerm PTerm
  - | PAppImpl PTerm [ImplicitInfo]
  - | PAppBind FC PTerm [PArg]
  - | PMatchApp FC Name
  - | PIfThenElse FC PTerm PTerm PTerm
  - | PCase FC PTerm [(PTerm, PTerm)]
  - | PTrue FC PunInfo
  - | PResolveTC FC
  - | PRewrite FC (Maybe Name) PTerm PTerm (Maybe PTerm)
  - | PPair FC [FC] PunInfo PTerm PTerm
  - | PDPair FC [FC] PunInfo PTerm PTerm PTerm
  - | PAs FC Name PTerm
  - | PAlternative [(Name, Name)] PAltType [PTerm]
  - | PHidden PTerm
  - | PType FC
  - | PUniverse FC Universe
  - | PGoal FC PTerm Name PTerm
  - | PConstant FC Const
  - | Placeholder
  - | PDoBlock [PDo]
  - | PIdiom FC PTerm
  - | PMetavar FC Name
  - | PProof [PTactic]
  - | PTactics [PTactic]
  - | PElabError Err
  - | PImpossible
  - | PCoerced PTerm
  - | PDisamb [[Text]] PTerm
  - | PUnifyLog PTerm
  - | PNoImplicits PTerm
  - | PQuasiquote PTerm (Maybe PTerm)
  - | PUnquote PTerm
  - | PQuoteName Name Bool FC
  - | PRunElab FC PTerm [String]
  - | PConstSugar FC PTerm
- data PAltType
  - = ExactlyOne Bool
  - | FirstSuccess
  - | TryImplicit
- mapPTermFC :: (FC -> FC) -> (FC -> FC) -> PTerm -> PTerm
- mapPT :: (PTerm -> PTerm) -> PTerm -> PTerm
- data PTactic' t
  - = Intro [Name]
  - | Intros
  - | Focus Name
  - | Refine Name [Bool]
  - | Rewrite t
  - | DoUnify
  - | Induction t
  - | CaseTac t
  - | Equiv t
  - | Claim Name t
  - | Unfocus
  - | MatchRefine Name
  - | LetTac Name t
  - | LetTacTy Name t t
  - | Exact t
  - | Compute
  - | Trivial
  - | TCImplementation
  - | ProofSearch Bool Bool Int (Maybe Name) [Name] [Name]
  - | Solve
  - | Attack
  - | ProofState
  - | ProofTerm
  - | Undo
  - | Try (PTactic' t) (PTactic' t)
  - | TSeq (PTactic' t) (PTactic' t)
  - | ApplyTactic t
  - | ByReflection t
  - | Reflect t
  - | Fill t
  - | GoalType String (PTactic' t)
  - | TCheck t
  - | TEval t
  - | TDocStr (Either Name Const)
  - | TSearch t
  - | Skip
  - | TFail [ErrorReportPart]
  - | Qed
  - | Abandon
  - | SourceFC
- type PTactic = PTactic' PTerm
- data PDo' t
  - = DoExp FC t
  - | DoBind FC Name FC t
  - | DoBindP FC t t [(t, t)]
  - | DoLet FC Name FC t t
  - | DoLetP FC t t
- type PDo = PDo' PTerm
- data PArg' t
  - = PImp {
    - priority :: Int
    - machine_inf :: Bool
    - argopts :: [ArgOpt]
    - pname :: Name
    - getTm :: t
    }
  - | PExp {
    - priority :: Int
    - argopts :: [ArgOpt]
    - pname :: Name
    - getTm :: t
    }
  - | PConstraint {
    - priority :: Int
    - argopts :: [ArgOpt]
    - pname :: Name
    - getTm :: t
    }
  - | PTacImplicit {
    - priority :: Int
    - argopts :: [ArgOpt]
    - pname :: Name
    - getScript :: t
    - getTm :: t
    }
- data ArgOpt
  - = AlwaysShow
  - | HideDisplay
  - | InaccessibleArg
  - | UnknownImp
- pimp :: Name -> t -> Bool -> PArg' t
- pexp :: t -> PArg' t
- pconst :: t -> PArg' t
- ptacimp :: Name -> t -> t -> PArg' t
- type PArg = PArg' PTerm
- highestFC :: PTerm -> Maybe FC
- data InterfaceInfo = CI {
  - implementationCtorName :: Name
  - interface_methods :: [(Name, (Bool, FnOpts, PTerm))]
  - interface_defaults :: [(Name, (Name, PDecl))]
  - interface_default_super_interfaces :: [PDecl]
  - interface_impparams :: [Name]
  - interface_params :: [Name]
  - interface_constraints :: [PTerm]
  - interface_implementations :: [(Name, Bool)]
  - interface_determiners :: [Int]
  }
- data RecordInfo = RI {
  - record_parameters :: [(Name, PTerm)]
  - record_constructor :: Name
  - record_projections :: [Name]
  }
- data TIData
  - = TIPartial
  - | TISolution [Term]
- data FnInfo = FnInfo {
  - fn_params :: [Int]
  }
- data OptInfo = Optimise {
  - inaccessible :: [(Int, Name)]
  - detaggable :: Bool
  - forceable :: [Int]
  }
- data DSL' t = DSL {
  - dsl_bind :: t
  - dsl_apply :: t
  - dsl_pure :: t
  - dsl_var :: Maybe t
  - index_first :: Maybe t
  - index_next :: Maybe t
  - dsl_lambda :: Maybe t
  - dsl_let :: Maybe t
  - dsl_pi :: Maybe t
  }
- type DSL = DSL' PTerm
- data SynContext
  - = PatternSyntax
  - | TermSyntax
  - | AnySyntax
- data Syntax
  - = Rule [SSymbol] PTerm SynContext
  - | DeclRule [SSymbol] [PDecl]
- syntaxNames :: Syntax -> [Name]
- syntaxSymbols :: Syntax -> [SSymbol]
- data SSymbol
  - = Keyword Name
  - | Symbol String
  - | Binding Name
  - | Expr Name
  - | SimpleExpr Name
- newtype SyntaxRules = SyntaxRules {
  - syntaxRulesList :: [Syntax]
  }
- emptySyntaxRules :: SyntaxRules
- updateSyntaxRules :: [Syntax] -> SyntaxRules -> SyntaxRules
- initDSL :: DSL' PTerm
- data Using
  - = UImplicit Name PTerm
  - | UConstraint Name [Name]
- data SyntaxInfo = Syn {
  - using :: [Using]
  - syn_params :: [(Name, PTerm)]
  - syn_namespace :: [String]
  - no_imp :: [Name]
  - imp_methods :: [Name]
  - decoration :: Name -> Name
  - inPattern :: Bool
  - implicitAllowed :: Bool
  - constraintAllowed :: Bool
  - maxline :: Maybe Int
  - mut_nesting :: Int
  - dsl_info :: DSL
  - syn_in_quasiquote :: Int
  - syn_toplevel :: Bool
  - withAppAllowed :: Bool
  }
- defaultSyntax :: SyntaxInfo
- expandNS :: SyntaxInfo -> Name -> Name
- bi :: FC
- primfc :: FC
- inferTy :: Name
- inferCon :: Name
- inferDecl :: PData' PTerm
- inferOpts :: [t]
- infTerm :: PTerm -> PTerm
- infP :: TT Name
- getInferTerm :: Term -> Term
- getInferType :: Term -> Term
- primNames :: [Name]
- unitTy :: Name
- unitCon :: Name
- falseDoc :: Docstring (Err' t)
- falseTy :: Name
- pairTy :: Name
- pairCon :: Name
- upairTy :: Name
- upairCon :: Name
- eqTy :: Name
- eqCon :: Name
- eqDoc :: Docstring (Either (Err' t) b)
- eqDecl :: PData' PTerm
- eqParamDoc :: [(Name, Docstring (Either (Err' t) b))]
- eqOpts :: [t]
- modDocName :: Name
- sigmaTy :: Name
- sigmaCon :: Name
- piBind :: [(Name, PTerm)] -> PTerm -> PTerm
- piBindp :: Plicity -> [(Name, PTerm)] -> PTerm -> PTerm
- annotationColour :: IState -> OutputAnnotation -> Maybe IdrisColour
- consoleDecorate :: IState -> OutputAnnotation -> String -> String
- isPostulateName :: Name -> IState -> Bool
- prettyImp :: PPOption -> PTerm -> Doc OutputAnnotation
- prettyIst :: IState -> PTerm -> Doc OutputAnnotation
- pprintPTerm :: PPOption -> [(Name, Bool)] -> [Name] -> [FixDecl] -> PTerm -> Doc OutputAnnotation
- basename :: Name -> Name
- isHoleName :: Name -> Bool
- containsHole :: PTerm -> Bool
- prettyName :: Bool -> Bool -> [(Name, Bool)] -> Name -> Doc OutputAnnotation
- showCImp :: PPOption -> PClause -> Doc OutputAnnotation
- showDImp :: PPOption -> PData -> Doc OutputAnnotation
- showDecls :: PPOption -> [PDecl] -> Doc OutputAnnotation
- showDeclImp :: PPOption -> PDecl' PTerm -> Doc OutputAnnotation
- getImps :: [PArg] -> [(Name, PTerm)]
- getExps :: [PArg] -> [PTerm]
- getShowArgs :: [PArg] -> [PArg]
- getConsts :: [PArg] -> [PTerm]
- getAll :: [PArg] -> [PTerm]
- showName :: Maybe IState -> [(Name, Bool)] -> PPOption -> Bool -> Name -> String
- showTm :: IState -> PTerm -> String
- showTmImpls :: PTerm -> String
- showTmOpts :: PPOption -> PTerm -> String
- getPArity :: PTerm -> Int
- allNamesIn :: PTerm -> [Name]
- boundNamesIn :: PTerm -> [Name]
- implicitNamesIn :: [Name] -> IState -> PTerm -> [Name]
- namesIn :: [(Name, PTerm)] -> IState -> PTerm -> [Name]
- usedNamesIn :: [Name] -> IState -> PTerm -> [Name]
- getErasureInfo :: IState -> Name -> [Int]

# Documentation

data ElabWhat #

Constructors

ETypes |
EDefns |
EAll |

Instances

Eq ElabWhat # |
Methods (==) :: ElabWhat -> ElabWhat -> Bool # (/=) :: ElabWhat -> ElabWhat -> Bool #
Show ElabWhat # |
Methods showsPrec :: Int -> ElabWhat -> ShowS # show :: ElabWhat -> String # showList :: [ElabWhat] -> ShowS #

data ElabInfo #

Data to pass to recursively called elaborators; e.g. for where blocks, paramaterised declarations, etc.

rec_elabDecl is used to pass the top level elaborator into other elaborators, so that we can have mutually recursive elaborators in separate modules without having to muck about with cyclic modules.

Constructors

EInfo |
Fields params :: [(Name, PTerm)] inblock :: Ctxt [Name] names in the block, and their params liftname :: Name -> Name namespace :: [String] elabFC :: Maybe FC constraintNS :: String filename for adding to constraint variables pe_depth :: Int noCaseLift :: [Name] types which shouldn't be made arguments to case | We may, recursively, collect transformations to do on the rhs, e.g. rewriting recursive calls to functions defined by `with` rhs_trans :: PTerm -> PTerm rec_elabDecl :: ElabWhat -> ElabInfo -> PDecl -> Idris ()

toplevel :: ElabInfo #

toplevelWith :: String -> ElabInfo #

eInfoNames :: ElabInfo -> [Name] #

data IOption #

Constructors

IOption |
Fields opt_logLevel :: Int opt_logcats :: [LogCat] List of logging categories. opt_typecase :: Bool opt_typeintype :: Bool opt_coverage :: Bool opt_showimp :: Bool show implicits opt_errContext :: Bool opt_repl :: Bool opt_verbose :: Int opt_nobanner :: Bool opt_quiet :: Bool opt_codegen :: Codegen opt_outputTy :: OutputType opt_ibcsubdir :: FilePath opt_importdirs :: [FilePath] opt_sourcedirs :: [FilePath] opt_triple :: String opt_cpu :: String opt_cmdline :: [Opt] remember whole command line opt_origerr :: Bool opt_autoSolve :: Bool automatically apply "solve" tactic in prover opt_autoImport :: [FilePath] List of modules to auto import i.e. `Builtins+Prelude` opt_optimise :: [Optimisation] opt_printdepth :: Maybe Int opt_evaltypes :: Bool normalise types in `:t` opt_desugarnats :: Bool opt_autoimpls :: Bool

Instances

Eq IOption # |
Methods (==) :: IOption -> IOption -> Bool # (/=) :: IOption -> IOption -> Bool #
Show IOption # |
Methods showsPrec :: Int -> IOption -> ShowS # show :: IOption -> String # showList :: [IOption] -> ShowS #
Generic IOption # |
Associated Types type Rep IOption :: * -> * # Methods from :: IOption -> Rep IOption x # to :: Rep IOption x -> IOption #
type Rep IOption # |
type Rep IOption = D1 (MetaData "IOption" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "IOption" PrefixI True) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "opt_logLevel") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) ((:*:) (S1 (MetaSel (Just Symbol "opt_logcats") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [LogCat])) (S1 (MetaSel (Just Symbol "opt_typecase") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))) ((:*:) (S1 (MetaSel (Just Symbol "opt_typeintype") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) ((:*:) (S1 (MetaSel (Just Symbol "opt_coverage") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "opt_showimp") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "opt_errContext") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) ((:*:) (S1 (MetaSel (Just Symbol "opt_repl") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "opt_verbose") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "opt_nobanner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "opt_quiet") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))) ((:*:) (S1 (MetaSel (Just Symbol "opt_codegen") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Just Symbol "opt_outputTy") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 OutputType)))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "opt_ibcsubdir") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath)) ((:*:) (S1 (MetaSel (Just Symbol "opt_importdirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FilePath])) (S1 (MetaSel (Just Symbol "opt_sourcedirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FilePath])))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "opt_triple") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)) (S1 (MetaSel (Just Symbol "opt_cpu") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) ((:*:) (S1 (MetaSel (Just Symbol "opt_cmdline") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Opt])) (S1 (MetaSel (Just Symbol "opt_origerr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "opt_autoSolve") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) ((:*:) (S1 (MetaSel (Just Symbol "opt_autoImport") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FilePath])) (S1 (MetaSel (Just Symbol "opt_optimise") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Optimisation])))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "opt_printdepth") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "opt_evaltypes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))) ((:*:) (S1 (MetaSel (Just Symbol "opt_desugarnats") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "opt_autoimpls") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))))))

defaultOpts :: IOption #

data PPOption #

Constructors

PPOption |
Fields ppopt_impl :: Bool whether to show implicits ppopt_desugarnats :: Bool ppopt_pinames :: Bool whether to show names in pi bindings ppopt_depth :: Maybe Int

Instances

Show PPOption # |
Methods showsPrec :: Int -> PPOption -> ShowS # show :: PPOption -> String # showList :: [PPOption] -> ShowS #

data Optimisation #

Constructors

PETransform | partial eval and associated transforms

Instances

Eq Optimisation # |
Methods (==) :: Optimisation -> Optimisation -> Bool # (/=) :: Optimisation -> Optimisation -> Bool #
Show Optimisation # |
Methods showsPrec :: Int -> Optimisation -> ShowS # show :: Optimisation -> String # showList :: [Optimisation] -> ShowS #
Generic Optimisation # |
Associated Types type Rep Optimisation :: * -> * # Methods from :: Optimisation -> Rep Optimisation x # to :: Rep Optimisation x -> Optimisation #
type Rep Optimisation # |
type Rep Optimisation = D1 (MetaData "Optimisation" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "PETransform" PrefixI False) U1)

defaultOptimise :: [Optimisation] #

defaultPPOption :: PPOption #

Pretty printing options with default verbosity.

verbosePPOption :: PPOption #

Pretty printing options with the most verbosity.

ppOption :: IOption -> PPOption #

Get pretty printing options from the big options record.

ppOptionIst :: IState -> PPOption #

Get pretty printing options from an idris state record.

data LanguageExt #

Constructors

TypeProviders |
ErrorReflection |
UniquenessTypes |
DSLNotation |
ElabReflection |
FCReflection |
LinearTypes |

Instances

Eq LanguageExt # |
Methods (==) :: LanguageExt -> LanguageExt -> Bool # (/=) :: LanguageExt -> LanguageExt -> Bool #
Ord LanguageExt # |
Methods compare :: LanguageExt -> LanguageExt -> Ordering # (<) :: LanguageExt -> LanguageExt -> Bool # (<=) :: LanguageExt -> LanguageExt -> Bool # (>) :: LanguageExt -> LanguageExt -> Bool # (>=) :: LanguageExt -> LanguageExt -> Bool # max :: LanguageExt -> LanguageExt -> LanguageExt # min :: LanguageExt -> LanguageExt -> LanguageExt #
Read LanguageExt # |
Methods readsPrec :: Int -> ReadS LanguageExt # readList :: ReadS [LanguageExt] # readPrec :: ReadPrec LanguageExt # readListPrec :: ReadPrec [LanguageExt] #
Show LanguageExt # |
Methods showsPrec :: Int -> LanguageExt -> ShowS # show :: LanguageExt -> String # showList :: [LanguageExt] -> ShowS #
Generic LanguageExt # |
Associated Types type Rep LanguageExt :: * -> * # Methods from :: LanguageExt -> Rep LanguageExt x # to :: Rep LanguageExt x -> LanguageExt #
type Rep LanguageExt # |
type Rep LanguageExt = D1 (MetaData "LanguageExt" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "TypeProviders" PrefixI False) U1) ((:+:) (C1 (MetaCons "ErrorReflection" PrefixI False) U1) (C1 (MetaCons "UniquenessTypes" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "DSLNotation" PrefixI False) U1) (C1 (MetaCons "ElabReflection" PrefixI False) U1)) ((:+:) (C1 (MetaCons "FCReflection" PrefixI False) U1) (C1 (MetaCons "LinearTypes" PrefixI False) U1))))

data OutputMode #

The output mode in use

Constructors

RawOutput Handle | Print user output directly to the handle
IdeMode Integer Handle | Send IDE output for some request ID to the handle

Instances

Show OutputMode # |
Methods showsPrec :: Int -> OutputMode -> ShowS # show :: OutputMode -> String # showList :: [OutputMode] -> ShowS #

data ConsoleWidth #

How wide is the console?

Constructors

InfinitelyWide | Have pretty-printer assume that lines should not be broken
ColsWide Int | Manually specified - must be positive
AutomaticWidth | Attempt to determine width, or 80 otherwise

Instances

Eq ConsoleWidth # |
Methods (==) :: ConsoleWidth -> ConsoleWidth -> Bool # (/=) :: ConsoleWidth -> ConsoleWidth -> Bool #
Show ConsoleWidth # |
Methods showsPrec :: Int -> ConsoleWidth -> ShowS # show :: ConsoleWidth -> String # showList :: [ConsoleWidth] -> ShowS #
Generic ConsoleWidth # |
Associated Types type Rep ConsoleWidth :: * -> * # Methods from :: ConsoleWidth -> Rep ConsoleWidth x # to :: Rep ConsoleWidth x -> ConsoleWidth #
type Rep ConsoleWidth # |
type Rep ConsoleWidth = D1 (MetaData "ConsoleWidth" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "InfinitelyWide" PrefixI False) U1) ((:+:) (C1 (MetaCons "ColsWide" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) (C1 (MetaCons "AutomaticWidth" PrefixI False) U1)))

data DefaultTotality #

If a function has no totality annotation, what do we assume?

Constructors

DefaultCheckingTotal | Total
DefaultCheckingPartial | Partial
DefaultCheckingCovering | Total coverage, but may diverge

Instances

Eq DefaultTotality # |
Methods (==) :: DefaultTotality -> DefaultTotality -> Bool # (/=) :: DefaultTotality -> DefaultTotality -> Bool #
Show DefaultTotality # |
Methods showsPrec :: Int -> DefaultTotality -> ShowS # show :: DefaultTotality -> String # showList :: [DefaultTotality] -> ShowS #
Generic DefaultTotality # |
Associated Types type Rep DefaultTotality :: * -> * # Methods from :: DefaultTotality -> Rep DefaultTotality x # to :: Rep DefaultTotality x -> DefaultTotality #
type Rep DefaultTotality # |
type Rep DefaultTotality = D1 (MetaData "DefaultTotality" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "DefaultCheckingTotal" PrefixI False) U1) ((:+:) (C1 (MetaCons "DefaultCheckingPartial" PrefixI False) U1) (C1 (MetaCons "DefaultCheckingCovering" PrefixI False) U1)))

data InteractiveOpts #

Configuration options for interactive editing.

Constructors

InteractiveOpts |
Fields interactiveOpts_indentWith :: Int interactiveOpts_indentClause :: Int

Instances

Show InteractiveOpts # |
Methods showsPrec :: Int -> InteractiveOpts -> ShowS # show :: InteractiveOpts -> String # showList :: [InteractiveOpts] -> ShowS #
Generic InteractiveOpts # |
Associated Types type Rep InteractiveOpts :: * -> * # Methods from :: InteractiveOpts -> Rep InteractiveOpts x # to :: Rep InteractiveOpts x -> InteractiveOpts #
type Rep InteractiveOpts # |
type Rep InteractiveOpts = D1 (MetaData "InteractiveOpts" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "InteractiveOpts" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "interactiveOpts_indentWith") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Just Symbol "interactiveOpts_indentClause") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))))

data IState #

The global state used in the Idris monad

Constructors

IState |
Fields tt_ctxt :: Context All the currently defined names and their terms idris_constraints :: Set ConstraintFC A list of universe constraints and their corresponding source locations idris_infixes :: [FixDecl] Currently defined infix operators idris_implicits :: Ctxt [PArg] idris_statics :: Ctxt [Bool] idris_interfaces :: Ctxt InterfaceInfo idris_openimpls :: [Name] Privileged implementations, will resolve immediately idris_records :: Ctxt RecordInfo idris_dsls :: Ctxt DSL idris_optimisation :: Ctxt OptInfo idris_datatypes :: Ctxt TypeInfo idris_namehints :: Ctxt [Name] idris_patdefs :: Ctxt ([([(Name, Term)], Term, Term)], [PTerm]) list of lhs/rhs, and a list of missing clauses. These are not exported. idris_flags :: Ctxt [FnOpt] idris_callgraph :: Ctxt CGInfo name, args used in each pos idris_docstrings :: Ctxt (Docstring DocTerm, [(Name, Docstring DocTerm)]) idris_moduledocs :: Ctxt (Docstring DocTerm) module documentation is saved in a special MN so the context mechanism can be used for disambiguation. idris_tyinfodata :: Ctxt TIData idris_fninfo :: Ctxt FnInfo idris_transforms :: Ctxt [(Term, Term)] idris_autohints :: Ctxt [Name] idris_totcheck :: [(FC, Name)] names to check totality on idris_defertotcheck :: [(FC, Name)] names to check at the end idris_totcheckfail :: [(FC, String)] idris_options :: IOption idris_name :: Int idris_lineapps :: [((FilePath, Int), PTerm)] Full application LHS on source line idris_metavars :: [(Name, (Maybe Name, Int, [Name], Bool, Bool))] The currently defined but not proven metavariables. The Int is the number of vars to display as a context, the Maybe Name is its top-level function, the [Name] is the list of local variables available for proof search and the Bools are whether :p is allowed, and whether the variable is definable at all (Metavariables are not definable if they are applied in a term which still has hole bindings) idris_coercions :: [Name] idris_errRev :: [(Term, Term)] idris_errReduce :: [Name] syntax_rules :: SyntaxRules syntax_keywords :: [String] imported :: [FilePath] The imported modules idris_scprims :: [(Name, (Int, PrimFn))] idris_objs :: [(Codegen, FilePath)] idris_libs :: [(Codegen, String)] idris_cgflags :: [(Codegen, String)] idris_hdrs :: [(Codegen, String)] idris_imported :: [(FilePath, Bool)] Imported ibc file names, whether public proof_list :: [(Name, (Bool, [String]))] errSpan :: Maybe FC parserWarnings :: [(FC, Err)] lastParse :: Maybe Name indent_stack :: [Int] brace_stack :: [Maybe Int] lastTokenSpan :: Maybe FC What was the span of the latest token parsed? idris_parsedSpan :: Maybe FC hide_list :: Ctxt Accessibility default_access :: Accessibility default_total :: DefaultTotality ibc_write :: [IBCWrite] compiled_so :: Maybe String idris_dynamic_libs :: [DynamicLib] idris_language_extensions :: [LanguageExt] idris_outputmode :: OutputMode idris_colourRepl :: Bool idris_colourTheme :: ColourTheme idris_errorhandlers :: [Name] Global error handlers idris_nameIdx :: (Int, Ctxt (Int, Name)) idris_function_errorhandlers :: Ctxt (Map Name (Set Name)) Specific error handlers module_aliases :: Map [Text] [Text] idris_consolewidth :: ConsoleWidth How many chars wide is the console? idris_postulates :: Set Name idris_externs :: Set (Name, Int) idris_erasureUsed :: [(Name, Int)] Function/constructor name, argument position is used idris_repl_defs :: [Name] List of names that were defined in the repl, and can be re-/un-defined elab_stack :: [(Name, Bool)] Stack of names currently being elaborated, Bool set if it's an implementation (implementations appear twice; also as a function name) idris_symbols :: Map Name Name Symbol table (preserves sharing of names) idris_exports :: [Name] Functions with ExportList idris_highlightedRegions :: [(FC, OutputAnnotation)] Highlighting information to output idris_parserHighlights :: [(FC, OutputAnnotation)] Highlighting information from the parser idris_deprecated :: Ctxt String Deprecated names and explanation idris_inmodule :: Set Name Names defined in current module idris_ttstats :: Map Term (Int, Term) idris_fragile :: Ctxt String Fragile names and explanation. idris_interactiveOpts :: InteractiveOpts

Instances

Show IState # |
Methods showsPrec :: Int -> IState -> ShowS # show :: IState -> String # showList :: [IState] -> ShowS #
Generic IState # |
Associated Types type Rep IState :: * -> * # Methods from :: IState -> Rep IState x # to :: Rep IState x -> IState #
TokenParsing IdrisParser # |
Methods someSpace :: IdrisParser () # nesting :: IdrisParser a -> IdrisParser a # semi :: IdrisParser Char # highlight :: Highlight -> IdrisParser a -> IdrisParser a # token :: IdrisParser a -> IdrisParser a #
DeltaParsing IdrisParser # |
Methods line :: IdrisParser ByteString # position :: IdrisParser Delta # slicedWith :: (a -> ByteString -> r) -> IdrisParser a -> IdrisParser r # rend :: IdrisParser Rendering # restOfLine :: IdrisParser ByteString #
HasLastTokenSpan IdrisParser # |
Methods getLastTokenSpan :: IdrisParser (Maybe FC) #
type Rep IState # |
type Rep IState = D1 (MetaData "IState" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "IState" PrefixI True) ((:*:) ((:*:) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "tt_ctxt") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Context)) (S1 (MetaSel (Just Symbol "idris_constraints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Set ConstraintFC)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_infixes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FixDecl])) (S1 (MetaSel (Just Symbol "idris_implicits") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt [PArg]))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_statics") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt [Bool]))) (S1 (MetaSel (Just Symbol "idris_interfaces") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt InterfaceInfo)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_openimpls") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) ((:*:) (S1 (MetaSel (Just Symbol "idris_records") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt RecordInfo))) (S1 (MetaSel (Just Symbol "idris_dsls") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt DSL))))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_optimisation") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt OptInfo))) (S1 (MetaSel (Just Symbol "idris_datatypes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt TypeInfo)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_namehints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt [Name]))) ((:*:) (S1 (MetaSel (Just Symbol "idris_patdefs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt ([([(Name, Term)], Term, Term)], [PTerm])))) (S1 (MetaSel (Just Symbol "idris_flags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt [FnOpt])))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_callgraph") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt CGInfo))) (S1 (MetaSel (Just Symbol "idris_docstrings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt (Docstring DocTerm, [(Name, Docstring DocTerm)]))))) ((:*:) (S1 (MetaSel (Just Symbol "idris_moduledocs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt (Docstring DocTerm)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_tyinfodata") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt TIData))) (S1 (MetaSel (Just Symbol "idris_fninfo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt FnInfo)))))))) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_transforms") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt [(Term, Term)]))) (S1 (MetaSel (Just Symbol "idris_autohints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt [Name])))) ((:*:) (S1 (MetaSel (Just Symbol "idris_totcheck") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(FC, Name)])) (S1 (MetaSel (Just Symbol "idris_defertotcheck") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(FC, Name)])))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_totcheckfail") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(FC, String)])) (S1 (MetaSel (Just Symbol "idris_options") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 IOption))) ((:*:) (S1 (MetaSel (Just Symbol "idris_name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) ((:*:) (S1 (MetaSel (Just Symbol "idris_lineapps") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [((FilePath, Int), PTerm)])) (S1 (MetaSel (Just Symbol "idris_metavars") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, (Maybe Name, Int, [Name], Bool, Bool))])))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_coercions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) (S1 (MetaSel (Just Symbol "idris_errRev") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Term, Term)]))) ((:*:) (S1 (MetaSel (Just Symbol "idris_errReduce") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) ((:*:) (S1 (MetaSel (Just Symbol "syntax_rules") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxRules)) (S1 (MetaSel (Just Symbol "syntax_keywords") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [String]))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "imported") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FilePath])) (S1 (MetaSel (Just Symbol "idris_scprims") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, (Int, PrimFn))]))) ((:*:) (S1 (MetaSel (Just Symbol "idris_objs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Codegen, FilePath)])) ((:*:) (S1 (MetaSel (Just Symbol "idris_libs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Codegen, String)])) (S1 (MetaSel (Just Symbol "idris_cgflags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Codegen, String)])))))))) ((:*:) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_hdrs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Codegen, String)])) (S1 (MetaSel (Just Symbol "idris_imported") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(FilePath, Bool)]))) ((:*:) (S1 (MetaSel (Just Symbol "proof_list") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, (Bool, [String]))])) (S1 (MetaSel (Just Symbol "errSpan") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe FC))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "parserWarnings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(FC, Err)])) (S1 (MetaSel (Just Symbol "lastParse") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Name)))) ((:*:) (S1 (MetaSel (Just Symbol "indent_stack") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Int])) ((:*:) (S1 (MetaSel (Just Symbol "brace_stack") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Maybe Int])) (S1 (MetaSel (Just Symbol "lastTokenSpan") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe FC))))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_parsedSpan") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe FC))) (S1 (MetaSel (Just Symbol "hide_list") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt Accessibility)))) ((:*:) (S1 (MetaSel (Just Symbol "default_access") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Accessibility)) ((:*:) (S1 (MetaSel (Just Symbol "default_total") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DefaultTotality)) (S1 (MetaSel (Just Symbol "ibc_write") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [IBCWrite]))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "compiled_so") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe String))) (S1 (MetaSel (Just Symbol "idris_dynamic_libs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [DynamicLib]))) ((:*:) (S1 (MetaSel (Just Symbol "idris_language_extensions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [LanguageExt])) ((:*:) (S1 (MetaSel (Just Symbol "idris_outputmode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 OutputMode)) (S1 (MetaSel (Just Symbol "idris_colourRepl") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))))) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_colourTheme") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ColourTheme)) (S1 (MetaSel (Just Symbol "idris_errorhandlers") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name]))) ((:*:) (S1 (MetaSel (Just Symbol "idris_nameIdx") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Int, Ctxt (Int, Name)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_function_errorhandlers") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt (Map Name (Set Name))))) (S1 (MetaSel (Just Symbol "module_aliases") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map [Text] [Text])))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_consolewidth") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ConsoleWidth)) (S1 (MetaSel (Just Symbol "idris_postulates") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Set Name)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_externs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Set (Name, Int)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_erasureUsed") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Int)])) (S1 (MetaSel (Just Symbol "idris_repl_defs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "elab_stack") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Bool)])) (S1 (MetaSel (Just Symbol "idris_symbols") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map Name Name)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_exports") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) ((:*:) (S1 (MetaSel (Just Symbol "idris_highlightedRegions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(FC, OutputAnnotation)])) (S1 (MetaSel (Just Symbol "idris_parserHighlights") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(FC, OutputAnnotation)]))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "idris_deprecated") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt String))) (S1 (MetaSel (Just Symbol "idris_inmodule") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Set Name)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_ttstats") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map Term (Int, Term)))) ((:*:) (S1 (MetaSel (Just Symbol "idris_fragile") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ctxt String))) (S1 (MetaSel (Just Symbol "idris_interactiveOpts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 InteractiveOpts))))))))))

data SizeChange #

Constructors

Smaller |
Same |
Bigger |
Unknown |

Instances

Eq SizeChange # |
Methods (==) :: SizeChange -> SizeChange -> Bool # (/=) :: SizeChange -> SizeChange -> Bool #
Show SizeChange # |
Methods showsPrec :: Int -> SizeChange -> ShowS # show :: SizeChange -> String # showList :: [SizeChange] -> ShowS #
Generic SizeChange # |
Associated Types type Rep SizeChange :: * -> * # Methods from :: SizeChange -> Rep SizeChange x # to :: Rep SizeChange x -> SizeChange #
type Rep SizeChange # |
type Rep SizeChange = D1 (MetaData "SizeChange" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "Smaller" PrefixI False) U1) (C1 (MetaCons "Same" PrefixI False) U1)) ((:+:) (C1 (MetaCons "Bigger" PrefixI False) U1) (C1 (MetaCons "Unknown" PrefixI False) U1)))

type SCGEntry = (Name, [Maybe (Int, SizeChange)]) #

type UsageReason = (Name, Int) #

data CGInfo #

Constructors

CGInfo |
Fields calls :: [Name] allCalls :: Maybe [Name] scg :: [SCGEntry] usedpos :: [(Int, [UsageReason])]

Instances

Show CGInfo # |
Methods showsPrec :: Int -> CGInfo -> ShowS # show :: CGInfo -> String # showList :: [CGInfo] -> ShowS #
Generic CGInfo # |
Associated Types type Rep CGInfo :: * -> * # Methods from :: CGInfo -> Rep CGInfo x # to :: Rep CGInfo x -> CGInfo #
type Rep CGInfo # |
type Rep CGInfo = D1 (MetaData "CGInfo" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "CGInfo" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "calls") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) (S1 (MetaSel (Just Symbol "allCalls") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Name])))) ((:*:) (S1 (MetaSel (Just Symbol "scg") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [SCGEntry])) (S1 (MetaSel (Just Symbol "usedpos") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Int, [UsageReason])])))))

primDefs :: [Name] #

data IBCWrite #

Constructors

IBCFix FixDecl |
IBCImp Name |
IBCStatic Name |
IBCInterface Name |
IBCRecord Name |
IBCImplementation Bool Bool Name Name |
IBCDSL Name |
IBCData Name |
IBCOpt Name |
IBCMetavar Name |
IBCSyntax Syntax |
IBCKeyword String |
IBCImport (Bool, FilePath) | True = import public
IBCImportDir FilePath |
IBCSourceDir FilePath |
IBCObj Codegen FilePath |
IBCLib Codegen String |
IBCCGFlag Codegen String |
IBCDyLib String |
IBCHeader Codegen String |
IBCAccess Name Accessibility |
IBCMetaInformation Name MetaInformation |
IBCTotal Name Totality |
IBCInjective Name Injectivity |
IBCFlags Name |
IBCFnInfo Name FnInfo |
IBCTrans Name (Term, Term) |
IBCErrRev (Term, Term) |
IBCErrReduce Name |
IBCCG Name |
IBCDoc Name |
IBCCoercion Name |
IBCDef Name | The main context.
IBCNameHint (Name, Name) |
IBCLineApp FilePath Int PTerm |
IBCErrorHandler Name |
IBCFunctionErrorHandler Name Name Name |
IBCPostulate Name |
IBCExtern (Name, Int) |
IBCTotCheckErr FC String |
IBCParsedRegion FC |
IBCModDocs Name | The name is the special name used to track module docs
IBCUsage (Name, Int) |
IBCExport Name |
IBCAutoHint Name Name |
IBCDeprecate Name String |
IBCFragile Name String |
IBCConstraint FC UConstraint |

Instances

Show IBCWrite # |
Methods showsPrec :: Int -> IBCWrite -> ShowS # show :: IBCWrite -> String # showList :: [IBCWrite] -> ShowS #
Generic IBCWrite # |
Associated Types type Rep IBCWrite :: * -> * # Methods from :: IBCWrite -> Rep IBCWrite x # to :: Rep IBCWrite x -> IBCWrite #
type Rep IBCWrite # |
type Rep IBCWrite = D1 (MetaData "IBCWrite" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "IBCFix" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FixDecl))) ((:+:) (C1 (MetaCons "IBCImp" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "IBCStatic" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))) ((:+:) (C1 (MetaCons "IBCInterface" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "IBCRecord" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "IBCImplementation" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))))))) ((:+:) ((:+:) (C1 (MetaCons "IBCDSL" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "IBCData" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "IBCOpt" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))) ((:+:) (C1 (MetaCons "IBCMetavar" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "IBCSyntax" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Syntax))) (C1 (MetaCons "IBCKeyword" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "IBCImport" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Bool, FilePath)))) ((:+:) (C1 (MetaCons "IBCImportDir" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath))) (C1 (MetaCons "IBCSourceDir" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath))))) ((:+:) (C1 (MetaCons "IBCObj" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath)))) ((:+:) (C1 (MetaCons "IBCLib" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) (C1 (MetaCons "IBCCGFlag" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))))) ((:+:) ((:+:) (C1 (MetaCons "IBCDyLib" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) ((:+:) (C1 (MetaCons "IBCHeader" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) (C1 (MetaCons "IBCAccess" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Accessibility)))))) ((:+:) (C1 (MetaCons "IBCMetaInformation" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MetaInformation)))) ((:+:) (C1 (MetaCons "IBCTotal" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Totality)))) (C1 (MetaCons "IBCInjective" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Injectivity))))))))) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "IBCFlags" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "IBCFnInfo" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FnInfo)))) (C1 (MetaCons "IBCTrans" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Term, Term))))))) ((:+:) (C1 (MetaCons "IBCErrRev" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Term, Term)))) ((:+:) (C1 (MetaCons "IBCErrReduce" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "IBCCG" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))))) ((:+:) ((:+:) (C1 (MetaCons "IBCDoc" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "IBCCoercion" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "IBCDef" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))) ((:+:) (C1 (MetaCons "IBCNameHint" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Name, Name)))) ((:+:) (C1 (MetaCons "IBCLineApp" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))))) (C1 (MetaCons "IBCErrorHandler" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "IBCFunctionErrorHandler" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))) ((:+:) (C1 (MetaCons "IBCPostulate" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "IBCExtern" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Name, Int)))))) ((:+:) (C1 (MetaCons "IBCTotCheckErr" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "IBCParsedRegion" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC))) (C1 (MetaCons "IBCModDocs" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))))) ((:+:) ((:+:) (C1 (MetaCons "IBCUsage" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Name, Int)))) ((:+:) (C1 (MetaCons "IBCExport" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "IBCAutoHint" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))))) ((:+:) (C1 (MetaCons "IBCDeprecate" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "IBCFragile" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) (C1 (MetaCons "IBCConstraint" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UConstraint))))))))))

initialInteractiveOpts :: InteractiveOpts #

idrisInit :: IState #

The initial state for the compiler

type Idris = StateT IState (ExceptT Err IO) #

The monad for the main REPL - reading and processing files and updating global state (hence the IO inner monad).

        type Idris = WriterT [Either String (IO ())] (State IState a))

catchError :: Idris a -> (Err -> Idris a) -> Idris a #

throwError :: Err -> Idris a #

data Codegen #

Constructors

Via IRFormat String |
Bytecode |

Instances

Eq Codegen # |
Methods (==) :: Codegen -> Codegen -> Bool # (/=) :: Codegen -> Codegen -> Bool #
Show Codegen # |
Methods showsPrec :: Int -> Codegen -> ShowS # show :: Codegen -> String # showList :: [Codegen] -> ShowS #
Generic Codegen # |
Associated Types type Rep Codegen :: * -> * # Methods from :: Codegen -> Rep Codegen x # to :: Rep Codegen x -> Codegen #
type Rep Codegen # |
type Rep Codegen = D1 (MetaData "Codegen" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "Via" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 IRFormat)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) (C1 (MetaCons "Bytecode" PrefixI False) U1))

data IRFormat #

Constructors

IBCFormat |
JSONFormat |

Instances

Eq IRFormat # |
Methods (==) :: IRFormat -> IRFormat -> Bool # (/=) :: IRFormat -> IRFormat -> Bool #
Show IRFormat # |
Methods showsPrec :: Int -> IRFormat -> ShowS # show :: IRFormat -> String # showList :: [IRFormat] -> ShowS #
Generic IRFormat # |
Associated Types type Rep IRFormat :: * -> * # Methods from :: IRFormat -> Rep IRFormat x # to :: Rep IRFormat x -> IRFormat #
type Rep IRFormat # |
type Rep IRFormat = D1 (MetaData "IRFormat" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "IBCFormat" PrefixI False) U1) (C1 (MetaCons "JSONFormat" PrefixI False) U1))

data HowMuchDocs #

Constructors

FullDocs |
OverviewDocs |

data OutputFmt #

Constructors

HTMLOutput |
LaTeXOutput |

data LogCat #

Recognised logging categories for the Idris compiler.

@TODO add in sub categories.

Constructors

IParse |
IElab |
ICodeGen |
IErasure |
ICoverage |
IIBC |

Instances

Eq LogCat # |
Methods (==) :: LogCat -> LogCat -> Bool # (/=) :: LogCat -> LogCat -> Bool #
Ord LogCat # |
Methods compare :: LogCat -> LogCat -> Ordering # (<) :: LogCat -> LogCat -> Bool # (<=) :: LogCat -> LogCat -> Bool # (>) :: LogCat -> LogCat -> Bool # (>=) :: LogCat -> LogCat -> Bool # max :: LogCat -> LogCat -> LogCat # min :: LogCat -> LogCat -> LogCat #
Show LogCat # |
Methods showsPrec :: Int -> LogCat -> ShowS # show :: LogCat -> String # showList :: [LogCat] -> ShowS #
Generic LogCat # |
Associated Types type Rep LogCat :: * -> * # Methods from :: LogCat -> Rep LogCat x # to :: Rep LogCat x -> LogCat #
type Rep LogCat # |
type Rep LogCat = D1 (MetaData "LogCat" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "IParse" PrefixI False) U1) ((:+:) (C1 (MetaCons "IElab" PrefixI False) U1) (C1 (MetaCons "ICodeGen" PrefixI False) U1))) ((:+:) (C1 (MetaCons "IErasure" PrefixI False) U1) ((:+:) (C1 (MetaCons "ICoverage" PrefixI False) U1) (C1 (MetaCons "IIBC" PrefixI False) U1))))

strLogCat :: LogCat -> String #

codegenCats :: [LogCat] #

parserCats :: [LogCat] #

elabCats :: [LogCat] #

loggingCatsStr :: String #

data ElabShellCmd #

Constructors

EQED |
EAbandon |
EUndo |
EProofState |
EProofTerm |
EEval PTerm |
ECheck PTerm |
ESearch PTerm |
EDocStr (Either Name Const) |

Instances

Eq ElabShellCmd # |
Methods (==) :: ElabShellCmd -> ElabShellCmd -> Bool # (/=) :: ElabShellCmd -> ElabShellCmd -> Bool #
Show ElabShellCmd # |
Methods showsPrec :: Int -> ElabShellCmd -> ShowS # show :: ElabShellCmd -> String # showList :: [ElabShellCmd] -> ShowS #

data Opt #

Constructors

Filename String |
Quiet |
NoBanner |
ColourREPL Bool |
Idemode |
IdemodeSocket |
IndentWith Int |
IndentClause Int |
ShowAll |
ShowLibs |
ShowLibDir |
ShowDocDir |
ShowIncs |
ShowPkgs |
ShowLoggingCats |
NoBasePkgs |
NoPrelude |
NoBuiltins |
NoREPL |
OLogging Int |
OLogCats [LogCat] |
Output String |
Interface |
TypeCase |
TypeInType |
DefaultTotal |
DefaultPartial |
WarnPartial |
WarnReach |
AuditIPkg |
EvalTypes |
NoCoverage |
ErrContext |
ShowImpl |
Verbose Int |
Port REPLPort | REPL TCP port
IBCSubDir String |
ImportDir String |
SourceDir String |
PkgBuild String |
PkgInstall String |
PkgClean String |
PkgCheck String |
PkgREPL String |
PkgDocBuild String |
PkgDocInstall String |
PkgTest String |
PkgIndex FilePath |
WarnOnly |
Pkg String |
BCAsm String |
DumpDefun String |
DumpCases String |
UseCodegen Codegen |
CodegenArgs String |
OutputTy OutputType |
Extension LanguageExt |
InterpretScript String |
EvalExpr String |
TargetTriple String |
TargetCPU String |
OptLevel Int |
AddOpt Optimisation |
RemoveOpt Optimisation |
Client String |
ShowOrigErr |
AutoWidth | Automatically adjust terminal width
AutoSolve | Automatically issue "solve" tactic in old-style interactive prover
UseConsoleWidth ConsoleWidth |
DumpHighlights |
DesugarNats |
NoElimDeprecationWarnings | Don't show deprecation warnings for %elim
NoOldTacticDeprecationWarnings | Don't show deprecation warnings for old-style tactics

Instances

Eq Opt # |
Methods (==) :: Opt -> Opt -> Bool # (/=) :: Opt -> Opt -> Bool #
Show Opt # |
Methods showsPrec :: Int -> Opt -> ShowS # show :: Opt -> String # showList :: [Opt] -> ShowS #
Generic Opt # |
Associated Types type Rep Opt :: * -> * # Methods from :: Opt -> Rep Opt x # to :: Rep Opt x -> Opt #
type Rep Opt # |
type Rep Opt = D1 (MetaData "Opt" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "Filename" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "Quiet" PrefixI False) U1)) ((:+:) (C1 (MetaCons "NoBanner" PrefixI False) U1) (C1 (MetaCons "ColourREPL" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))) ((:+:) ((:+:) (C1 (MetaCons "Idemode" PrefixI False) U1) (C1 (MetaCons "IdemodeSocket" PrefixI False) U1)) ((:+:) (C1 (MetaCons "IndentWith" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) ((:+:) (C1 (MetaCons "IndentClause" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) (C1 (MetaCons "ShowAll" PrefixI False) U1))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "ShowLibs" PrefixI False) U1) (C1 (MetaCons "ShowLibDir" PrefixI False) U1)) ((:+:) (C1 (MetaCons "ShowDocDir" PrefixI False) U1) (C1 (MetaCons "ShowIncs" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "ShowPkgs" PrefixI False) U1) (C1 (MetaCons "ShowLoggingCats" PrefixI False) U1)) ((:+:) (C1 (MetaCons "NoBasePkgs" PrefixI False) U1) ((:+:) (C1 (MetaCons "NoPrelude" PrefixI False) U1) (C1 (MetaCons "NoBuiltins" PrefixI False) U1)))))) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "NoREPL" PrefixI False) U1) (C1 (MetaCons "OLogging" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))) ((:+:) (C1 (MetaCons "OLogCats" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [LogCat]))) (C1 (MetaCons "Output" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))) ((:+:) ((:+:) (C1 (MetaCons "Interface" PrefixI False) U1) (C1 (MetaCons "TypeCase" PrefixI False) U1)) ((:+:) (C1 (MetaCons "TypeInType" PrefixI False) U1) ((:+:) (C1 (MetaCons "DefaultTotal" PrefixI False) U1) (C1 (MetaCons "DefaultPartial" PrefixI False) U1))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "WarnPartial" PrefixI False) U1) (C1 (MetaCons "WarnReach" PrefixI False) U1)) ((:+:) (C1 (MetaCons "AuditIPkg" PrefixI False) U1) (C1 (MetaCons "EvalTypes" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "NoCoverage" PrefixI False) U1) (C1 (MetaCons "ErrContext" PrefixI False) U1)) ((:+:) (C1 (MetaCons "ShowImpl" PrefixI False) U1) ((:+:) (C1 (MetaCons "Verbose" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) (C1 (MetaCons "Port" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 REPLPort))))))))) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "IBCSubDir" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "ImportDir" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "SourceDir" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "PkgBuild" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))) ((:+:) ((:+:) (C1 (MetaCons "PkgInstall" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "PkgClean" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "PkgCheck" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) ((:+:) (C1 (MetaCons "PkgREPL" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "PkgDocBuild" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "PkgDocInstall" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "PkgTest" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "PkgIndex" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath))) (C1 (MetaCons "WarnOnly" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "Pkg" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "BCAsm" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "DumpDefun" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) ((:+:) (C1 (MetaCons "DumpCases" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "UseCodegen" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)))))))) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "CodegenArgs" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "OutputTy" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 OutputType)))) ((:+:) (C1 (MetaCons "Extension" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 LanguageExt))) (C1 (MetaCons "InterpretScript" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))) ((:+:) ((:+:) (C1 (MetaCons "EvalExpr" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "TargetTriple" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "TargetCPU" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) ((:+:) (C1 (MetaCons "OptLevel" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) (C1 (MetaCons "AddOpt" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Optimisation))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "RemoveOpt" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Optimisation))) (C1 (MetaCons "Client" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "ShowOrigErr" PrefixI False) U1) ((:+:) (C1 (MetaCons "AutoWidth" PrefixI False) U1) (C1 (MetaCons "AutoSolve" PrefixI False) U1)))) ((:+:) ((:+:) (C1 (MetaCons "UseConsoleWidth" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ConsoleWidth))) (C1 (MetaCons "DumpHighlights" PrefixI False) U1)) ((:+:) (C1 (MetaCons "DesugarNats" PrefixI False) U1) ((:+:) (C1 (MetaCons "NoElimDeprecationWarnings" PrefixI False) U1) (C1 (MetaCons "NoOldTacticDeprecationWarnings" PrefixI False) U1))))))))

data REPLPort #

Constructors

DontListen |
ListenPort PortNumber |

Instances

Eq REPLPort # |
Methods (==) :: REPLPort -> REPLPort -> Bool # (/=) :: REPLPort -> REPLPort -> Bool #
Show REPLPort # |
Methods showsPrec :: Int -> REPLPort -> ShowS # show :: REPLPort -> String # showList :: [REPLPort] -> ShowS #
Generic REPLPort # |
Associated Types type Rep REPLPort :: * -> * # Methods from :: REPLPort -> Rep REPLPort x # to :: Rep REPLPort x -> REPLPort #
type Rep REPLPort # |
type Rep REPLPort = D1 (MetaData "REPLPort" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "DontListen" PrefixI False) U1) (C1 (MetaCons "ListenPort" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PortNumber))))

data Fixity #

Constructors

Infixl |
Fields prec :: Int
Infixr |
Fields prec :: Int
InfixN |
Fields prec :: Int
PrefixN |
Fields prec :: Int

Instances

Eq Fixity # |
Methods (==) :: Fixity -> Fixity -> Bool # (/=) :: Fixity -> Fixity -> Bool #
Show Fixity # |
Methods showsPrec :: Int -> Fixity -> ShowS # show :: Fixity -> String # showList :: [Fixity] -> ShowS #
Generic Fixity # |
Associated Types type Rep Fixity :: * -> * # Methods from :: Fixity -> Rep Fixity x # to :: Rep Fixity x -> Fixity #
type Rep Fixity # |
type Rep Fixity = D1 (MetaData "Fixity" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "Infixl" PrefixI True) (S1 (MetaSel (Just Symbol "prec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) (C1 (MetaCons "Infixr" PrefixI True) (S1 (MetaSel (Just Symbol "prec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))) ((:+:) (C1 (MetaCons "InfixN" PrefixI True) (S1 (MetaSel (Just Symbol "prec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) (C1 (MetaCons "PrefixN" PrefixI True) (S1 (MetaSel (Just Symbol "prec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))))

data FixDecl #

Constructors

Fix Fixity String |

Instances

Eq FixDecl # |
Methods (==) :: FixDecl -> FixDecl -> Bool # (/=) :: FixDecl -> FixDecl -> Bool #
Ord FixDecl # |
Methods compare :: FixDecl -> FixDecl -> Ordering # (<) :: FixDecl -> FixDecl -> Bool # (<=) :: FixDecl -> FixDecl -> Bool # (>) :: FixDecl -> FixDecl -> Bool # (>=) :: FixDecl -> FixDecl -> Bool # max :: FixDecl -> FixDecl -> FixDecl # min :: FixDecl -> FixDecl -> FixDecl #
Show FixDecl # |
Methods showsPrec :: Int -> FixDecl -> ShowS # show :: FixDecl -> String # showList :: [FixDecl] -> ShowS #
Generic FixDecl # |
Associated Types type Rep FixDecl :: * -> * # Methods from :: FixDecl -> Rep FixDecl x # to :: Rep FixDecl x -> FixDecl #
type Rep FixDecl # |
type Rep FixDecl = D1 (MetaData "FixDecl" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "Fix" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Fixity)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))

data Static #

Mark bindings with their explicitness, and laziness

Constructors

Static |
Dynamic |

Instances

Eq Static # |
Methods (==) :: Static -> Static -> Bool # (/=) :: Static -> Static -> Bool #
Data Static # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Static -> c Static # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Static # toConstr :: Static -> Constr # dataTypeOf :: Static -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Static) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Static) # gmapT :: (forall b. Data b => b -> b) -> Static -> Static # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Static -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Static -> r # gmapQ :: (forall d. Data d => d -> u) -> Static -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Static -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Static -> m Static # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Static -> m Static # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Static -> m Static #
Ord Static # |
Methods compare :: Static -> Static -> Ordering # (<) :: Static -> Static -> Bool # (<=) :: Static -> Static -> Bool # (>) :: Static -> Static -> Bool # (>=) :: Static -> Static -> Bool # max :: Static -> Static -> Static # min :: Static -> Static -> Static #
Show Static # |
Methods showsPrec :: Int -> Static -> ShowS # show :: Static -> String # showList :: [Static] -> ShowS #
Generic Static # |
Associated Types type Rep Static :: * -> * # Methods from :: Static -> Rep Static x # to :: Rep Static x -> Static #
type Rep Static # |
type Rep Static = D1 (MetaData "Static" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "Static" PrefixI False) U1) (C1 (MetaCons "Dynamic" PrefixI False) U1))

data Plicity #

Constructors

Imp |
Fields pargopts :: [ArgOpt] pstatic :: Static pparam :: Bool this is a param (rather than index) pscoped :: Maybe ImplicitInfo Nothing, if top level pinsource :: Bool Explicitly written in source pcount :: RigCount
Exp |
Fields pargopts :: [ArgOpt] pstatic :: Static pparam :: Bool this is a param (rather than index) pcount :: RigCount
Constraint |
Fields pargopts :: [ArgOpt] pstatic :: Static pcount :: RigCount
TacImp |
Fields pargopts :: [ArgOpt] pstatic :: Static pscript :: PTerm pcount :: RigCount

Instances

Eq Plicity # |
Methods (==) :: Plicity -> Plicity -> Bool # (/=) :: Plicity -> Plicity -> Bool #
Data Plicity # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Plicity -> c Plicity # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Plicity # toConstr :: Plicity -> Constr # dataTypeOf :: Plicity -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Plicity) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Plicity) # gmapT :: (forall b. Data b => b -> b) -> Plicity -> Plicity # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Plicity -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Plicity -> r # gmapQ :: (forall d. Data d => d -> u) -> Plicity -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Plicity -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Plicity -> m Plicity # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Plicity -> m Plicity # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Plicity -> m Plicity #
Ord Plicity # |
Methods compare :: Plicity -> Plicity -> Ordering # (<) :: Plicity -> Plicity -> Bool # (<=) :: Plicity -> Plicity -> Bool # (>) :: Plicity -> Plicity -> Bool # (>=) :: Plicity -> Plicity -> Bool # max :: Plicity -> Plicity -> Plicity # min :: Plicity -> Plicity -> Plicity #
Show Plicity # |
Methods showsPrec :: Int -> Plicity -> ShowS # show :: Plicity -> String # showList :: [Plicity] -> ShowS #
Generic Plicity # |
Associated Types type Rep Plicity :: * -> * # Methods from :: Plicity -> Rep Plicity x # to :: Rep Plicity x -> Plicity #
type Rep Plicity # |
type Rep Plicity = D1 (MetaData "Plicity" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "Imp" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "pargopts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ArgOpt])) ((:*:) (S1 (MetaSel (Just Symbol "pstatic") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Static)) (S1 (MetaSel (Just Symbol "pparam") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))) ((:*:) (S1 (MetaSel (Just Symbol "pscoped") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe ImplicitInfo))) ((:*:) (S1 (MetaSel (Just Symbol "pinsource") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "pcount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 RigCount)))))) (C1 (MetaCons "Exp" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "pargopts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ArgOpt])) (S1 (MetaSel (Just Symbol "pstatic") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Static))) ((:*:) (S1 (MetaSel (Just Symbol "pparam") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "pcount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 RigCount)))))) ((:+:) (C1 (MetaCons "Constraint" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "pargopts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ArgOpt])) ((:*:) (S1 (MetaSel (Just Symbol "pstatic") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Static)) (S1 (MetaSel (Just Symbol "pcount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 RigCount))))) (C1 (MetaCons "TacImp" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "pargopts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ArgOpt])) (S1 (MetaSel (Just Symbol "pstatic") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Static))) ((:*:) (S1 (MetaSel (Just Symbol "pscript") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Just Symbol "pcount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 RigCount)))))))

is_scoped :: Plicity -> Maybe ImplicitInfo #

impl :: Plicity #

impl_gen :: Plicity #

forall_imp :: Plicity #

forall_constraint :: Plicity #

expl :: Plicity #

expl_param :: Plicity #

constraint :: Plicity #

tacimpl :: PTerm -> Plicity #

data FnOpt #

Constructors

Inlinable | always evaluate when simplifying
TotalFn |
PartialFn |
CoveringFn |
AllGuarded | all delayed arguments guaranteed guarded by constructors
AssertTotal |
Dictionary | interface dictionary, eval only when a function argument, and further evaluation results.
OverlappingDictionary | Interface dictionary which may overlap
Implicit | implicit coercion
NoImplicit | do not apply implicit coercions
CExport String | export, with a C name
ErrorHandler | an error handler for use with the ErrorReflection extension
ErrorReverse | attempt to reverse normalise before showing in error
ErrorReduce | unfold definition before showing an error
Reflection | a reflecting function, compile-time only
Specialise [(Name, Maybe Int)] | specialise it, freeze these names
Constructor | Data constructor type
AutoHint | use in auto implicit search
PEGenerated | generated by partial evaluator
StaticFn | Marked static, to be evaluated by partial evaluator

Instances

Eq FnOpt # |
Methods (==) :: FnOpt -> FnOpt -> Bool # (/=) :: FnOpt -> FnOpt -> Bool #
Show FnOpt # |
Methods showsPrec :: Int -> FnOpt -> ShowS # show :: FnOpt -> String # showList :: [FnOpt] -> ShowS #
Generic FnOpt # |
Associated Types type Rep FnOpt :: * -> * # Methods from :: FnOpt -> Rep FnOpt x # to :: Rep FnOpt x -> FnOpt #
type Rep FnOpt # |
type Rep FnOpt = D1 (MetaData "FnOpt" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "Inlinable" PrefixI False) U1) (C1 (MetaCons "TotalFn" PrefixI False) U1)) ((:+:) (C1 (MetaCons "PartialFn" PrefixI False) U1) ((:+:) (C1 (MetaCons "CoveringFn" PrefixI False) U1) (C1 (MetaCons "AllGuarded" PrefixI False) U1)))) ((:+:) ((:+:) (C1 (MetaCons "AssertTotal" PrefixI False) U1) (C1 (MetaCons "Dictionary" PrefixI False) U1)) ((:+:) (C1 (MetaCons "OverlappingDictionary" PrefixI False) U1) ((:+:) (C1 (MetaCons "Implicit" PrefixI False) U1) (C1 (MetaCons "NoImplicit" PrefixI False) U1))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "CExport" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "ErrorHandler" PrefixI False) U1)) ((:+:) (C1 (MetaCons "ErrorReverse" PrefixI False) U1) ((:+:) (C1 (MetaCons "ErrorReduce" PrefixI False) U1) (C1 (MetaCons "Reflection" PrefixI False) U1)))) ((:+:) ((:+:) (C1 (MetaCons "Specialise" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Maybe Int)]))) (C1 (MetaCons "Constructor" PrefixI False) U1)) ((:+:) (C1 (MetaCons "AutoHint" PrefixI False) U1) ((:+:) (C1 (MetaCons "PEGenerated" PrefixI False) U1) (C1 (MetaCons "StaticFn" PrefixI False) U1))))))

type FnOpts = [FnOpt] #

inlinable :: FnOpts -> Bool #

dictionary :: FnOpts -> Bool #

data ProvideWhat' t #

Type provider - what to provide

Constructors

ProvTerm t t | the first is the goal type, the second is the term
ProvPostulate t | goal type must be Type, so only term

Instances

Functor ProvideWhat' # |
Methods fmap :: (a -> b) -> ProvideWhat' a -> ProvideWhat' b # (<$) :: a -> ProvideWhat' b -> ProvideWhat' a #
Eq t => Eq (ProvideWhat' t) # |
Methods (==) :: ProvideWhat' t -> ProvideWhat' t -> Bool # (/=) :: ProvideWhat' t -> ProvideWhat' t -> Bool #
Show t => Show (ProvideWhat' t) # |
Methods showsPrec :: Int -> ProvideWhat' t -> ShowS # show :: ProvideWhat' t -> String # showList :: [ProvideWhat' t] -> ShowS #
Generic (ProvideWhat' t) # |
Associated Types type Rep (ProvideWhat' t) :: * -> * # Methods from :: ProvideWhat' t -> Rep (ProvideWhat' t) x # to :: Rep (ProvideWhat' t) x -> ProvideWhat' t #
type Rep (ProvideWhat' t) # |
type Rep (ProvideWhat' t) = D1 (MetaData "ProvideWhat'" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "ProvTerm" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))) (C1 (MetaCons "ProvPostulate" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))

type ProvideWhat = ProvideWhat' PTerm #

data PDecl' t #

Top-level declarations such as compiler directives, definitions, datatypes and interfaces.

Constructors

PFix FC Fixity [String] | Fixity declaration
PTy (Docstring (Either Err t)) [(Name, Docstring (Either Err t))] SyntaxInfo FC FnOpts Name FC t | Type declaration (last FC is precise name location)
PPostulate Bool (Docstring (Either Err t)) SyntaxInfo FC FC FnOpts Name t | Postulate, second FC is precise name location
PClauses FC FnOpts Name [PClause' t] | Pattern clause
PCAF FC Name t | Top level constant
PData (Docstring (Either Err t)) [(Name, Docstring (Either Err t))] SyntaxInfo FC DataOpts (PData' t) | Data declaration.
PParams FC [(Name, t)] [PDecl' t] | Params block
POpenInterfaces FC [Name] [PDecl' t] | Open block/declaration
PNamespace String FC [PDecl' t] | New namespace, where FC is accurate location of the namespace in the file
PRecord (Docstring (Either Err t)) SyntaxInfo FC DataOpts Name FC [(Name, FC, Plicity, t)] [(Name, Docstring (Either Err t))] [(Maybe (Name, FC), Plicity, t, Maybe (Docstring (Either Err t)))] (Maybe (Name, FC)) (Docstring (Either Err t)) SyntaxInfo | Record name.
PInterface (Docstring (Either Err t)) SyntaxInfo FC [(Name, t)] Name FC [(Name, FC, t)] [(Name, Docstring (Either Err t))] [(Name, FC)] [PDecl' t] (Maybe (Name, FC)) (Docstring (Either Err t)) | Interface: arguments are documentation, syntax info, source location, constraints, interface name, interface name location, parameters, method declarations, optional constructor name
PImplementation (Docstring (Either Err t)) [(Name, Docstring (Either Err t))] SyntaxInfo FC [(Name, t)] [Name] Accessibility FnOpts Name FC [t] [(Name, t)] t (Maybe Name) [PDecl' t] | Implementation declaration: arguments are documentation, syntax info, source location, constraints, interface name, parameters, full Implementation type, optional explicit name, and definitions
PDSL Name (DSL' t) | DSL declaration
PSyntax FC Syntax | Syntax definition
PMutual FC [PDecl' t] | Mutual block
PDirective Directive | Compiler directive.
PProvider (Docstring (Either Err t)) SyntaxInfo FC FC (ProvideWhat' t) Name | Type provider. The first t is the type, the second is the term. The second FC is precise highlighting location.
PTransform FC Bool t t | Source-to-source transformation rule. If bool is True, lhs and rhs must be convertible.
PRunElabDecl FC t [String] | FC is decl-level, for errors, and Strings represent the namespace

Instances

Functor PDecl' # |
Methods fmap :: (a -> b) -> PDecl' a -> PDecl' b # (<$) :: a -> PDecl' b -> PDecl' a #
Show PDecl # |
Methods showsPrec :: Int -> PDecl -> ShowS # show :: PDecl -> String # showList :: [PDecl] -> ShowS #
Generic (PDecl' t) # |
Associated Types type Rep (PDecl' t) :: * -> * # Methods from :: PDecl' t -> Rep (PDecl' t) x # to :: Rep (PDecl' t) x -> PDecl' t #
type Rep (PDecl' t) # |
type Rep (PDecl' t) = D1 (MetaData "PDecl'" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "PFix" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Fixity)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [String]))))) (C1 (MetaCons "PTy" PrefixI False) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Docstring (Either Err t))]))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxInfo)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FnOpts)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))))) ((:+:) (C1 (MetaCons "PPostulate" PrefixI False) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t))))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxInfo)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FnOpts))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))) (C1 (MetaCons "PClauses" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FnOpts))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PClause' t]))))))) ((:+:) ((:+:) (C1 (MetaCons "PCAF" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))) (C1 (MetaCons "PData" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Docstring (Either Err t))])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxInfo)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DataOpts)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (PData' t)))))))) ((:+:) (C1 (MetaCons "PParams" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, t)])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t]))))) ((:+:) (C1 (MetaCons "POpenInterfaces" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t]))))) (C1 (MetaCons "PNamespace" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t]))))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "PRecord" PrefixI False) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxInfo)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DataOpts)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC))))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, FC, Plicity, t)])) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Docstring (Either Err t))])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Maybe (Name, FC), Plicity, t, Maybe (Docstring (Either Err t)))])))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Name, FC)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxInfo))))))) (C1 (MetaCons "PInterface" PrefixI False) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxInfo)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, t)])) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC))))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, FC, t)])) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Docstring (Either Err t))])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, FC)])))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t])) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Name, FC)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t)))))))))) ((:+:) (C1 (MetaCons "PImplementation" PrefixI False) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Docstring (Either Err t))])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxInfo)))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, t)]))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Accessibility))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FnOpts)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [t])))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, t)])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Name))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t]))))))) ((:+:) (C1 (MetaCons "PDSL" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (DSL' t))))) (C1 (MetaCons "PSyntax" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Syntax))))))) ((:+:) ((:+:) (C1 (MetaCons "PMutual" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t])))) (C1 (MetaCons "PDirective" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Directive)))) ((:+:) (C1 (MetaCons "PProvider" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Docstring (Either Err t)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SyntaxInfo)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (ProvideWhat' t))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))))) ((:+:) (C1 (MetaCons "PTransform" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))) (C1 (MetaCons "PRunElabDecl" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [String]))))))))))

data Directive #

The set of source directives

Constructors

DLib Codegen String |
DLink Codegen String |
DFlag Codegen String |
DInclude Codegen String |
DHide Name |
DFreeze Name |
DThaw Name |
DInjective Name |
DSetTotal Name |
DAccess Accessibility |
DDefault DefaultTotality |
DLogging Integer |
DDynamicLibs [String] |
DNameHint Name FC [(Name, FC)] |
DErrorHandlers Name FC Name FC [(Name, FC)] |
DLanguage LanguageExt |
DDeprecate Name String |
DFragile Name String |
DAutoImplicits Bool |
DUsed FC Name Name |

Instances

Generic Directive # |
Associated Types type Rep Directive :: * -> * # Methods from :: Directive -> Rep Directive x # to :: Rep Directive x -> Directive #
type Rep Directive # |
type Rep Directive = D1 (MetaData "Directive" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "DLib" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) (C1 (MetaCons "DLink" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))) ((:+:) (C1 (MetaCons "DFlag" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "DInclude" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Codegen)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) (C1 (MetaCons "DHide" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))))) ((:+:) ((:+:) (C1 (MetaCons "DFreeze" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "DThaw" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))) ((:+:) (C1 (MetaCons "DInjective" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "DSetTotal" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "DAccess" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Accessibility))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "DDefault" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DefaultTotality))) (C1 (MetaCons "DLogging" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))) ((:+:) (C1 (MetaCons "DDynamicLibs" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [String]))) ((:+:) (C1 (MetaCons "DNameHint" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, FC)]))))) (C1 (MetaCons "DErrorHandlers" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, FC)]))))))))) ((:+:) ((:+:) (C1 (MetaCons "DLanguage" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 LanguageExt))) (C1 (MetaCons "DDeprecate" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))) ((:+:) (C1 (MetaCons "DFragile" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "DAutoImplicits" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))) (C1 (MetaCons "DUsed" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))))))))

data RDeclInstructions #

A set of instructions for things that need to happen in IState after a term elaboration when there's been reflected elaboration.

Constructors

RTyDeclInstrs Name FC [PArg] Type |
RClausesInstrs Name [([(Name, Term)], Term, Term)] |
RAddImplementation Name Name |
RDatatypeDeclInstrs Name [PArg] |
RDatatypeDefnInstrs Name Type [(Name, [PArg], Type)] | Datatype, constructors

data EState #

For elaborator state

Constructors

EState |
Fields case_decls :: [(Name, PDecl)] delayed_elab :: [(Int, Elab' EState ())] new_tyDecls :: [RDeclInstructions] highlighting :: [(FC, OutputAnnotation)] auto_binds :: [Name] names bound as auto implicits implicit_warnings :: [(FC, Name)] Implicit warnings to report (location and global name)

initEState :: EState #

type ElabD a = Elab' EState a #

highlightSource :: FC -> OutputAnnotation -> ElabD () #

data PClause' t #

One clause of a top-level definition. Term arguments to constructors are:

1. The whole application (missing for PClauseR and PWithR because they're within a "with" clause)
2. The list of extra `with` patterns
3. The right-hand side
4. The where block (PDecl' t)

Constructors

PClause FC Name t [t] t [PDecl' t] | A normal top-level definition.
PWith FC Name t [t] t (Maybe (Name, FC)) [PDecl' t] |
PClauseR FC [t] t [PDecl' t] |
PWithR FC [t] t (Maybe (Name, FC)) [PDecl' t] |

Instances

Functor PClause' # |
Methods fmap :: (a -> b) -> PClause' a -> PClause' b # (<$) :: a -> PClause' b -> PClause' a #
Show PClause # |
Methods showsPrec :: Int -> PClause -> ShowS # show :: PClause -> String # showList :: [PClause] -> ShowS #
Generic (PClause' t) # |
Associated Types type Rep (PClause' t) :: * -> * # Methods from :: PClause' t -> Rep (PClause' t) x # to :: Rep (PClause' t) x -> PClause' t #
type Rep (PClause' t) # |
type Rep (PClause' t) = D1 (MetaData "PClause'" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "PClause" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [t])) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t])))))) (C1 (MetaCons "PWith" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [t])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Name, FC)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t]))))))) ((:+:) (C1 (MetaCons "PClauseR" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [t]))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t]))))) (C1 (MetaCons "PWithR" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [t]))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Name, FC)))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl' t]))))))))

data PData' t #

Data declaration

Constructors

PDatadecl | Data declaration
Fields d_name :: Name The name of the datatype d_name_fc :: FC The precise location of the type constructor name d_tcon :: t Type constructor d_cons :: [(Docstring (Either Err PTerm), [(Name, Docstring (Either Err PTerm))], Name, FC, t, FC, [Name])] Constructors
PLaterdecl | Placeholder for data whose constructors are defined later
Fields d_name :: Name The name of the datatype d_name_fc :: FC The precise location of the type constructor name d_tcon :: t Type constructor

Instances

Functor PData' # |
Methods fmap :: (a -> b) -> PData' a -> PData' b # (<$) :: a -> PData' b -> PData' a #
Show PData # |
Methods showsPrec :: Int -> PData -> ShowS # show :: PData -> String # showList :: [PData] -> ShowS #
Generic (PData' t) # |
Associated Types type Rep (PData' t) :: * -> * # Methods from :: PData' t -> Rep (PData' t) x # to :: Rep (PData' t) x -> PData' t #
type Rep (PData' t) # |
type Rep (PData' t) = D1 (MetaData "PData'" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "PDatadecl" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "d_name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Just Symbol "d_name_fc") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC))) ((:*:) (S1 (MetaSel (Just Symbol "d_tcon") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Just Symbol "d_cons") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Docstring (Either Err PTerm), [(Name, Docstring (Either Err PTerm))], Name, FC, t, FC, [Name])]))))) (C1 (MetaCons "PLaterdecl" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "d_name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) ((:*:) (S1 (MetaSel (Just Symbol "d_name_fc") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Just Symbol "d_tcon") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))))

mapPDataFC :: (FC -> FC) -> (FC -> FC) -> PData -> PData #

Transform the FCs in a PData and its associated terms. The first function transforms the general-purpose FCs, and the second transforms those that are used for semantic source highlighting, so they can be treated specially.

type PDecl = PDecl' PTerm #

type PData = PData' PTerm #

type PClause = PClause' PTerm #

mapPDeclFC :: (FC -> FC) -> (FC -> FC) -> PDecl -> PDecl #

Transform the FCs in a PTerm. The first function transforms the general-purpose FCs, and the second transforms those that are used for semantic source highlighting, so they can be treated specially.

declared :: PDecl -> [Name] #

Get all the names declared in a declaration

tldeclared :: PDecl -> [Name] #

defined :: PDecl -> [Name] #

updateN :: [(Name, Name)] -> Name -> Name #

updateNs :: [(Name, Name)] -> PTerm -> PTerm #

data PunInfo #

Constructors

IsType |
IsTerm |
TypeOrTerm |

Instances

Eq PunInfo # |
Methods (==) :: PunInfo -> PunInfo -> Bool # (/=) :: PunInfo -> PunInfo -> Bool #
Data PunInfo # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PunInfo -> c PunInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PunInfo # toConstr :: PunInfo -> Constr # dataTypeOf :: PunInfo -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PunInfo) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PunInfo) # gmapT :: (forall b. Data b => b -> b) -> PunInfo -> PunInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PunInfo -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PunInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> PunInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PunInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PunInfo -> m PunInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PunInfo -> m PunInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PunInfo -> m PunInfo #
Ord PunInfo # |
Methods compare :: PunInfo -> PunInfo -> Ordering # (<) :: PunInfo -> PunInfo -> Bool # (<=) :: PunInfo -> PunInfo -> Bool # (>) :: PunInfo -> PunInfo -> Bool # (>=) :: PunInfo -> PunInfo -> Bool # max :: PunInfo -> PunInfo -> PunInfo # min :: PunInfo -> PunInfo -> PunInfo #
Show PunInfo # |
Methods showsPrec :: Int -> PunInfo -> ShowS # show :: PunInfo -> String # showList :: [PunInfo] -> ShowS #
Generic PunInfo # |
Associated Types type Rep PunInfo :: * -> * # Methods from :: PunInfo -> Rep PunInfo x # to :: Rep PunInfo x -> PunInfo #
type Rep PunInfo # |
type Rep PunInfo = D1 (MetaData "PunInfo" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "IsType" PrefixI False) U1) ((:+:) (C1 (MetaCons "IsTerm" PrefixI False) U1) (C1 (MetaCons "TypeOrTerm" PrefixI False) U1)))

data PTerm #

High level language terms

Constructors

PQuote Raw | Inclusion of a core term into the high-level language
PRef FC [FC] Name | A reference to a variable. The FC is its precise source location for highlighting. The list of FCs is a collection of additional highlighting locations.
PInferRef FC [FC] Name | A name to be defined later
PPatvar FC Name | A pattern variable
PLam FC Name FC PTerm PTerm | A lambda abstraction. Second FC is name span.
PPi Plicity Name FC PTerm PTerm | (n : t1) -> t2, where the FC is for the precise location of the variable
PLet FC Name FC PTerm PTerm PTerm | A let binding (second FC is precise name location)
PTyped PTerm PTerm | Term with explicit type
PApp FC PTerm [PArg] | e.g. IO (), List Char, length x
PWithApp FC PTerm PTerm | Application plus a `with` argument
PAppImpl PTerm [ImplicitInfo] | Implicit argument application (introduced during elaboration only)
PAppBind FC PTerm [PArg] | implicitly bound application
PMatchApp FC Name | Make an application by type matching
PIfThenElse FC PTerm PTerm PTerm | Conditional expressions - elaborated to an overloading of ifThenElse
PCase FC PTerm [(PTerm, PTerm)] | A case expression. Args are source location, scrutinee, and a list of pattern/RHS pairs
PTrue FC PunInfo | Unit type..?
PResolveTC FC | Solve this dictionary by interface resolution
PRewrite FC (Maybe Name) PTerm PTerm (Maybe PTerm) | "rewrite" syntax, with optional rewriting function and optional result type
PPair FC [FC] PunInfo PTerm PTerm | A pair (a, b) and whether it's a product type or a pair (solved by elaboration). The list of FCs is its punctuation.
PDPair FC [FC] PunInfo PTerm PTerm PTerm | A dependent pair (tm : a ** b) and whether it's a sigma type or a pair that inhabits one (solved by elaboration). The [FC] is its punctuation.
PAs FC Name PTerm | @-pattern, valid LHS only
PAlternative [(Name, Name)] PAltType [PTerm] | (| A, B, C|). Includes unapplied unique name mappings for mkUniqueNames.
PHidden PTerm | Irrelevant or hidden pattern
PType FC | `Type` type
PUniverse FC Universe | Some universe
PGoal FC PTerm Name PTerm | quoteGoal, used for %reflection functions
PConstant FC Const | Builtin types
Placeholder | Underscore
PDoBlock [PDo] | Do notation
PIdiom FC PTerm | Idiom brackets
PMetavar FC Name | A metavariable, ?name, and its precise location
PProof [PTactic] | Proof script
PTactics [PTactic] | As PProof, but no auto solving
PElabError Err | Error to report on elaboration
PImpossible | Special case for declaring when an LHS can't typecheck
PCoerced PTerm | To mark a coerced argument, so as not to coerce twice
PDisamb [[Text]] PTerm | Preferences for explicit namespaces
PUnifyLog PTerm | dump a trace of unifications when building term
PNoImplicits PTerm | never run implicit converions on the term
PQuasiquote PTerm (Maybe PTerm) | `(Term [: Term])
PUnquote PTerm | ~Term
PQuoteName Name Bool FC | `{n} where the FC is the precise highlighting for the name in particular. If the Bool is False, then it's `{{n}} and the name won't be resolved.
PRunElab FC PTerm [String] | %runElab tm - New-style proof script. Args are location, script, enclosing namespace.
PConstSugar FC PTerm | A desugared constant. The FC is a precise source location that will be used to highlight it later.

Instances

Eq PTerm # |
Methods (==) :: PTerm -> PTerm -> Bool # (/=) :: PTerm -> PTerm -> Bool #
Data PTerm # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PTerm -> c PTerm # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PTerm # toConstr :: PTerm -> Constr # dataTypeOf :: PTerm -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PTerm) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PTerm) # gmapT :: (forall b. Data b => b -> b) -> PTerm -> PTerm # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PTerm -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PTerm -> r # gmapQ :: (forall d. Data d => d -> u) -> PTerm -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PTerm -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PTerm -> m PTerm # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PTerm -> m PTerm # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PTerm -> m PTerm #
Ord PTerm # |
Methods compare :: PTerm -> PTerm -> Ordering # (<) :: PTerm -> PTerm -> Bool # (<=) :: PTerm -> PTerm -> Bool # (>) :: PTerm -> PTerm -> Bool # (>=) :: PTerm -> PTerm -> Bool # max :: PTerm -> PTerm -> PTerm # min :: PTerm -> PTerm -> PTerm #
Show PTerm # |
Methods showsPrec :: Int -> PTerm -> ShowS # show :: PTerm -> String # showList :: [PTerm] -> ShowS #
Show PClause # |
Methods showsPrec :: Int -> PClause -> ShowS # show :: PClause -> String # showList :: [PClause] -> ShowS #
Show PData # |
Methods showsPrec :: Int -> PData -> ShowS # show :: PData -> String # showList :: [PData] -> ShowS #
Show PDecl # |
Methods showsPrec :: Int -> PDecl -> ShowS # show :: PDecl -> String # showList :: [PDecl] -> ShowS #
Generic PTerm # |
Associated Types type Rep PTerm :: * -> * # Methods from :: PTerm -> Rep PTerm x # to :: Rep PTerm x -> PTerm #
type Rep PTerm # |
type Rep PTerm = D1 (MetaData "PTerm" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "PQuote" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Raw))) (C1 (MetaCons "PRef" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FC])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))))) ((:+:) (C1 (MetaCons "PInferRef" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FC])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))) ((:+:) (C1 (MetaCons "PPatvar" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))) (C1 (MetaCons "PLam" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))))))))) ((:+:) ((:+:) (C1 (MetaCons "PPi" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Plicity)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))))) ((:+:) (C1 (MetaCons "PLet" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))))) (C1 (MetaCons "PTyped" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))))) ((:+:) (C1 (MetaCons "PApp" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PArg]))))) ((:+:) (C1 (MetaCons "PWithApp" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))))) (C1 (MetaCons "PAppImpl" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ImplicitInfo])))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "PAppBind" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PArg]))))) (C1 (MetaCons "PMatchApp" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))) ((:+:) (C1 (MetaCons "PIfThenElse" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))))) ((:+:) (C1 (MetaCons "PCase" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(PTerm, PTerm)]))))) (C1 (MetaCons "PTrue" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PunInfo))))))) ((:+:) ((:+:) (C1 (MetaCons "PResolveTC" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC))) ((:+:) (C1 (MetaCons "PRewrite" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Name)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe PTerm))))))) (C1 (MetaCons "PPair" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FC]))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PunInfo)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))))))) ((:+:) (C1 (MetaCons "PDPair" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FC])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PunInfo)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))))) ((:+:) (C1 (MetaCons "PAs" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))))) (C1 (MetaCons "PAlternative" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Name)])) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PAltType)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PTerm])))))))))) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "PHidden" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))) (C1 (MetaCons "PType" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)))) ((:+:) (C1 (MetaCons "PUniverse" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Universe)))) ((:+:) (C1 (MetaCons "PGoal" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))))) (C1 (MetaCons "PConstant" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Const))))))) ((:+:) ((:+:) (C1 (MetaCons "Placeholder" PrefixI False) U1) ((:+:) (C1 (MetaCons "PDoBlock" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDo]))) (C1 (MetaCons "PIdiom" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))))) ((:+:) (C1 (MetaCons "PMetavar" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))) ((:+:) (C1 (MetaCons "PProof" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PTactic]))) (C1 (MetaCons "PTactics" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PTactic]))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "PElabError" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Err))) (C1 (MetaCons "PImpossible" PrefixI False) U1)) ((:+:) (C1 (MetaCons "PCoerced" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))) ((:+:) (C1 (MetaCons "PDisamb" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [[Text]])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))) (C1 (MetaCons "PUnifyLog" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))))) ((:+:) ((:+:) (C1 (MetaCons "PNoImplicits" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))) ((:+:) (C1 (MetaCons "PQuasiquote" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe PTerm))))) (C1 (MetaCons "PUnquote" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))))) ((:+:) (C1 (MetaCons "PQuoteName" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC))))) ((:+:) (C1 (MetaCons "PRunElab" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [String]))))) (C1 (MetaCons "PConstSugar" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm))))))))))

data PAltType #

Constructors

ExactlyOne Bool | flag sets whether delay is allowed
FirstSuccess |
TryImplicit |

Instances

Eq PAltType # |
Methods (==) :: PAltType -> PAltType -> Bool # (/=) :: PAltType -> PAltType -> Bool #
Data PAltType # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PAltType -> c PAltType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PAltType # toConstr :: PAltType -> Constr # dataTypeOf :: PAltType -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PAltType) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PAltType) # gmapT :: (forall b. Data b => b -> b) -> PAltType -> PAltType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PAltType -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PAltType -> r # gmapQ :: (forall d. Data d => d -> u) -> PAltType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PAltType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PAltType -> m PAltType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PAltType -> m PAltType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PAltType -> m PAltType #
Ord PAltType # |
Methods compare :: PAltType -> PAltType -> Ordering # (<) :: PAltType -> PAltType -> Bool # (<=) :: PAltType -> PAltType -> Bool # (>) :: PAltType -> PAltType -> Bool # (>=) :: PAltType -> PAltType -> Bool # max :: PAltType -> PAltType -> PAltType # min :: PAltType -> PAltType -> PAltType #
Generic PAltType # |
Associated Types type Rep PAltType :: * -> * # Methods from :: PAltType -> Rep PAltType x # to :: Rep PAltType x -> PAltType #
type Rep PAltType # |
type Rep PAltType = D1 (MetaData "PAltType" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "ExactlyOne" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))) ((:+:) (C1 (MetaCons "FirstSuccess" PrefixI False) U1) (C1 (MetaCons "TryImplicit" PrefixI False) U1)))

mapPTermFC :: (FC -> FC) -> (FC -> FC) -> PTerm -> PTerm #

Transform the FCs in a PTerm. The first function transforms the general-purpose FCs, and the second transforms those that are used for semantic source highlighting, so they can be treated specially.

mapPT :: (PTerm -> PTerm) -> PTerm -> PTerm #

data PTactic' t #

Constructors

Intro [Name] |
Intros |
Focus Name |
Refine Name [Bool] |
Rewrite t |
DoUnify |
Induction t |
CaseTac t |
Equiv t |
Claim Name t |
Unfocus |
MatchRefine Name |
LetTac Name t |
LetTacTy Name t t |
Exact t |
Compute |
Trivial |
TCImplementation |
ProofSearch Bool Bool Int (Maybe Name) [Name] [Name] | the bool is whether to search recursively
Solve |
Attack |
ProofState |
ProofTerm |
Undo |
Try (PTactic' t) (PTactic' t) |
TSeq (PTactic' t) (PTactic' t) |
ApplyTactic t |
ByReflection t |
Reflect t |
Fill t |
GoalType String (PTactic' t) |
TCheck t |
TEval t |
TDocStr (Either Name Const) |
TSearch t |
Skip |
TFail [ErrorReportPart] |
Qed |
Abandon |
SourceFC |

Instances

Functor PTactic' # |
Methods fmap :: (a -> b) -> PTactic' a -> PTactic' b # (<$) :: a -> PTactic' b -> PTactic' a #
Foldable PTactic' # |
Methods fold :: Monoid m => PTactic' m -> m # foldMap :: Monoid m => (a -> m) -> PTactic' a -> m # foldr :: (a -> b -> b) -> b -> PTactic' a -> b # foldr' :: (a -> b -> b) -> b -> PTactic' a -> b # foldl :: (b -> a -> b) -> b -> PTactic' a -> b # foldl' :: (b -> a -> b) -> b -> PTactic' a -> b # foldr1 :: (a -> a -> a) -> PTactic' a -> a # foldl1 :: (a -> a -> a) -> PTactic' a -> a # toList :: PTactic' a -> [a] # null :: PTactic' a -> Bool # length :: PTactic' a -> Int # elem :: Eq a => a -> PTactic' a -> Bool # maximum :: Ord a => PTactic' a -> a # minimum :: Ord a => PTactic' a -> a # sum :: Num a => PTactic' a -> a # product :: Num a => PTactic' a -> a #
Traversable PTactic' # |
Methods traverse :: Applicative f => (a -> f b) -> PTactic' a -> f (PTactic' b) # sequenceA :: Applicative f => PTactic' (f a) -> f (PTactic' a) # mapM :: Monad m => (a -> m b) -> PTactic' a -> m (PTactic' b) # sequence :: Monad m => PTactic' (m a) -> m (PTactic' a) #
Eq t => Eq (PTactic' t) # |
Methods (==) :: PTactic' t -> PTactic' t -> Bool # (/=) :: PTactic' t -> PTactic' t -> Bool #
Data t => Data (PTactic' t) # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PTactic' t -> c (PTactic' t) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (PTactic' t) # toConstr :: PTactic' t -> Constr # dataTypeOf :: PTactic' t -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (PTactic' t)) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (PTactic' t)) # gmapT :: (forall b. Data b => b -> b) -> PTactic' t -> PTactic' t # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PTactic' t -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PTactic' t -> r # gmapQ :: (forall d. Data d => d -> u) -> PTactic' t -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PTactic' t -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PTactic' t -> m (PTactic' t) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PTactic' t -> m (PTactic' t) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PTactic' t -> m (PTactic' t) #
Ord t => Ord (PTactic' t) # |
Methods compare :: PTactic' t -> PTactic' t -> Ordering # (<) :: PTactic' t -> PTactic' t -> Bool # (<=) :: PTactic' t -> PTactic' t -> Bool # (>) :: PTactic' t -> PTactic' t -> Bool # (>=) :: PTactic' t -> PTactic' t -> Bool # max :: PTactic' t -> PTactic' t -> PTactic' t # min :: PTactic' t -> PTactic' t -> PTactic' t #
Show t => Show (PTactic' t) # |
Methods showsPrec :: Int -> PTactic' t -> ShowS # show :: PTactic' t -> String # showList :: [PTactic' t] -> ShowS #
Generic (PTactic' t) # |
Associated Types type Rep (PTactic' t) :: * -> * # Methods from :: PTactic' t -> Rep (PTactic' t) x # to :: Rep (PTactic' t) x -> PTactic' t #
type Rep (PTactic' t) # |
type Rep (PTactic' t) = D1 (MetaData "PTactic'" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "Intro" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name]))) (C1 (MetaCons "Intros" PrefixI False) U1)) ((:+:) (C1 (MetaCons "Focus" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "Refine" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Bool])))) (C1 (MetaCons "Rewrite" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))) ((:+:) ((:+:) (C1 (MetaCons "DoUnify" PrefixI False) U1) (C1 (MetaCons "Induction" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))) ((:+:) (C1 (MetaCons "CaseTac" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) ((:+:) (C1 (MetaCons "Equiv" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) (C1 (MetaCons "Claim" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "Unfocus" PrefixI False) U1) (C1 (MetaCons "MatchRefine" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)))) ((:+:) (C1 (MetaCons "LetTac" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))) ((:+:) (C1 (MetaCons "LetTacTy" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))) (C1 (MetaCons "Exact" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))) ((:+:) ((:+:) (C1 (MetaCons "Compute" PrefixI False) U1) (C1 (MetaCons "Trivial" PrefixI False) U1)) ((:+:) (C1 (MetaCons "TCImplementation" PrefixI False) U1) ((:+:) (C1 (MetaCons "ProofSearch" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Name))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])))))) (C1 (MetaCons "Solve" PrefixI False) U1)))))) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "Attack" PrefixI False) U1) (C1 (MetaCons "ProofState" PrefixI False) U1)) ((:+:) (C1 (MetaCons "ProofTerm" PrefixI False) U1) ((:+:) (C1 (MetaCons "Undo" PrefixI False) U1) (C1 (MetaCons "Try" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (PTactic' t))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (PTactic' t)))))))) ((:+:) ((:+:) (C1 (MetaCons "TSeq" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (PTactic' t))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (PTactic' t))))) (C1 (MetaCons "ApplyTactic" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))) ((:+:) (C1 (MetaCons "ByReflection" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) ((:+:) (C1 (MetaCons "Reflect" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) (C1 (MetaCons "Fill" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "GoalType" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (PTactic' t))))) (C1 (MetaCons "TCheck" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))) ((:+:) (C1 (MetaCons "TEval" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) ((:+:) (C1 (MetaCons "TDocStr" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Either Name Const)))) (C1 (MetaCons "TSearch" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))) ((:+:) ((:+:) (C1 (MetaCons "Skip" PrefixI False) U1) (C1 (MetaCons "TFail" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ErrorReportPart])))) ((:+:) (C1 (MetaCons "Qed" PrefixI False) U1) ((:+:) (C1 (MetaCons "Abandon" PrefixI False) U1) (C1 (MetaCons "SourceFC" PrefixI False) U1)))))))

type PTactic = PTactic' PTerm #

data PDo' t #

Constructors

DoExp FC t |
DoBind FC Name FC t | second FC is precise name location
DoBindP FC t t [(t, t)] |
DoLet FC Name FC t t | second FC is precise name location
DoLetP FC t t |

Instances

Functor PDo' # |
Methods fmap :: (a -> b) -> PDo' a -> PDo' b # (<$) :: a -> PDo' b -> PDo' a #
Eq t => Eq (PDo' t) # |
Methods (==) :: PDo' t -> PDo' t -> Bool # (/=) :: PDo' t -> PDo' t -> Bool #
Data t => Data (PDo' t) # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PDo' t -> c (PDo' t) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (PDo' t) # toConstr :: PDo' t -> Constr # dataTypeOf :: PDo' t -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (PDo' t)) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (PDo' t)) # gmapT :: (forall b. Data b => b -> b) -> PDo' t -> PDo' t # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PDo' t -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PDo' t -> r # gmapQ :: (forall d. Data d => d -> u) -> PDo' t -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PDo' t -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PDo' t -> m (PDo' t) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PDo' t -> m (PDo' t) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PDo' t -> m (PDo' t) #
Ord t => Ord (PDo' t) # |
Methods compare :: PDo' t -> PDo' t -> Ordering # (<) :: PDo' t -> PDo' t -> Bool # (<=) :: PDo' t -> PDo' t -> Bool # (>) :: PDo' t -> PDo' t -> Bool # (>=) :: PDo' t -> PDo' t -> Bool # max :: PDo' t -> PDo' t -> PDo' t # min :: PDo' t -> PDo' t -> PDo' t #
Generic (PDo' t) # |
Associated Types type Rep (PDo' t) :: * -> * # Methods from :: PDo' t -> Rep (PDo' t) x # to :: Rep (PDo' t) x -> PDo' t #
type Rep (PDo' t) # |
type Rep (PDo' t) = D1 (MetaData "PDo'" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "DoExp" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))) (C1 (MetaCons "DoBind" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))) ((:+:) (C1 (MetaCons "DoBindP" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(t, t)]))))) ((:+:) (C1 (MetaCons "DoLet" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))) (C1 (MetaCons "DoLetP" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FC)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))))))

type PDo = PDo' PTerm #

data PArg' t #

Constructors

PImp |
Fields priority :: Int machine_inf :: Bool true if the machine inferred it argopts :: [ArgOpt] pname :: Name getTm :: t
PExp |
Fields priority :: Int argopts :: [ArgOpt] pname :: Name getTm :: t
PConstraint |
Fields priority :: Int argopts :: [ArgOpt] pname :: Name getTm :: t
PTacImplicit |
Fields priority :: Int argopts :: [ArgOpt] pname :: Name getScript :: t getTm :: t

Instances

Functor PArg' # |
Methods fmap :: (a -> b) -> PArg' a -> PArg' b # (<$) :: a -> PArg' b -> PArg' a #
Eq t => Eq (PArg' t) # |
Methods (==) :: PArg' t -> PArg' t -> Bool # (/=) :: PArg' t -> PArg' t -> Bool #
Data t => Data (PArg' t) # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PArg' t -> c (PArg' t) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (PArg' t) # toConstr :: PArg' t -> Constr # dataTypeOf :: PArg' t -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (PArg' t)) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (PArg' t)) # gmapT :: (forall b. Data b => b -> b) -> PArg' t -> PArg' t # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PArg' t -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PArg' t -> r # gmapQ :: (forall d. Data d => d -> u) -> PArg' t -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PArg' t -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PArg' t -> m (PArg' t) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PArg' t -> m (PArg' t) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PArg' t -> m (PArg' t) #
Ord t => Ord (PArg' t) # |
Methods compare :: PArg' t -> PArg' t -> Ordering # (<) :: PArg' t -> PArg' t -> Bool # (<=) :: PArg' t -> PArg' t -> Bool # (>) :: PArg' t -> PArg' t -> Bool # (>=) :: PArg' t -> PArg' t -> Bool # max :: PArg' t -> PArg' t -> PArg' t # min :: PArg' t -> PArg' t -> PArg' t #
Show t => Show (PArg' t) # |
Methods showsPrec :: Int -> PArg' t -> ShowS # show :: PArg' t -> String # showList :: [PArg' t] -> ShowS #
Generic (PArg' t) # |
Associated Types type Rep (PArg' t) :: * -> * # Methods from :: PArg' t -> Rep (PArg' t) x # to :: Rep (PArg' t) x -> PArg' t #
type Rep (PArg' t) # |
type Rep (PArg' t) = D1 (MetaData "PArg'" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "PImp" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "priority") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Just Symbol "machine_inf") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))) ((:*:) (S1 (MetaSel (Just Symbol "argopts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ArgOpt])) ((:*:) (S1 (MetaSel (Just Symbol "pname") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Just Symbol "getTm") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))) (C1 (MetaCons "PExp" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "priority") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Just Symbol "argopts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ArgOpt]))) ((:*:) (S1 (MetaSel (Just Symbol "pname") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Just Symbol "getTm") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)))))) ((:+:) (C1 (MetaCons "PConstraint" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "priority") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Just Symbol "argopts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ArgOpt]))) ((:*:) (S1 (MetaSel (Just Symbol "pname") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Just Symbol "getTm") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))) (C1 (MetaCons "PTacImplicit" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "priority") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Just Symbol "argopts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ArgOpt]))) ((:*:) (S1 (MetaSel (Just Symbol "pname") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) ((:*:) (S1 (MetaSel (Just Symbol "getScript") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Just Symbol "getTm") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))))))))

data ArgOpt #

Constructors

AlwaysShow |
HideDisplay |
InaccessibleArg |
UnknownImp |

Instances

Eq ArgOpt # |
Methods (==) :: ArgOpt -> ArgOpt -> Bool # (/=) :: ArgOpt -> ArgOpt -> Bool #
Data ArgOpt # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArgOpt -> c ArgOpt # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArgOpt # toConstr :: ArgOpt -> Constr # dataTypeOf :: ArgOpt -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ArgOpt) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArgOpt) # gmapT :: (forall b. Data b => b -> b) -> ArgOpt -> ArgOpt # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArgOpt -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArgOpt -> r # gmapQ :: (forall d. Data d => d -> u) -> ArgOpt -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ArgOpt -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArgOpt -> m ArgOpt # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArgOpt -> m ArgOpt # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArgOpt -> m ArgOpt #
Ord ArgOpt # |
Methods compare :: ArgOpt -> ArgOpt -> Ordering # (<) :: ArgOpt -> ArgOpt -> Bool # (<=) :: ArgOpt -> ArgOpt -> Bool # (>) :: ArgOpt -> ArgOpt -> Bool # (>=) :: ArgOpt -> ArgOpt -> Bool # max :: ArgOpt -> ArgOpt -> ArgOpt # min :: ArgOpt -> ArgOpt -> ArgOpt #
Show ArgOpt # |
Methods showsPrec :: Int -> ArgOpt -> ShowS # show :: ArgOpt -> String # showList :: [ArgOpt] -> ShowS #
Generic ArgOpt # |
Associated Types type Rep ArgOpt :: * -> * # Methods from :: ArgOpt -> Rep ArgOpt x # to :: Rep ArgOpt x -> ArgOpt #
type Rep ArgOpt # |
type Rep ArgOpt = D1 (MetaData "ArgOpt" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "AlwaysShow" PrefixI False) U1) (C1 (MetaCons "HideDisplay" PrefixI False) U1)) ((:+:) (C1 (MetaCons "InaccessibleArg" PrefixI False) U1) (C1 (MetaCons "UnknownImp" PrefixI False) U1)))

pimp :: Name -> t -> Bool -> PArg' t #

pexp :: t -> PArg' t #

pconst :: t -> PArg' t #

ptacimp :: Name -> t -> t -> PArg' t #

type PArg = PArg' PTerm #

highestFC :: PTerm -> Maybe FC #

Get the highest FC in a term, if one exists

data InterfaceInfo #

Constructors

CI |
Fields implementationCtorName :: Name interface_methods :: [(Name, (Bool, FnOpts, PTerm))] flag whether it's a "data" method interface_defaults :: [(Name, (Name, PDecl))] method name -> default impl interface_default_super_interfaces :: [PDecl] interface_impparams :: [Name] interface_params :: [Name] interface_constraints :: [PTerm] interface_implementations :: [(Name, Bool)] the Bool is whether to include in implementation search, so named implementations are excluded interface_determiners :: [Int]

Instances

Show InterfaceInfo # |
Methods showsPrec :: Int -> InterfaceInfo -> ShowS # show :: InterfaceInfo -> String # showList :: [InterfaceInfo] -> ShowS #
Generic InterfaceInfo # |
Associated Types type Rep InterfaceInfo :: * -> * # Methods from :: InterfaceInfo -> Rep InterfaceInfo x # to :: Rep InterfaceInfo x -> InterfaceInfo #
type Rep InterfaceInfo # |
type Rep InterfaceInfo = D1 (MetaData "InterfaceInfo" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "CI" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "implementationCtorName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Just Symbol "interface_methods") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, (Bool, FnOpts, PTerm))]))) ((:*:) (S1 (MetaSel (Just Symbol "interface_defaults") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, (Name, PDecl))])) (S1 (MetaSel (Just Symbol "interface_default_super_interfaces") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl])))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "interface_impparams") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) (S1 (MetaSel (Just Symbol "interface_params") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name]))) ((:*:) (S1 (MetaSel (Just Symbol "interface_constraints") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PTerm])) ((:*:) (S1 (MetaSel (Just Symbol "interface_implementations") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, Bool)])) (S1 (MetaSel (Just Symbol "interface_determiners") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Int])))))))

data RecordInfo #

Constructors

RI |
Fields record_parameters :: [(Name, PTerm)] record_constructor :: Name record_projections :: [Name]

Instances

Show RecordInfo # |
Methods showsPrec :: Int -> RecordInfo -> ShowS # show :: RecordInfo -> String # showList :: [RecordInfo] -> ShowS #
Generic RecordInfo # |
Associated Types type Rep RecordInfo :: * -> * # Methods from :: RecordInfo -> Rep RecordInfo x # to :: Rep RecordInfo x -> RecordInfo #
type Rep RecordInfo # |
type Rep RecordInfo = D1 (MetaData "RecordInfo" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "RI" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "record_parameters") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, PTerm)])) ((:*:) (S1 (MetaSel (Just Symbol "record_constructor") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Just Symbol "record_projections") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])))))

data TIData #

Constructors

TIPartial | a function with a partially defined type
TISolution [Term] | possible solutions to a metavariable in a type

Instances

Show TIData # |
Methods showsPrec :: Int -> TIData -> ShowS # show :: TIData -> String # showList :: [TIData] -> ShowS #
Generic TIData # |
Associated Types type Rep TIData :: * -> * # Methods from :: TIData -> Rep TIData x # to :: Rep TIData x -> TIData #
type Rep TIData # |
type Rep TIData = D1 (MetaData "TIData" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "TIPartial" PrefixI False) U1) (C1 (MetaCons "TISolution" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Term]))))

data FnInfo #

Miscellaneous information about functions

Constructors

FnInfo |
Fields fn_params :: [Int]

Instances

Show FnInfo # |
Methods showsPrec :: Int -> FnInfo -> ShowS # show :: FnInfo -> String # showList :: [FnInfo] -> ShowS #
Generic FnInfo # |
Associated Types type Rep FnInfo :: * -> * # Methods from :: FnInfo -> Rep FnInfo x # to :: Rep FnInfo x -> FnInfo #
type Rep FnInfo # |
type Rep FnInfo = D1 (MetaData "FnInfo" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "FnInfo" PrefixI True) (S1 (MetaSel (Just Symbol "fn_params") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Int])))

data OptInfo #

Constructors

Optimise |
Fields inaccessible :: [(Int, Name)] detaggable :: Bool forceable :: [Int]

Instances

Show OptInfo # |
Methods showsPrec :: Int -> OptInfo -> ShowS # show :: OptInfo -> String # showList :: [OptInfo] -> ShowS #
Generic OptInfo # |
Associated Types type Rep OptInfo :: * -> * # Methods from :: OptInfo -> Rep OptInfo x # to :: Rep OptInfo x -> OptInfo #
type Rep OptInfo # |
type Rep OptInfo = D1 (MetaData "OptInfo" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "Optimise" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "inaccessible") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Int, Name)])) ((:*:) (S1 (MetaSel (Just Symbol "detaggable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "forceable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Int])))))

data DSL' t #

Syntactic sugar info

Constructors

DSL |
Fields dsl_bind :: t dsl_apply :: t dsl_pure :: t dsl_var :: Maybe t index_first :: Maybe t index_next :: Maybe t dsl_lambda :: Maybe t dsl_let :: Maybe t dsl_pi :: Maybe t

Instances

Functor DSL' # |
Methods fmap :: (a -> b) -> DSL' a -> DSL' b # (<$) :: a -> DSL' b -> DSL' a #
Show t => Show (DSL' t) # |
Methods showsPrec :: Int -> DSL' t -> ShowS # show :: DSL' t -> String # showList :: [DSL' t] -> ShowS #
Generic (DSL' t) # |
Associated Types type Rep (DSL' t) :: * -> * # Methods from :: DSL' t -> Rep (DSL' t) x # to :: Rep (DSL' t) x -> DSL' t #
type Rep (DSL' t) # |
type Rep (DSL' t) = D1 (MetaData "DSL'" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "DSL" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "dsl_bind") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Just Symbol "dsl_apply") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t))) ((:*:) (S1 (MetaSel (Just Symbol "dsl_pure") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 t)) (S1 (MetaSel (Just Symbol "dsl_var") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe t))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "index_first") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe t))) (S1 (MetaSel (Just Symbol "index_next") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe t)))) ((:*:) (S1 (MetaSel (Just Symbol "dsl_lambda") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe t))) ((:*:) (S1 (MetaSel (Just Symbol "dsl_let") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe t))) (S1 (MetaSel (Just Symbol "dsl_pi") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe t))))))))

type DSL = DSL' PTerm #

data SynContext #

Constructors

PatternSyntax |
TermSyntax |
AnySyntax |

Instances

Show SynContext # |
Methods showsPrec :: Int -> SynContext -> ShowS # show :: SynContext -> String # showList :: [SynContext] -> ShowS #
Generic SynContext # |
Associated Types type Rep SynContext :: * -> * # Methods from :: SynContext -> Rep SynContext x # to :: Rep SynContext x -> SynContext #
type Rep SynContext # |
type Rep SynContext = D1 (MetaData "SynContext" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "PatternSyntax" PrefixI False) U1) ((:+:) (C1 (MetaCons "TermSyntax" PrefixI False) U1) (C1 (MetaCons "AnySyntax" PrefixI False) U1)))

data Syntax #

Constructors

Rule [SSymbol] PTerm SynContext |
DeclRule [SSymbol] [PDecl] |

Instances

Show Syntax # |
Methods showsPrec :: Int -> Syntax -> ShowS # show :: Syntax -> String # showList :: [Syntax] -> ShowS #
Generic Syntax # |
Associated Types type Rep Syntax :: * -> * # Methods from :: Syntax -> Rep Syntax x # to :: Rep Syntax x -> Syntax #
type Rep Syntax # |
type Rep Syntax = D1 (MetaData "Syntax" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "Rule" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [SSymbol])) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SynContext))))) (C1 (MetaCons "DeclRule" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [SSymbol])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PDecl])))))

syntaxNames :: Syntax -> [Name] #

syntaxSymbols :: Syntax -> [SSymbol] #

data SSymbol #

Constructors

Keyword Name |
Symbol String |
Binding Name |
Expr Name |
SimpleExpr Name |

Instances

Eq SSymbol # |
Methods (==) :: SSymbol -> SSymbol -> Bool # (/=) :: SSymbol -> SSymbol -> Bool #
Show SSymbol # |
Methods showsPrec :: Int -> SSymbol -> ShowS # show :: SSymbol -> String # showList :: [SSymbol] -> ShowS #
Generic SSymbol # |
Associated Types type Rep SSymbol :: * -> * # Methods from :: SSymbol -> Rep SSymbol x # to :: Rep SSymbol x -> SSymbol #
type Rep SSymbol # |
type Rep SSymbol = D1 (MetaData "SSymbol" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) ((:+:) (C1 (MetaCons "Keyword" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "Symbol" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) ((:+:) (C1 (MetaCons "Binding" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) ((:+:) (C1 (MetaCons "Expr" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))) (C1 (MetaCons "SimpleExpr" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name))))))

newtype SyntaxRules #

Constructors

SyntaxRules |
Fields syntaxRulesList :: [Syntax]

Instances

Generic SyntaxRules # |
Associated Types type Rep SyntaxRules :: * -> * # Methods from :: SyntaxRules -> Rep SyntaxRules x # to :: Rep SyntaxRules x -> SyntaxRules #
type Rep SyntaxRules # |
type Rep SyntaxRules = D1 (MetaData "SyntaxRules" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" True) (C1 (MetaCons "SyntaxRules" PrefixI True) (S1 (MetaSel (Just Symbol "syntaxRulesList") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Syntax])))

emptySyntaxRules :: SyntaxRules #

updateSyntaxRules :: [Syntax] -> SyntaxRules -> SyntaxRules #

initDSL :: DSL' PTerm #

data Using #

Constructors

UImplicit Name PTerm |
UConstraint Name [Name] |

Instances

Eq Using # |
Methods (==) :: Using -> Using -> Bool # (/=) :: Using -> Using -> Bool #
Data Using # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Using -> c Using # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Using # toConstr :: Using -> Constr # dataTypeOf :: Using -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Using) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Using) # gmapT :: (forall b. Data b => b -> b) -> Using -> Using # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Using -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Using -> r # gmapQ :: (forall d. Data d => d -> u) -> Using -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Using -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Using -> m Using # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Using -> m Using # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Using -> m Using #
Show Using # |
Methods showsPrec :: Int -> Using -> ShowS # show :: Using -> String # showList :: [Using] -> ShowS #
Generic Using # |
Associated Types type Rep Using :: * -> * # Methods from :: Using -> Rep Using x # to :: Rep Using x -> Using #
type Rep Using # |
type Rep Using = D1 (MetaData "Using" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) ((:+:) (C1 (MetaCons "UImplicit" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PTerm)))) (C1 (MetaCons "UConstraint" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Name)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])))))

data SyntaxInfo #

Constructors

Syn |
Fields using :: [Using] syn_params :: [(Name, PTerm)] syn_namespace :: [String] no_imp :: [Name] imp_methods :: [Name] interface methods. When expanding implicits, these should be expanded even under binders decoration :: Name -> Name inPattern :: Bool implicitAllowed :: Bool constraintAllowed :: Bool maxline :: Maybe Int mut_nesting :: Int dsl_info :: DSL syn_in_quasiquote :: Int syn_toplevel :: Bool withAppAllowed :: Bool

Instances

Show SyntaxInfo # |
Methods showsPrec :: Int -> SyntaxInfo -> ShowS # show :: SyntaxInfo -> String # showList :: [SyntaxInfo] -> ShowS #
Generic SyntaxInfo # |
Associated Types type Rep SyntaxInfo :: * -> * # Methods from :: SyntaxInfo -> Rep SyntaxInfo x # to :: Rep SyntaxInfo x -> SyntaxInfo #
type Rep SyntaxInfo # |
type Rep SyntaxInfo = D1 (MetaData "SyntaxInfo" "Idris.AbsSyntaxTree" "idris-1.0-AhzFHyMpjVK9jY0cFJjTN5" False) (C1 (MetaCons "Syn" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "using") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Using])) ((:*:) (S1 (MetaSel (Just Symbol "syn_params") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Name, PTerm)])) (S1 (MetaSel (Just Symbol "syn_namespace") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [String])))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "no_imp") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name])) (S1 (MetaSel (Just Symbol "imp_methods") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Name]))) ((:*:) (S1 (MetaSel (Just Symbol "decoration") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Name -> Name))) (S1 (MetaSel (Just Symbol "inPattern") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "implicitAllowed") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "constraintAllowed") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))) ((:*:) (S1 (MetaSel (Just Symbol "maxline") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "mut_nesting") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "dsl_info") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DSL)) (S1 (MetaSel (Just Symbol "syn_in_quasiquote") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) ((:*:) (S1 (MetaSel (Just Symbol "syn_toplevel") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "withAppAllowed") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))))))

defaultSyntax :: SyntaxInfo #

expandNS :: SyntaxInfo -> Name -> Name #

bi :: FC #

primfc :: FC #

inferTy :: Name #

inferCon :: Name #

inferDecl :: PData' PTerm #

inferOpts :: [t] #

infTerm :: PTerm -> PTerm #

infP :: TT Name #

getInferTerm :: Term -> Term #

getInferType :: Term -> Term #

primNames :: [Name] #

unitTy :: Name #

unitCon :: Name #

falseDoc :: Docstring (Err' t) #

falseTy :: Name #

pairTy :: Name #

pairCon :: Name #

upairTy :: Name #

upairCon :: Name #

eqTy :: Name #

eqCon :: Name #

eqDoc :: Docstring (Either (Err' t) b) #

eqDecl :: PData' PTerm #

eqParamDoc :: [(Name, Docstring (Either (Err' t) b))] #

eqOpts :: [t] #

modDocName :: Name #

The special name to be used in the module documentation context - not for use in the main definition context. The namespace around it will determine the module to which the docs adhere.

sigmaTy :: Name #

sigmaCon :: Name #

piBind :: [(Name, PTerm)] -> PTerm -> PTerm #

piBindp :: Plicity -> [(Name, PTerm)] -> PTerm -> PTerm #

annotationColour :: IState -> OutputAnnotation -> Maybe IdrisColour #

Colourise annotations according to an Idris state. It ignores the names in the annotation, as there's no good way to show extended information on a terminal.

consoleDecorate :: IState -> OutputAnnotation -> String -> String #

Colourise annotations according to an Idris state. It ignores the names in the annotation, as there's no good way to show extended information on a terminal. Note that strings produced this way will not be coloured on Windows, so the use of the colour rendering functions in Idris.Output is to be preferred.

isPostulateName :: Name -> IState -> Bool #

prettyImp #

Arguments

:: PPOption | pretty printing options
-> PTerm | the term to pretty-print
-> Doc OutputAnnotation |

Pretty-print a high-level closed Idris term with no information about precedence/associativity

prettyIst :: IState -> PTerm -> Doc OutputAnnotation #

Serialise something to base64 using its Binary implementation.

Do the right thing for rendering a term in an IState

pprintPTerm #

Arguments

:: PPOption | pretty printing options
-> [(Name, Bool)] | the currently-bound names and whether they are implicit
-> [Name] | names to always show in pi, even if not used
-> [FixDecl] | Fixity declarations
-> PTerm | the term to pretty-print
-> Doc OutputAnnotation |

Pretty-print a high-level Idris term in some bindings context with infix info.

basename :: Name -> Name #

Strip away namespace information

isHoleName :: Name -> Bool #

Determine whether a name was the one inserted for a hole or guess by the delaborator

containsHole :: PTerm -> Bool #

Check whether a PTerm has been delaborated from a Term containing a Hole or Guess

prettyName #

Arguments

:: Bool | whether the name should be parenthesised if it is an infix operator
-> Bool | whether to show namespaces
-> [(Name, Bool)] | the current bound variables and whether they are implicit
-> Name | the name to pprint
-> Doc OutputAnnotation |

Pretty-printer helper for names that attaches the correct annotations

showCImp :: PPOption -> PClause -> Doc OutputAnnotation #

showDImp :: PPOption -> PData -> Doc OutputAnnotation #

showDecls :: PPOption -> [PDecl] -> Doc OutputAnnotation #

showDeclImp :: PPOption -> PDecl' PTerm -> Doc OutputAnnotation #

getImps :: [PArg] -> [(Name, PTerm)] #

getExps :: [PArg] -> [PTerm] #

getShowArgs :: [PArg] -> [PArg] #

getConsts :: [PArg] -> [PTerm] #

getAll :: [PArg] -> [PTerm] #

showName #

Arguments

:: Maybe IState | the Idris state, for information about names and colours
-> [(Name, Bool)] | the bound variables and whether they're implicit
-> PPOption | pretty printing options
-> Bool | whether to colourise
-> Name | the term to show
-> String |

Show Idris name

showTm #

Arguments

:: IState | the Idris state, for information about identifiers and colours
-> PTerm | the term to show
-> String |

showTmImpls :: PTerm -> String #

Show a term with implicits, no colours

showTmOpts :: PPOption -> PTerm -> String #

Show a term with specific options

getPArity :: PTerm -> Int #

allNamesIn :: PTerm -> [Name] #

boundNamesIn :: PTerm -> [Name] #

implicitNamesIn :: [Name] -> IState -> PTerm -> [Name] #

namesIn :: [(Name, PTerm)] -> IState -> PTerm -> [Name] #

usedNamesIn :: [Name] -> IState -> PTerm -> [Name] #

getErasureInfo :: IState -> Name -> [Int] #