.u n      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                     !!!!!!!!!""""""####$$%%%%&&&&&'(((((((((()))))))))))))))*********+,,-. . . . . /////////////////// /!/"0#0$0%0&0'0(0)0*0+0,0-1.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G3H3I3J3K3L3M3N3O3P3Q3R4S4T4U4V5W5X6Y6Z7[7\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888999999999999999999999999999:::;;;;<======>?@ABCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD D D D D D D D D D D D D D D D D D D D D D D D D E E F G G G G G G !G "G #G $H %H &H 'H (H )H *H +H ,H -H .H /H 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H :H ;H <H =H >H ?H @H AH BH CH DH EH FH GH HH IH JH KH LH MH NH OH PH QH RH SH TH UH VH WH XH YH ZH [H \H ]H ^I _I `I aI bI cI dI eI fI gJ hJ iJ jK kK lK mK nK oK pK qK rK sK tK uK vK wK xK yK zK {K |K }K ~K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L M M M M M M M M N N N N N N N O O O O O O O O O O P Q Q Q Q Q Q Q Q R R R R R R R R R !R "R #R $R %R &R 'R (R )R *R +R ,R -R .R /R 0R 1R 2R 3R 4R 5R 6R 7R 8R 9R :R ;R <R =R >R ?R @R AR BR CR DR ER FR GR HR IR JR KR LR MR NR OR PR QR RR SR TR UR VR WS XS YS ZS [S \S ]S ^T _T `T aT bT cT dT eT fT gT hT iT jT kT lT mT]NoneT  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR nS  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS6=<;:98715432-0/.(,+*)&'%$#"!  >?@ABCDEFGHIJKLMNOPQR!%$#"!  &'(,+*)-0/.154326=<;:987>?@ABCDEFGHIJKLMNOPQR nUNone o p o p o pVNone q q qWNone rS s t u v w x yT z {US x yT z {U rS s t u v w x yT z {UXNone | | |NoneW)One kind of argument followed by another X$Zero or one of one kind of argument Y%Zero or more of one kind of argument Z6An Idris declaration, as might be contained in a file [The width of the console \ do not use ]No completion (yet!?) ^*The command is the colour-setting command _!The command takes a metavariable `The command takes an option a#The command takes a namespace name bThe command takes a number c The command takes a module name dThe command takes a file eThe command takes a name f The command takes an expression h!Use these for completion, but don't show them in :help VWXYZ[\]^_`abcdefgh }VWXYZ[\]^_`abcdefghVfedcba`_^]\[ZYXWghVfedcba`_^]\[ZYXWgh }NoneiiiiNoneIdris's default console colour theme 4Set the colour of a string using POSIX escape codes &jklmnopqrstuvwxyz{|}~ ~%jklmnopqrstuvwxyz{|}~%}~stuvwxyz{|jrqponmlkjrqponmlks tuvwxyz{|}~ ~None    None  None STU UTS None YNone \    NoneS&an environment with de Bruijn indices  normalised so that they all refer to  this environment >Terms in the core language. The type parameter is the type of > identifiers used for bindings and explicit named references;  usually we use TT . /Uniqueness type universe (disjoint from TType)  the type of types at some level #special case for totality checking an erased term "argument projection; runtime only  (-1) is a special case for 'subtract one from BI'  constant function, function type, arg  a binding &a resolved de Bruijn-indexed variable named references with type  (P for  Parameter", motivated by McKinna and Pollack's  Pure Type Systems Formalized) Type constructor Data constructor Universe constraints Less than or equal to Strictly less than +Universe expressions for universe checking explicit universe level universe variable RAll binding forms are represented in a uniform fashion. This type only represents U the types of bindings (and their values, if any); the attached identifiers are part  of the  constructor for the  type. A pattern variable A binding that occurs in a let expression value for bound variable :A binding that occurs in a function type expression, e.g. (x:Int) -> ... #type annotation for bound variable KContexts allow us to map names to things. A root name maps to a collection 3 of things in different namespaces with that name. DNames are hierarchies of strings, describing scope (so no danger of 5 duplicate names, but need to be careful on lookup). ?Reference to IBC file symbol table (used during serialisation) Decorated function names /Name of something which is never used in scope Machine chosen names Root, namespaces User-provided name !HIdris errors. Used as exceptions in the compiler, but reported to users  if they reach the top level. DUsed for error reflection I'Output annotations for pretty-printing K+more general, isomorphic, or more specific L!pprint bound vars, original term Pname, doc overview Qtype, doc overview S&^ The name and whether it is implicit TC^ The name, classification, docs overview, and pretty-printed type UText formatting output Y;Output annotation for pretty-printed name - decides colour _FC with equality b<Source location. These are typically produced by the parser LZ d Filename e;Line and column numbers for the start of the location span f9Line and column numbers for the end of the location span jEmpty source location Return True if the argument ( should be interpreted as the name of a  typeclass. <Look up a name in the context, given an optional namespace. = The name (n) may itself have a (partial) namespace given. Rules for resolution: M if an explicit namespace is given, return the names which match it. If none  match, return all names. O if the name has has explicit namespace given, return the names which match it & and ignore the given namespace.  otherwise, return all names. 8Determines whether the input constant represents a type Get the docstring for a Const DA term is injective iff it is a data constructor, type constructor, H constant, the type Type, pi-binding, or an application of an injective  term. =Count the number of instances of a de Bruijn index in a term GReplace the outermost (index 0) de Bruijn variable with the given term As <, but also decrement the indices of all de Bruijn variables M remaining in the term, so that there are no more references to the variable  that has been substituted. LReplace all non-free de Bruijn references in the given term with references  to the name of their binding.  Replace references to the given -like id with references to  de Bruijn index 0. :Convert several names. First in the list comes out as V 0 HReplace de Bruijn indices in the given term with explicit references to K the names of the bindings they refer to. It is an error if the given term " contains free de Bruijn indices. =Replace every non-free reference to the name of a binding in ( the given term with a de Bruijn index. As , but in addition to replacing  0, ! replace references to the given  -like id. As 9, but takes a list of (name, substitution) pairs instead # of a single name and substitution *Replaces all terms equal (in the sense of (==)) to ! the old term with the new term. =Return number of occurrences of V 0 or bound name i the term >Returns true if V 0 and bound name n do not occur in the term (Returns all names used free in the term (Return the arity of a (normalised) type IDeconstruct an application; returns the function and a list of arguments BReturns a term representing the application of the first argument 7 (a function) to every element of the second argument. Cast a  term to a , value, discarding universe information and C the types of named references and replacing all de Bruijn indices B with the corresponding name. It is an error if there are free de  Bruijn indices.  Introduce a - into the given term for each element of the % given list of (name, binder) pairs. Like  , but the s are  terms instead. ) The first argument is a function to map TT terms to Binders. - This function might often be something like , which directly  constructs a Binder from a TT term. 5Return a list of pairs of the names of the outermost -bound 9 variables in the given term, together with their types. 8Check whether a term has any holes in it - impure if so QWeaken a term by adding i to each de Bruijn index (i.e. lift it over i bindings) NWeaken an environment so that all the de Bruijn indices are correct according  to the latest bound variable 9Weaken every term in the environment by the given amount Gather up all the outer s and #s in an expression and reintroduce  them in a canonical order IIgnore source location equality (so deriving classes do not compare FCs) @      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~The id to replace The replacement term The term to replace in  Old term  New term template term                !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&gihbcdef_`ajkY^]\[ZUXWVITSRQPONMLKJDHGFE!CBA@?>=<;:9876543210/.-,+*)('&%$#" lmnopqrstuvwxyz{|}~            !"CBA@?>=<;:9876543210/.-,+*)('&%$#"DHGFEI TSRQPONMLKJUXWVY^]\[Z_`abcdefgihjklmnopqrstuvwxyz{|}~         Nonereflection function !already checked to be impossible error message special case for projections/ thunk-forcing before inspection invariant: lowest tags first Q                    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 :@Convert single branches to projections (only useful at runtime) ; < = >  4                    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = >[None ? @ A B C D E F G H I ? @ A B C D E F G H I NoneGContexts used for global definitions and for proof state. They contain 0 universe constraints and existing definitions. DMeta information for a data declaration with position of parameters No meta-information (Reasons why a function may not be total  The result of totality checking  productive well-founded arguments KA definition is either a simple function (just an expression with a type), L a constant, which could be a data or type constructor, an axiom or as an + yet undefined function, or an Operator. ; An Operator is a function which explains how to reduce. 9 A CaseOp is a function defined by a simple case tree   A HOAS representation of values 8Normalise fully type checked terms (so, assume all names/let bindings resolved) HLike normalise, but we only reduce functions that are marked as okay to  inline (and probably shouldn't reduce lets?) J 20130908: now only used to reduce for totality checking. Inlining should  be done elsewhere.  ,Simplify for run-time (i.e. basic inlining) !"Reduce a term to head normal form JKEvaluate in a context of locally named things (i.e. not de Bruijn indexed, 7 such as we might have during construction of a proof) %The initial empty context '#Get the definitions from a context 3TGet the list of pairs of fully-qualified names and their types that match some name 4oGet the pair of a fully-qualified name and its type, if there is a unique one matching the name used as a key. 5#Get the types that match some name 65Get the single type that matches some name precisely F<Create a unique name given context and other existing names  K      L M N O P Q R S T U V ! W X Y Z [ \ ] J ^" _#$ `%&' a()*+,-./01 b23456789:;<=>?@ABCDEFG c d e f g hg      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGj !$# %'()*+,-./0123456;=><?@D&ACBE987:    FG"O K      L Q P O N M R S T U V ! W X Y Z [ \ ] J ^" _#$ `%&' a()*+,-./01 b23456789:;<=>?@ABCDEFG c d e f g h NoneHIJKLMNOPQRSTUVHIJKLMNOPQRSTUVMNOPQRSTUHLKJIV HLKJIMNOPQRSTUV NoneW<Check that a list of universe constraints can be satisfied.  iW j kWW iW j kNone*XYZ[\]^ l m n o p q r s t u v w x y z { | } ~  _ `a b cdefgXYZ[\]^_`abcdefg^XYZ[`acbfg_\]deXYZ[\]^ l m n o p q v u t s r w | { z y x } ~  _ `a b cdefgNone QSmart constructor for unification errors that takes into account the FailContext h ijklmnopq r s hijklmnopqrs rshijklmnpoq   h ijklmnpoq r s None tuvwxyz{|}~      MXYZ[tuvwxyz{|}~Mt~}|{zyxwvuXYZ[G t)~}|{zyxwvu      NoneModify the auxiliary state Get the auxiliary state $Set whether to show the unifier log 5Process a tactic within the current elaborator state  XTurn the current hole into a pattern variable with the provided name, made unique if MN CSet the zipper in the proof state to point at the current sub term H (This currently happens automatically, so this will have no effect...) LPrepare to apply a function by creating holes to be filled by the arguments q     The operation being applied Whether arguments are implicit XThe names of the arguments and their holes to be filled with elaborated argument values  !"#$%&'()*+,-XYZ[tuvwxyz{|}~      !"#$%&'()*+,-q      !"#$%&'()*+,-k      !"#$%&'()*+,-None./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~L~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMHKJIEGF<DCBA@?>=8;:974653021././021346578;:9<DCBA@?>=EGFHKJILL~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONM None Block-level elements. Representation of Idris'*s inline documentation. The type paramter D represents the type of terms that are associated with code blocks. ?The various kinds of code samples that can be embedded in docs #Render a term in the documentation DRun some kind of processing step over code in a Docstring. The code K processor gets the language and annotations as parameters, along with the % source and the original annotation. HConstruct a docstring from a Text that contains Markdown-formatted docs 6Convert a docstring to be shown by the pretty-printer IConstruct a docstring consisting of the first block-level element of the + argument docstring, for use in summaries. The empty docstring #Check whether a docstring is emtpy %Empty documentation for a definition &Does a string occur in the docstring? )Annotate the code samples in a docstring .    How to annotate code samples &&     None     None* ./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ )   None                     None !"#$%&'()*+,-./012345678 !"#$%&'()*+,-./0123456784765/32108 !"#$%&'()*+,-. !"#$%&'()*+,-./321047658None{m*Miscellaneous information about functions q/possible solutions to a metavariable in a type r)a function with a partially defined type *the bool is whether to search recursively High level language terms ,Term ` (Term [: Term]) *never run implicit converions on the term 0dump a trace of unifications when building term $Preferences for explicit namespaces 6To mark a coerced argument, so as not to coerce twice *Special case for declaring when an LHS can' t typecheck Error to report on elaboration As PProof, but no auto solving  Proof script A metavariable, ?name Idiom brackets  Do notation  Underscore Builtin types *quoteGoal, used for %reflection functions Some universe  type Irrelevant or hidden pattern (True if only one may work. (| A, B, C|) -A dependent pair (tm : a ** b) and whether it'Cs a sigma type or a pair that inhabits one (solved by elaboration) A pair (a, b) and whether it'3s a product type or a pair (solved by elaboration) rewrite# syntax, with optional result type #Heterogeneous equality type: A = B /Solve this dictionary by type class resolution )The canonical proof of the equality type  Unit type..? MA case expression. Args are source location, scrutinee, and a list of pattern/ RHS pairs %Make an application by type matching implicitly bound application  e.g. IO (), List Char, length x Term with explicit type A let binding (n : t1) -> t2 A lambda abstraction A pattern variable A name to be defined later A reference to a variable 6Inclusion of a core term into the high-level language Data declaration  Placeholder/ for data whose constructors are defined later Data declaration The name of the datatype Type constructor  Constructors JOne clause of a top-level definition. Term arguments to constructors are: D The whole application (missing for PClauseR and PWithR because they' re within a with clause)  The list of extra with patterns  The right-hand side  The where block (PDecl' t) A normal top-level definition. ATop-level declarations such as compiler directives, definitions,  datatypes and typeclasses. )Source-to-source transformation rule. If / bool is True, lhs and rhs must be convertible ?Type provider. The first t is the type, the second is the term TCompiler directive. The parser inserts the corresponding action in the Idris monad.  Mutual block Syntax definition DSL declaration OInstance declaration: arguments are syntax info, source location, constraints, U class name, parameters, full instance type, optional explicit name, and definitions TType class: arguments are documentation, syntax info, source location, constraints, - class name, parameters, method declarations Record declaration New namespace  Params block Data declaration. Top level constant Pattern clause  Postulate Type declaration Fixity declaration  Type provider - what to provide  %goal type must be Type, so only term  3the first is the goal type, the second is the term  Data declaration options 9Set if a case function should be generated for data type 7Set if an eliminator should be generated for data type (Set if the the data-type is coinductive 7^ attempt to reverse normalise before showing in error >^ an error handler for use with the ErrorReflection extension 7Automatically issue solve tactic in interactive prover 8$Automatically adjust terminal width pREPL commands %the first bool is whether to update, F the second is whether to search recursively (i.e. for the arguments) Each W should be either a type declaration (at most one) or a clause defining the same name. HThe 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)) )The global state used in the Idris monad 0All the currently defined names and their terms HA list of universe constraints and their corresponding source locations "Currently defined infix operators  list of lhs/#rhs, and a list of missing clauses $Full application LHS on source line 3The currently defined but not proven metavariables The imported modules Imported ibc file names  .What was the span of the latest token parsed? Global error handlers Specific error handlers $How many chars wide is the console? !;List of names that were defined in the repl, and can be re-/ un-defined "How wide is the console? #,Attempt to determine width, or 80 otherwise $&Manually specified - must be positive %;Have pretty-printer assume that lines should not be broken &The output mode in use '2Send IDE output for some request ID to the handle ()Print user output directly to the handle 0^ whether to show implicits 7^ show implicits Eautomatically apply solve tactic in prover Fe.g. Builtins+Prelude W0Pretty printing options with default verbosity. X1Pretty printing options with the most verbosity. Y9Get pretty printing options from the big options record. Z8Get pretty printing options from an idris state record. \#The initial state for the compiler HColourise annotations according to an Idris state. It ignores the names  in the annotation, as there'0s no good way to show extended information on a  terminal. PPretty-print a high-level closed Idris term with no information about precedence/associativity 9Serialise something to base64 using its Binary instance. 5Do the right thing for rendering a term in an IState NPretty-print a high-level Idris term in some bindings context with infix info 5Pretty-printer helper for the binding site of a name FPretty-printer helper for names that attaches the correct annotations Show Idris name 'Show a term with implicits, no colours {9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^ pretty printing options ^ the term to pretty-print ^ pretty printing options :^ the currently-bound names and whether they are implicit /^ names to always show in pi, even if not used ^ Fixity declarations ^ the term to pretty-print ^ the bound name ^ whether the name is implicit F^ whether the name should be parenthesised if it is an infix operator ^ whether to show namespaces <^ the current bound variables and whether they are implicit ^ the name to pprint ;^ the Idris state, for information about names and colours &^ the bound variables and whether they' re implicit ^ pretty printing options ^ whether to colourise ^ the term to show A^ the Idris state, for information about identifiers and colours ^ the term to show  m9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ORQPHIJKLMNST123456789:;<=>?@ABCDEFGU./0,-VWXYZ)+*&('"%$#      ![\p~}|{zyxwvutsrqmon6lkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:987043215555./+-,"'&%#()*()*()()$]^_`a! bc     defghi|~}jklm{stuvwxyzprqmnoijklbcdefghVWXYZ[\]^_`aUQTSROPnINMLKJoFHG9:;<=>?@ABCDEpqrstuvwxyz{|}~9 :;<=>?@ABCDEFHGINMLKJOPQTSRUV WXYZ[\]^_`abcdefghijklmnoprqstuvwxyz{|~}%(     ! "'&%#()*()*()()$+-,./04321555566lkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:987monp9~}|{zyxwvutsrq$@      !"%$#&(')+*,-./0123456789:;<=>?@ABCDEFGHIJKLMNORQPSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ \None&                           ! " #&                           ! " #None $ $NoneNone&&& NoneNoneNone]None % & ' ( ) * + , - . / 0 % & ' ( ) * + , - . / 0None2^ the Int is the column count for pretty-printing '^ Recursive?, line, name, hints, depth H      1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N*     *     (      1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N None?IAdds error handlers for a particular function and argument. If names are / ambiguous, all matching handlers are updated. YPA version of liftIO that puts errors into the exception type of the Idris monad o,Tell clients how much was parsed and loaded 7Add the implicit arguments to applications in the term  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ O P9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¤"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~! ! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ O P!None\ Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   U Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  "None#None    $None%None  &NoneHFind definitions that are relevant to all space-delimited components of 9 some string. Relevance is one or more of the following: ' the string is a substring of the name / the string occurs in the documentation string ' the type of the definition is apropos    'None(None How far to indent sub-errors GActually indent a sub-error - no line at end because a newline can end  multiple layers of indent ,Pretty-print a core term using delaboration #Pretty-print the type of some name #implicit arguments to type, if any use full names Don' t treat metavariables specially         )None ?A partially evaluated function. pe_app captures the lhs of the @ new definition, pe_def captures the rhs, and pe_clauses is the  specialised implementation. G pe_simple is set if the result is always reducible, because in such a  case we'+ll also need to reduce the static argument TData type representing binding-time annotations for partial evaluation of arguments 4Erasable dynamic argument (found under unification) Explicit dynamic argument Explicit static argument Implicit dynamic argument Implicit static argument 9Partially evaluates given terms under the given context. B It is an error if partial evaluation fails to make any progress. E Making progress is defined as: all of the names given with explicit @ reduction limits (in practice, the function being specialised) " must have reduced at least once.  If we don'=t do this, we might end up making an infinite function after  applying the transformation. DSpecialises the type of a partially evaluated TT function returning E a pair of the specialised type and the types of expected arguments. =Creates an Idris type declaration given current state and a + specialised TT function application type. / Can be used in combination with the output of . FThis should: specialise any static argument position, then generalise 0 over any function applications in the result. ?Checks if a given argument is a type class constraint argument BCreates a new declaration for a specialised function application. G Simple version at the moment: just create a version which is a direct 0 application of the function to be specialised. H More complex version to do: specialise the definition clause by clause 2Get specialised applications for a given function      *None       +None  ,None  -None  .None5                              ! " # $        /                               ! " # $/NoneBWrite a pretty-printed term to the console with semantic coloring WPretty-print a collection of overloadings to REPL or IDESlave - corresponds to :t name BWrite pretty-printed output to IDESlave with semantic annotations )Show an error with semantic highlighting 8Warn about totality problems without failing to compile   !  !  !  !0None,Issue a warning on with/-terms whose namespace is empty or nonexistent "#$%&'()*+, "#$%&'()*+, "#$%&'()*+, "#$%&'()*+,1None----2None7ECheck a PTerm against documentation and ensure that every documented I argument actually exists. This must be run _after_ implicits have been ) found, or it will give spurious errors. ./0123456789:;<=>?@ABCDEF./0123456789:;<=>?@ABCDEF./0123456789:;<=>?@ABCDEF./0123456789:;<=>?@ABCDEF3None GHIJKLMNOPQ GHIJKLMNOPQ GJIHKLMNOPQGJIHKLMNOPQ4NoneT3Wrap a type provider in the type of type providers U]Handle an error, if the type provider returned an error. Otherwise return the provided term. RST % & 'URSTUTURSRST % & 'U5NoneV (WVWVWV (W6None ) * + , - . / 0 1 2 3 4 5 6 7X 8 9 :Y ;XYXY ) * + , - . / 0 1 2 3 4 6 5 7X 8 9 :Y ;7NoneZGiven a main7 term to compiler, return the IRs which can be used to  generate code.  < = > ?Z[ @ A B C D E F G H I J KZ[Z[ < = > ?Z[ @ A B C D E F G H I J K8None mPrefix a name with the Language.Reflection namespace n2Reify tactics from their reflected representation p0Reify terms from their reflected representation r4Reify raw terms from their reflected representation +Create a reflected call to a named function/ constructor ;Lift a term into its Language.Reflection.TT representation GConvert a reflected term to a more suitable form for pattern-matching. M In particular, the less-interesting bits are elaborated to _ patterns. This K happens to NameTypes, universe levels, names that are bound but not used, 5 and the type annotation field of the P constructor. DCreate a reflected term, but leave refs to the provided name intact JElaborate a name to a pattern. This means that NS and UN will be intact. J MNs corresponding to will care about the string but not the number. All  others become _. CReflect the environment of a proof into a List (TTName, Binder TT) =Reflect an error into the internal datatype of Idris -- TODO 7Attempt to reify a report part from TT to the internal J representation. Not in Idris or ElabD monads because it should be usable  from either. A\]^_`abcdefghijklmnopqrstuvwxyz{|}~A\]^_`abcdefghijklmnopqrstuvwxyz{|}~A\_^]`abcdefghijklmnopqrstuvwxyz{|}~>\_^]`abcdefghijklmnopqrstuvwxyz{|}~9None:None;None6Elaborate a top-level type declaration - for example, foo : Int -> Int. <None=NoneFElaborate a collection of left-hand and right-hand pairs - that is, a  top-level definition. Find static5 applications in a term and partially evaluate them. % Return any new transformation rules >None L M N L M N?None@None O P Q R O R Q PANoneBNoneElaborate a type provider CNone'Return the elaborated term which calls main Elaborate primitives DNone9Representation of an operation that can compare the current indentation with the last indentation, and an error message if it fails ,Generalized monadic parsing constraint type ,Idris parser with state used during parsing 6Helper to run Idris inner parser based stateT parsers LConsumes any simple whitespace (any character which satisfies Char.isSpace) $Checks if a charcter is end of line Consumes a single-line comment   SingleLineComment_t ::= '--' EOL_t  | '--'# ~DocCommentMarker_t ~EOL_t* EOL_t  ; Consumes a multi-line comment    MultiLineComment_t ::=  '{ -- }'  | '{ -'& ~DocCommentMarker_t InCommentChars_t  ;   InCommentChars_t ::=  '- }' ) | MultiLineComment_t InCommentChars_t  | ~'- }'+ InCommentChars_t  ; MParses a documentation comment (similar to haddock) given a marker character   DocComment_t ::= ||| ~EOL_t* EOL_t  ; Parses some white space Parses a string literal Parses a natural number Parses an integral number Parses a floating point number #Idris Style for parsing identifiers/reserved keywords Parses a character as a token Parses string as a token Parses a reserved identifier Parses a reserved operator 7Parses an identifier with possible namespace as a name 2Parses an string possibly prefixed by a namespace Parses a name BList of all initial segments in ascending order of a list. Every Gsuch initial segment ends right before an element satisfying the given  condition.  Create a 9 from a pair of strings representing a base name and its  namespace. Parses an operator $Get filename from position (returns  (interactive)! when no source file is given) Get line number from position !Get column number from position Get file position as FC Bind constraints to term Push indentation to stack Pops indentation from stack Gets current indentation Gets last indentation 'Applies parser in an indented position GApplies parser to get a block (which has possibly indented statements) cApplies parser to get a block with at least one statement (which has possibly indented statements) MApplies parser to get a block with exactly one (possibly indented) statement :Checks if the following character matches provided parser Parses a start of block Parses an end of block Parses a terminator Parses and keeps a terminator .Checks if application expression does not end #Checks that it is not end of block 8Allows comparison of indent, and fails if property doesn't hold Greater-than indent property )Greater-than or equal to indent property Equal indent property Less-than indent property &Less-than or equal to indent property 4Checks that there are no braces that are not closed 8Parses an accessibilty modifier (e.g. public, private) 'Adds accessibility option for function .Add accessbility option for data declarations  (works for classes too - abstract means the data/#class is visible but members not) (Error message with possible fixes list Collect  with the same function name H                   SG                  G                   E                   SENone T7A specification of the arguments that tactics can take UNames: n1, n2, n3, ... n V<A list of available tactics and their argument requirements WFConvert a name into a string usable for completion. Filters out names  that users probably don't want to see. X?Get the user-visible names from the current interpreter state. Y5Get the completion function for a particular command /Complete REPL commands and defined identifiers %Complete tactics and their arguments  T Z [ U \ ] V ^ W X _ ` a b c d e f g h i Y  j 'The names of current local assumptions      T U [ Z \ ] V ^ W X _ ` a b c d e f g h i Y  j FNone' k5A map from namespace names to information about them l3All information to be documented about a namespace mAAll information to be documented about a single namespace member n<Internal representation of a fully qualified namespace name o$Either an error message or a result ?Generates HTML documentation for a series of loaded namespaces  and their dependencies. pMake an error message qIdrisDoc version rConverts a Name into a [Text] corresponding to the namespace  part of a NS Name. s'Retrieves the namespace part of a Name t)String to replace for the root namespace u!Converts a NsName to string form v/Fetch info about namespaces and their contents w3Removes loose class methods and data constructors, 4 leaving them documented only under their parent. x:Whether a Name names something which should be documented y:Whether a NsItem should be included in the documentation. G It must not be Hidden and filterName must return True for the name. @ Also it must have Docs -- without Docs, nothing can be done. zAFinds all namespaces indirectly referred by a set of namespaces. > The NsItems of the namespaces are searched for references. {2Gets all namespaces directly referred by a NsItem |HReturns an NsDict of containing all known namespaces and their contents }"Gets the Accessibility for a Name ~0Simple predicate for whether an NsItem has Docs ?Predicate saying whether a Name possibly may have docs defined C Without this, getDocs from Idris.Docs may fail a pattern match. Retrieves the Docs for a Name %Extracts names referred from a type. I The covering of all PTerms ensures that we avoid unanticipated cases, J though all of them are not needed. The author just did not know which! " TODO: Remove unnecessary cases #Shorter name for extractPTermNames &Helper function for extractPTermNames &Helper function for extractPTermNames &Helper function for extractPTermNames =Generates the actual HTML output based on info from a NsDict K A merge of the new docs and any existing docs located in the output dir  is attempted. + TODO: Ensure the merge always succeeds. " Currently the content of 'docs/<builtins>.html' may change between H runs, thus not always containing all items referred from other  namespace .html files. (Over)writes the  'index.html'" file in the given directory with 9 an (updated) index of namespaces in the documentation 8Generates a HTML file for a namespace and its contents. , The location for e.g. Prelude.Algebra is  basePrelude Algebra.html FGenerates a relative filepath for a namespace, appending an extension 1Generates a HTML type signature with proper tags = TODO: Turn docstrings into title attributes more robustly -Generates HTML documentation for a function. /Generates HTML documentation for any Docs type 4 TODO: Generate actual signatures for typeclasses 8Generates everything but the actual content of the page Non-break space character HReturns a list of namespaces already documented in a IdrisDoc directory @Copies IdrisDoc dependencies such as stylesheets to a directory ' k l m n o *IState where all necessary information is  extracted from. List of namespaces to generate  documentation for. *The directory to which documentation will  be written. p q rName to convert sName to retrieve namespace for t uNsName to convert vIState to fetch info from %List of namespaces to fetch info for Mapping from namespace name to  info about its contents wList to remove orphans from Orphan-free list xName to check Predicate result yAccessibility to check Predicate result z*Mappings of namespaces and their contents Set of namespaces to trace (Set of namespaces which has been traced .Set of namespaces to trace and all traced one {The name to get all directly  referred namespaces for | },IState containing accessibility information  The Name to retrieve access for ~The NsItem to test  The result The Name to test  The result "IState to extract infomation from Name to load Docs for Where to extract names from Extracted names Where to extract names from Extracted names 'Needed to determine the types of names %All info from which to generate docs The base directory to which " documentation will be written. Set of namespace names to  include in the index The base directory to which " documentation will be written. 'Needed to determine the types of names The name of the namespace to  create documentation for The contents of the namespace The base directory to which " documentation will be written. !Namespace to generate a path for Extension suffix 'Needed to determine the types of names &Type to generate type declaration for Resulting HTML 'Needed to determine the types of names Function to generate block for Resulting HTML 'Needed to determine the types of names *Namespace item to generate HTML block for Resulting HTML 'Namespace name, unless it is the index  Inner HTML "The base directory containing the  docs directory with existing  namespace pages The base directory to which " dependencies should be written   ' k l m n o  p q r s t u v w x y z { | } ~  GNone ACreates table for fixity declarations to build expression parser * using pre-build and user-defined operator/fixity declarations )Calculates table for fixtiy declarations Binary operator Prefix operator Backtick operator 9Parses an operator in function position i.e. enclosed by `()' , with an  optional namespace   OperatorFront ::=  '(' '=' ')'  | (Identifier_t  )? '(' Operator_t ')'  ; !3Parses a function (either normal name or operator)  # FnName ::= Name | OperatorFront; "Parses a fixity declaration   Fixity ::= / FixityType Natural_t OperatorList Terminator  ;  #FParses a fixity declaration type (i.e. infix or prefix, associtavity)   FixityType ::=  'infixl'  | 'infixr'  | 'infix'  |    ;       ! " #      ! " #      ! " #      ! " #HNone3 '!Allow implicit type declarations ($Disallow implicit type declarations ) Parses an expression as a whole   FullExpr ::= Expr EOF_t;  +Parses an expression   Expr ::= Pi  ,4Parses an expression with possible operator applied   OpExpr ::= ;  -2Parses either an internally defined expression or  a user-defined one  Expr' ::= External (User-defined) Syntax  | InternalExpr;  ."Parses a user-defined expression /)Parses a simple user-defined expression 0OTries to parse a user-defined expression given a list of syntactic extensions 18Tries to parse an expression given a user-defined rule 2&Parses a (normal) built-in expression  InternalExpr ::=  UnifyLog  | RecordType  | SimpleExpr  | Lambda  | QuoteGoal  | Let  | RewriteTerm  | CaseExpr  | DoBlock  | App  ;  3Parses a case expression   CaseExpr ::=  'case' Expr 'of'# OpenBlock CaseOption+ CloseBlock;  4#Parses a case in a case expression  CaseOption ::=  Expr '=>' Expr Terminator  ;  5Parses a proof block  ProofExpr ::=  proof OpenBlock Tactic' * CloseBlock  ;  6Parses a tactics block  TacticsExpr :=  tactics OpenBlock Tactic' * CloseBlock ;  7Parses a simple expression  SimpleExpr ::=  | ? Name  | %  'instance'  | Refl ('{' Expr '}')?  | ProofExpr  | TacticsExpr  | FnName  | Idiom  | List  | Alt  | Bracketed  | Constant  | Type  | Void  | Quasiquote  | Unquote  | '_'  ;  8Parses an expression in braces  Bracketed ::= '(' Bracketed'  9+Parses the rest of an expression in braces   Bracketed' ::=  ')'  | Expr ')'  | ExprList ')'  | Expr   Expr ')'  | Operator Expr ')'  | Expr Operator ')'  | Name : Expr   Expr ')'  ;  ;)Finds optimal type for integer constant <!Parses an alternative expression   Alt ::= '(|' Expr_List '|)';  Expr_List ::=  Expr'  | Expr' ',' Expr_List  ;  =+Parses a possibly hidden simple expression  HSimpleExpr ::=    SimpleExpr  | SimpleExpr  ;  >$Parses a unification log expression  UnifyLog ::=  %  > SimpleExpr  ; ?$Parses a disambiguation expression  Disamb ::=  %  ? NameList Expr  ; @!Parses a no implicits expression  NoImplicits ::=  %  @ SimpleExpr  ;  A)Parses a function application expression  App ::=   mkForeign Arg Arg*  | MatchApp  | SimpleExpr Arg*  ;  MatchApp ::=  SimpleExpr <== FnName  ;  BParses a function argument  Arg ::=  ImplicitArg  | ConstraintArg  | SimpleExpr  ;  C%Parses an implicit function argument  ImplicitArg ::=  '{' Name ('=' Expr)? '}'  ;  DIParses a constraint argument (for selecting a named type class instance)  ConstraintArg ::=  '@{' Expr '}'  ; ESParses a quasiquote expression (for building reflected terms using the elaborator)  Quasiquote ::= '`(' Expr ')' F`Parses an unquoting inside a quasiquotation (for building reflected terms using the elaborator)  Unquote ::= ',' Expr G(Parses a record field setter expression  RecordType ::=  record '{' FieldTypeList '}';   FieldTypeList ::=  FieldType  | FieldType ',' FieldTypeList  ;   FieldType ::=  FnName '=' Expr  ;  H8Creates setters for record types on necessary functions IParses a type signature   TypeSig ::=  : Expr  ;   #TypeExpr ::= ConstraintList? Expr;  JParses a lambda expression   Lambda ::=    TypeOptDeclList '=>' Expr  |   SimpleExprList '=>' Expr  ;   SimpleExprList ::=  SimpleExpr  | SimpleExpr ',' SimpleExprList  ;  K!Parses a term rewrite expression  RewriteTerm ::=  rewrite Expr (==> Expr)? 'in' Expr  ;  LParses a let binding  Let ::=  'let' Name TypeSig'? '=' Expr 'in' Expr | 'let' Expr' '=' Expr' 'in' Expr  TypeSig' ::=  : Expr'  ;  NParses a quote goal  QuoteGoal ::=   N Name by Expr 'in' Expr  ; O"Parses a dependent type signature   Pi ::= PiOpts Static? Pi'  Pi' ::=  OpExpr ('->' Pi)?  | '(' TypeDeclList ')' '->' Pi  | '{' TypeDeclList '}' '->' Pi  | '{' auto TypeDeclList '}' '->' Pi  | '{'  'default' SimpleExpr TypeDeclList '}' '->' Pi  ; P+Parses Possible Options for Pi Expressions   PiOpts ::=  ?  QParses a type constraint list  ConstraintList ::=  '(' Expr_List ')' '=>'  | Expr '=>'  ; RParses a type declaration list  TypeDeclList ::=  FunctionSignatureList  | NameList TypeSig  ;   FunctionSignatureList ::=  Name TypeSig  | Name TypeSig ',' FunctionSignatureList  ; S8Parses a type declaration list with optional parameters  TypeOptDeclList ::=  NameOrPlaceholder TypeSig?  | NameOrPlaceholder TypeSig? ',' TypeOptDeclList  ;   NameOrPlaceHolder ::= Name | '_'; T,Parses a list literal expression e.g. [1,2,3]! or a comprehension [ (x, y) | x < - xs , y <- ys ]   ListExpr ::=  '[' ']'  | '[' Expr '|' DoList ']'  | '[' ExprList ']' ;    DoList ::=  Do  | Do ',' DoList  ;    ExprList ::=  Expr  | Expr ',' ExprList  ;  UParses a do-block  Do' ::= Do KeepTerminator;    DoBlock ::=  'do' OpenBlock Do' + CloseBlock  ; V'Parses an expression inside a do block  Do ::=  'let' Name TypeSig'? '=' Expr  | 'let' Expr' '=' Expr  | Name '<-' Expr  | Expr' '<-' Expr  | Expr  ;  X'Parses an expression in idiom brackets   Idiom ::= '[|' Expr '|]';  Y(Parses a constant or literal expression   Constant ::=     |    |    |    |    | Ptr  |  ManagedPtr  | prim__UnsafeBuffer  | Bits8  | Bits16  | Bits32  | Bits64  | Bits8x16  | Bits16x8  | Bits32x4  | Bits64x2  | Float_t  | Natural_t  | VerbatimString_t  | String_t  | Char_t  ; Z<Parses a verbatim multi-line string literal (triple-quoted)  VerbatimString_t ::=  '"""' ~'"""' '"""' ; [Parses a static modifier   Static ::=  '[' static ']' ; \Parses a tactic script   Tactic ::= intro NameList?  | intros  | refine Name Imp+  | mrefine Name  | rewrite Expr  |  induction Expr  | equiv Expr  | 'let' Name : Expr' '=' Expr  | 'let' Name '=' Expr  | focus Name  | exact Expr  |  applyTactic Expr  | reflect Expr  | fill Expr  |   Tactic '|' Tactic  | '{' TacticSeq '}'  | compute  | trivial  | solve  | attack  |    | term  | undo  | qed  | abandon  | : q  ;  Imp ::= ? | '_';  TacticSeq ::=  Tactic ';' Tactic  | Tactic ';' TacticSeq  ; ]Parses a tactic as a whole : $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]: $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]: ' ( ) * + , - . / 0 $ & % 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]8 $ & % ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]INone ^!Parses a record type declaration  Record ::=  DocComment Accessibility?  ^ FnName TypeSig 'where'2 OpenBlock Constructor KeepTerminator CloseBlock; _0Parses data declaration type (normal or codata)  DataI ::= 'data' | e; `6Parses if a data should not have a default eliminator DefaultEliminator ::= noelim? aParses a data type declaration aData ::= DocComment? Accessibility? DataI DefaultEliminator FnName TypeSig ExplicitTypeDataRest? U | DocComment? Accessibility? DataI DefaultEliminator FnName Name* DataRest?  ;  Constructor'! ::= Constructor KeepTerminator; ExplicitTypeDataRest ::= 'where' OpenBlock Constructor'* CloseBlock;  DataRest ::= '='" SimpleConstructorList Terminator  b&Parses a type constructor declaration . Constructor ::= DocComment? FnName TypeSig; c?Parses a constructor for simple discriminated union data types 7 SimpleConstructor ::= FnName SimpleExpr* DocComment? dParses a dsl block declaration DSL ::=  d FnName OpenBlock Overload'+ CloseBlock; eChecks DSL for errors f"Parses a DSL overload declaration OverloadIdentifier ::= 'let' | Identifier;  Overload ::= OverloadIdentifier '=' Expr; ^ _ ` a b c d e f ^ _ ` a b c d e f ^ _ ` a b c d e f ^ _ ` a b c d e fJNone <The state corresponding to an attempted match of two types. $names which have yet to be resolved Parguments and typeclass constraints for each type which have yet to be resolved the score so far all names that have been used  A list of typeclass constraints BA directed acyclic graph representing the arguments to a function  The  C represents the position of the argument (1st argument, 2nd, etc.) Homogenous tuples *Asymmetric modifications to keep track of =Conduct a type-directed search using a given match predicate /reverse the edges for a directed acyclic graph 6Compute a directed acyclic graph corresponding to the  arguments of a function. 3 returns [(the name and type of the bound variable 6 the names in the type of the bound variable)] 6Collect the names and types of all the free variables O The Boolean indicates those variables which are determined due to injectivity H I have not given nearly enough thought to know whether this is correct ,Remove a node from a directed acyclic graph $Could be a functor instance, but let's avoid name overloading Compute the power set ATry to match two types together in a unification-like procedure. C Returns a list of types and their minimum scores, sorted in order  of increasing score. 3 g h  filter to remove some arguments i  g h i g h i#     g h i KNone j k l m n o p q r s t u v w x y z { | } ~  Z j k l m n o p q r s t u v w x y z { | } ~  Z j k l m n o p q r s t u v w x y z { | } ~  ` j) k l m n o p q r s t u v w x y z { | } ~  LNone1 Parses module definition   ModuleHeader ::= 'module' Identifier_t ';'?; Parses an import statement   Import ::= 'import' Identifier_t ';'?; Parses program source   Prog ::= Decl* EOF; Parses a top-level declaration   Decl ::=  Decl'  | Using  | Params  | Mutual  | Namespace  | Class  | Instance  | DSL  | Directive  | Provider  | Transform  | Import!  ; :Parses a top-level declaration with possible syntax sugar  Decl' ::=  Fixity  | FunDecl'  | Data  | Record  | SyntaxDecl  ; JParses a syntax extension declaration (and adds the rule to parser state)   SyntaxDecl ::= SyntaxRule;  Extend an ' with a new syntax extension. See also  . Like  , but no effect on the IBC. &Parses a syntax extension declaration   SyntaxRuleOpts ::= term |  ;   SyntaxRule ::=  SyntaxRuleOpts? syntax SyntaxSym+ '=' TypeExpr Terminator;  SyntaxSym ::= '[' Name_t ']'  | '{' Name_t '}'  | Name_t  | StringLiteral_t  ; HParses a syntax symbol (either binding variable, keyword or expression)  SyntaxSym ::= '[' Name_t ']'  | '{' Name_t '}'  | Name_t  | StringLiteral_t  ; 9Parses a function declaration with possible syntax sugar   FunDecl ::= FunDecl'; Parses a function declaration   FunDecl' ::= I DocComment_t? FnOpts* Accessibility? FnOpts* FnName TypeSig Terminator  | Postulate  | Pattern  | CAF  ; .Parses function options given initial options    FnOpts ::= total  | partial  |   | %  no_implicit  | %  assert_total  | %  error_handler  | %  reflection  | %  '[' NameTimesList? ']'  ;   NameTimes ::= FnName Natural?;  NameTimesList ::=  NameTimes  | NameTimes ',' NameTimesList  ; Parses a postulate  Postulate ::=  DocComment_t?  9 FnOpts* Accesibility? FnOpts* FnName TypeSig Terminator  ; Parses a using declaration   Using ::=  ; '(' UsingDeclList ')' OpenBlock Decl* CloseBlock  ;  Parses a parameters declaration   Params ::=   parameters '(' TypeDeclList ')' OpenBlock Decl* CloseBlock  ; ?Parses a mutual declaration (for mutually recursive functions)   Mutual ::=    OpenBlock Decl* CloseBlock  ; Parses a namespace declaration  Namespace ::=   ' identifier OpenBlock Decl+ CloseBlock  ; 'Parses a methods block (for instances)   InstanceBlock ::= 'where' OpenBlock FnDecl* CloseBlock 8Parses a methods and instances block (for type classes)   MethodOrInstance ::=  FnDecl  | Instance  ;  ClassBlock ::=  'where'( OpenBlock MethodOrInstance* CloseBlock  ;  Parses a type class declaration   ClassArgument ::=  Name  | '(' Name : Expr ')'  ;   Class ::=  DocComment_t? Accessibility? 'class'1 ConstraintList? Name ClassArgument* ClassBlock?  ; )Parses a type class instance declaration    Instance ::=   'instance'? InstanceName? ConstraintList? Name SimpleExpr* InstanceBlock?  ;  InstanceName ::= '[' Name ']';  Parses a using declaration list   UsingDeclList ::=  UsingDeclList'  | NameList TypeSig  ;    UsingDeclList' ::=  UsingDecl  | UsingDecl ',' UsingDeclList'  ;   NameList ::=  Name  | Name ',' NameList  ; Parses a using declaration  UsingDecl ::=  FnName TypeSig  | FnName FnName+  ; Parse a clause with patterns  Pattern ::= Clause; .Parse a constant applicative form declaration  CAF ::= 'let' FnName '=' Expr Terminator; Parse an argument expression  ArgExpr ::= HSimpleExpr | ; &Parse a right hand side of a function   RHS ::= '=' Expr  | ?= RHSName? Expr  |  impossible  ;   RHSName ::= '{' FnName '}'; Parses a function clause   )RHSOrWithBlock ::= RHS WhereOrTerminator  | with) SimpleExpr OpenBlock FnDecl+ CloseBlock  ;   _Clause ::= WExpr+ RHSOrWithBlock  | SimpleExpr <==K FnName RHS WhereOrTerminator ` | ArgExpr Operator ArgExpr WExpr* RHSOrWithBlock _ | FnName ConstraintArg* ImplicitOrArgExpr* WExpr* RHSOrWithBlock  ;   -ImplicitOrArgExpr ::= ImplicitArg | ArgExpr;  /WhereOrTerminator ::= WhereBlock | Terminator; Parses with pattern   WExpr ::= '|' Expr'; Parses a where block  WhereBlock ::= 'where' OpenBlock Decl+ CloseBlock; .Parses a code generation target language name   Codegen ::= C  | Java  |  JavaScript  | Node  | LLVM  |   ; Parses a compiler directive  StringList ::=  String  | String ',' StringList  ;    Directive ::= % Directive';   Directive' ::= lib CodeGen String_t  | link CodeGen String_t  | flag CodeGen String_t  | include CodeGen String_t  | hide Name  | freeze Name  | access Accessibility  |  'default' Totality  | logging Natural  | dynamic StringList  |  Name NameList  | error_handlers Name NameList  | language +  | language *  ; Parses a totality   Totality ::= partial | total Parses a type provider   Provider ::= % provide Provider_What? '(' FnName TypeSig ')' with Expr; ProviderWhat ::= proof | term | 'type' |   Parses a transform  Transform ::= %   Expr ==> Expr !Parses an expression from input Parses a constant form input Parses a tactic from input  Parse module header and imports .There should be a better way of doing this... DCheck if the coloring matches the options and corrects if necessary >A program is a list of declarations, possibly with associated  documentation strings. =Load idris module and show error if something wrong happens Load idris module Load idris code from file BLoad idris source code and show error if something wrong happens Load Idris source code Adds names to hide list 2                         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f 2 2 MNone       line number  variable  name of file )line number that the type is declared on Function name Source file name &line number that the type is declared Function name Source file name          NNone                ONone                    PNone  !"#$%&'(    !"#$%&'(QNone      ) *                       ) * RNone  Run the REPL Run the REPL seDver )Run a command on the server on localhost Run the IdeSlave Run IDESlave commands 9Show a term for IDESlave with the specified implicitness #8The prompt consists of the currently loaded modules, or Idris if there are none $.Determine whether a file uses literate syntax 2ZInvoke as if from command line. It is an error if there are unresolved totality problems. 73Get the platform-specific, user-specific Idris dir 8:Locate the platform-specific location for the init script 9Run the initialisation script D3Returns None if given an Opt which is not PkgMkDoc A Otherwise returns Just x, where x is the contents of PkgMkDoc ? The initial state The loaded modules       ^ The handle for communication %^ The continuation ID for the client ^ The original IState ^ The current open file ^ The currently loaded modules ^ The command to process ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C DOpt to extract Result Ethe option to extract the package file to test F G H I J K L M N O P Q R S T U V?         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V?         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V?         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U VSNone W X Y Z [ \ ] W X Y Z [ \ ] W X Y Z [ \ ] W X Y Z [ \ ]^None+,-./0123456789:;<+,-./0123456789:;+ ,-./0123456789:;<TNone ^,Run the package through the idris compiler. _Type check packages only BThis differs from build in that executables are not built, if the ! package contains an executable. `!Check a package and start a REPL aClean Package build files bGenerate IdrisDoc for package F TODO: Handle case where module does not contain a matching namespace ; E.g. from prelude.ipkg: IO, Prelude.Chars, Builtins  Issue number #1572 on the issue tracker  https: github.com idris-lang Idris-devissues1572 cDBuild a package with a sythesized main function that runs the tests dInstall package lInvoke a Makefile's default target. mInvoke a Makefile's clean target.  ^ _Show Warnings quit on failure Path to ipkg file. ` aPath to ipkg file. bPath to .ipkg file. c d e f g h i j k l m ^ _ ` a b c d e f g h i j k l m ^ _ ` a b c d e f g h i j k l m ^ _ ` a b c d e f g h i j k l m=_`abcdefghijklmnopqrstuvwxyz{|}~eopWWW                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                     ! " # $ % & ' ( ) * + , - - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P P Q R S S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                            /      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNrOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     SH !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkklmnopqrstuvwxyz{|7}~#      !"#$% &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a`bcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]]^__`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*j+,[-./01234567 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                       n  o                                                   !!!!!!!!!""""""####$$%%%%&&&&&'(((((((((()))))))))) ) ) ) ) )*********+,,-...../ /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/405060708090:0;0<0=0>0?1@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y3Z3[3\3]3^3_3`3a3b3c3d4e4f4g4h5i5j6k6l7m7n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888999999999999999999999999999:::;;;;<======>?@ABCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD D D D D D D D D D D D DZD D D DD D D D D D D D D D D D D D D D D D D !D "D #D $D %D &E 'E (F )G *G +G ,G -G .G /G 0G 1G 2H 3H 4H 5H 6H 7H 8H 9H :H ;H <H =H >H ?H @H AH BH CH DH EH FH GH HH IH JH KH LH'H MH NH OHrH PH QH RH SH TH UH VH WH XH YH ZH [H \H ]H ^H _H `H aH bH cH dH eH fH gH hH iH jI kI lI mI nI oI pI qI rI sJ tJ uJ vK wK wK xK yK zK {K |K }K ~K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K L L L L L L L L L L L L L L L LwL LzL L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L M M M M M M M M N N N N N N N O O O O O O O O O O P Q Q Q Q Q Q Q Q !R "R #R $R %R &R 'R (R )R *R +R ,R -R .R /R 0R 1R 2R 3R 4R R 5R 6R 7R 8R 9R :R ;R <R =R >R ?R @R AR BR CR DR ER FR GR HR IR JR KR LR MR NR OR PR QR RR SR TR UR VR WR XR YR ZR [R xR \R ]R ^S _S `S aS bS cS dS eT fT gT hT iT jT kT lT mT nT oT pT qT rT sT tT uU vU wV xWW yW zW {W |W }W ~W W W X             Y Y Y Y Y Y Y   D                                                          !  "  # $ % & ' (  ) * + , - . / 0 1 F 2 3 4 5 6 7 8 9 : ; < =[ >[ ?[ @[ A[ B[ C[ D[ E[ F[ G[ H I  J  K  L  M      N  O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b  c d e f g h i j k l m n o) p q r s t u v w x y z { | } ~                      z    s    iNABg]^debcLCDEFGHSRT[UVW YXZ\MOrQPI   }     `                     r                    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  ] ] ] ] ] ] ] ] ] ] ] ]                                 ! ! ! !! "! #! $! %! &! '! (! )! *! +! ,! -! .! /! 0! 1! 2! 3! 4! 5! 6! 7! 8! 9! :! ;! <! =! >! ?! @! A! B! C! D! E! F! G! H! I! J! K! L! M! N! O! P! Q! R! S! T! U! V! W! X! Y! Z! [! \! ]! ^! _! `! a! b! c! d! e! f! g! h! i! j! k! l! m! n! o! p! q# r# s# t# u# v# w# x# y% z% {% |% }& ~& & & & & & & & ( ( ( ( ( ( ( ( ( ( ( ( ( ( ) ) ) ) ) * * * * * * + + + + + , , , , , , , , , , , - - - - - - -- - - - - - - - - - - - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 5 6 6 6 6 6 6 6 6 6 6 66 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7s7 7 7 7 7 7 7 > > > @ @ @ @ D E E E E E E E E E E E E E !E "E #E $E %E &E 'E (E )E *E +F ,F -F .F /F 0F 1FF 2F 3F 4F 5F 6F 7F 8F 9F :F ;F <F =F >F ?F @F AF BF CF DF EF FF GF HF IF JF KF LF MF NF OF P Q R S Q T U Q V W X Y Z [ \ ] [ \ ^ [ \ _ Q R ` a bt c d eJ fJJ gJJ hJ iJ jJ kJ lJ mJ nJ oJ pJ qJ rJ sJ tJ fJ uJ uJ vJ wJ xJ kJ yJ zJ {J |J }J ~J J J J J J J J J J J J J J J J J J K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K M M M M MM jM M M M M M M M M M M M M M N N N P P P P P P P P P P P P P P P P P P P P P P P P Q Q ^ ^ ^ ^ ^ ^ ^ ^ ^ !^ ^ ^ ^ ^ ^ ^ ^ ^  idris-0.9.15IRTS.JavaScript.AST IRTS.System Idris.HelpUtil.ScreenSize Idris.Colours Idris.Core.TC Util.SystemUtil.DynamicLinker Idris.Core.TTIdris.Core.CaseTreeIdris.Core.EvaluateIdris.Core.TypecheckIdris.Core.ConstraintsIdris.Core.ProofTermIdris.Core.UnifyIdris.Core.ProofStateIdris.Core.Elaborate IRTS.LangIdris.Docstrings Idris.UnlitIRTS.DefunctionaliseIRTS.SimplifiedIRTS.CodegenCommonIdris.AbsSyntaxTreeIdris.ASTUtils IRTS.BCImp IRTS.Bytecode IRTS.LangOpts IRTS.DumpBC IRTS.InlinerIdris.IdeSlaveIdris.AbsSyntaxIdris.Primitives Idris.DSLIdris.DataOpts Idris.InlinerIdris.Transforms Idris.AproposIdris.ErrReverseIdris.DelaborateIdris.PartialEval Idris.DocsIdris.ElabQuasiquoteIdris.WhoCalls IRTS.CodegenCIRTS.CodegenJavaScript Idris.Output Idris.ErrorIdris.Core.ExecuteIdris.Elab.Utils Idris.ImportsIdris.ProvidersIdris.ProofSearch Idris.Erasure IRTS.CompilerIdris.ElabTermIdris.CoverageIdris.Elab.ValueIdris.Elab.TypeIdris.Elab.TransformIdris.Elab.ClauseIdris.Elab.DataIdris.Elab.RecordIdris.Elab.ClassIdris.Elab.InstanceIdris.Elab.ProviderIdris.ElabDeclsIdris.ParseHelpersIdris.CompletionIdris.IdrisDocIdris.ParseOpsIdris.ParseExprIdris.ParseDataIdris.TypeSearch Idris.IBC Idris.ParserIdris.CaseSplitIdris.Interactive Idris.ProverIdris.REPLParser Idris.Chaser Idris.REPLIdris.CmdOptions Pkg.PackageUtil.Net Version_idris Paths_idris Util.Zlib Util.PrettygetFCIdris.Core.DeepSeq Idris.DeepSeqIdris.Core.Binary Pkg.PParserFFIFFIErrorFFIArgFFICodeJSJSNoop JSAnnotationJSFFIJSWhileJSParens JSTernaryJSCondJSSwitchJSIndexJSAllocJSAssignJSWordJSNumJSStringJSArrayJSFalseJSTrueJSThis JSUndefinedJSNullJSProjJSPostOpJSPreOpJSBinOpJSErrorJSNewJSAppJSReturnJSSeqJSType JSFunctionJSIdentJSRaw JSConstructorJSWord64JSWord32JSWord16JSWord8 JSIntegerJSFloatJSInt JSBigIntExprJSBigIntJSBigOne JSBigZero JSForgotTyJSPtrTyJSCharTy JSFloatTy JSIntegerTy JSStringTyJSIntTyffi compileJS compileJS' jsInstanceOfjsOrjsAndjsMethjsCalljsTypeOfjsEqjsNotEq jsIsNumberjsIsNulljsBigInt jsUnPackBits jsPackUBits8 jsPackUBits16 jsPackUBits32 jsPackSBits8 jsPackSBits16 jsPackSBits32version getDataDirgetDataFileNameCmdArgSeqArgs OptionalArgManyArgsDeclArgConsoleWidthArgSpecialHeaderArgNoArg ColourArg MetaVarArg OptionArg NamespaceArg NumberArg ModuleArgFileArgNameArgExprArghelp extraHelpgetScreenWidth ColourTypePostulateColour PromptColour DataColour TypeColourFunctionColourImplicitColourBoundVarColour KeywordColour ColourTheme keywordColourboundVarColourimplicitColourfunctionColour typeColour dataColour promptColourpostulateColour IdrisColourcolourvivid underlinebolditalic defaultTheme colourise colouriseKwdcolouriseBoundcolouriseImplicit colouriseFun colouriseType colouriseDatacolourisePromptcolouriseKeywordcolourisePostulateTC'ErrorOKcatchIOtempfile withTempdirrmFilegetCCgetMvn getTargetDir getLibFlagsgetIdrisLibDir getIncFlagsgetExecutablePom ForeignFunFunfun_name fun_handle DynamicLibLiblib_name lib_handle tryLoadLib tryLoadFnWkEnvWkEnvTTWkEnvTypeTermDatatypeData d_typename d_typetagd_typed_uniqued_consEnvTTTermSizetermsizeTTUTypeTType ImpossibleErasedProjConstantAppBindVPNameTypeTConDConnt_tagnt_arity nt_uniqueRefBoundUCs UConstraintULEULTUExpUValUVarBinderPVTyPVarGuessGHoleenvlenHoleNLetLet binderValPi binderKindLambinderTyRaw RConstantRForceRUTypeRTypeRAppRBindVarUniverseAllTypes UniqueTypeNullTypeConstForgotVoidType BufferTypeManagedPtrTypePtrTypeStrTypeATypeB64VB32VB16VB8VB64B32B16B8StrChFlBIIArithTyATFloatATIntIntTyITVecITCharITBigITNativeITFixedNativeTyIT64IT32IT16IT8Ctxt SpecialName InstanceCtorNElimNCaseNMethodNParentN InstanceNWithNWhereNNameSymRefSNNErasedMNNSUNTCErrErr'ReflectionFailedReflectionError LoadingFailed ProviderErrorElaboratingArg ElaboratingAt NoRewritingProofSearchFailAlreadyDefinedNonCollapsiblePostulate InaccessibleProgramLineCommentUniqueKindError UniqueError UniverseErrorIncompleteTermCantResolveAlts CantResolve NotInjective NoTypeDeclNoSuchVariable CantIntroduceTooManyArguments NotEqualityNonFunctionType CantInferType UnifyScope CantSolveGoal CantConvert InfiniteUnify CantUnify InternalMsgMsgErrorReportPart SubReportTermPartNamePartTextPartOutputAnnotationAnnErrAnnSearchResultAnnTerm AnnTextFmtAnnFC AnnKeywordAnnTypeAnnDataAnnConst AnnBoundNameAnnNameTextFormatting UnderlineText ItalicTextBoldText NameOutputPostulateOutput MetavarOutput DataOutput FunOutput TypeOutputFC'unwrapFCFCfc_fnamefc_startfc_endOption CheckConv TTypeInTTypeemptyFCfileFCscoretfailfailMsgtrundiscardshowSeppmap traceWhentxtstrtnulltheadsUNsNSsMN sInstanceNsParentNshowCG emptyContextmapCtxttcname implicitablensrootaddDeflookupCtxtName lookupCtxtlookupCtxtExactdeleteDefExact updateDeftoAlistaddAlist intTyName nativeTyWidth intTyWidth constIsType constDocsfmapMB raw_apply raw_unapply isInjective vinstances instantiatesubstV explicitNamespToVpToV' addBinderpToVsvToPfinalise pEraseTypesubstpsubst substNames substTerm occurrences noOccurrence freeNamesarityunApplymkAppunListforget forgetEnvbindAll bindTyArgs getArgTysgetRetTyuniqueNameFrom uniqueName uniqueNameSet uniqueBindersnextName itBitsNameshowEnv showEnvDbg prettyEnvshowEnv'pureTermweakenTm weakenEnv weakenTmEnv orderPatsliftPats allTTNamesPhaseRunTime CompileTime ErasureInfoCaseTreeCaseAltCaseAlt' DefaultCaseSucCase ConstCaseFnCaseConCaseSCCaseTypeShared UpdatableSC'ImpossibleCase UnmatchedCaseSTermProjCaseCaseCaseDefsmall namesUsed findCalls findUsedArgs simpleCasesubstSCsubstAltmkForceContext uconstraints next_tvar definitionsMetaInformationDataMIEmptyMIPReason NotProductiveMutual BelieveMe ExternalIOUseUndef NotPositive NotCoveringItselfOtherTotality UncheckedPartial ProductiveTotal AccessibilityHiddenFrozenPublicCaseInfocase_inlinable tc_dictionaryCaseDefscases_totcheckcases_compiletime cases_inlined cases_runtimeDefCaseOpOperatorTyDeclFunctionQuotequoteValueVTmpVProj VConstant VImpossibleVErasedVUTypeVTypeVAppVBLetVBindVVVPinitEval normaliseC normaliseAll normalisenormaliseTrace specialisesimplify rt_simplifyhnf isUniverseconvEq'convEq initContext mapDefCtxt ctxtAlist addToCtxt setAccesssetTotalsetMetaInformation addCtxtDef addTyDecl addDatatype addCasedefsimplifyCasedef addOperator lookupNames lookupTyNamelookupTyNameExactlookupTy lookupTyExact isConName isTConName isDConNameisFnNamelookupPlookupDefExact lookupDef lookupNameDef lookupDefAcclookupDefAccExact lookupTotallookupMetaInformationlookupNameTotal lookupVal lookupTyEnvuniqueNameCtxtuniqueBindersCtxt UniqueUseManyLendOnlyOnceNever convertsCconvertsisHoleerrEnvisTyperecheckrecheck_borrowingcheckcheck' checkUniqueucheckGoalGDpremisesgoalType RunTactic' ProofTermrefocus mkProofTerm getProofTermupdateSolvedTerm updateSolvedgoalatHolebound_in bound_in_termFails FailContextfail_sourcelocfail_fn fail_paramFailAtUnifyMatch unrecoverable match_unifyunifyTacticQEDUndo ProofState UnifyProblems MatchProblemsMoveLast SetInjectiveInstance DeferTypeDeferFocusPatBindPatVarEquivCaseTac InductionRewrite ExpandLetLetBindForallIntroTyIntroCheckInEvalIn HNF_ComputeSimplify ComputeLetComputeUnifyAllEndUnify StartUnifySolveRegret CompleteFillPrepFill MatchFillFillExactReorderClaimAttackPSthnameholesusednsnextnameptermptype dontunifyunified notunifiedsolvedproblems injectivedeferred instancespreviouscontextplogunifylogdonewhile_elaboratingnowElaboratingPSdoneElaboratingAppPSdoneElaboratingArgPSnewProof envAtFocus goalAtFocus dropGiven keepGiven processTacticElabElab' ElabStateESCommandTacPrintQuitEvalTheoremproof proofFailexplicit saveState loadState getNameFrom setNextNameinitNextNameFromerrAterunrunElabexecElabinitElaborator elaborate updateAuxgetAuxunifyLog getUnifyLogprocessTactic'updatePSnow_elaboratingdone_elaborating_appdone_elaborating_argelaborating_app get_context set_contextget_term update_termget_envget_inj get_holes get_probs get_guessget_type get_type_val get_deferredcheckInjective get_instances unique_hole unique_hole'eloggetLogattackclaimexactfill match_fill prep_fill complete_fillsolve start_unify end_unify unify_allregretcompute computeLet hnf_computeeval_incheck_inintrointroTyforallletbind expandLetrewrite inductioncasetacequivpatvarpatbindfocusmovelastzipHere matchProblems unifyProblemsdefer deferType instanceArgsetinj proofstatereorder_claimsqedundo prepare_applyapply match_applyapply'apply2 apply_elab checkPiGoal simple_apparg no_errorstry handleErrortry'tryWhentryAll prunStateTqshow dumpprobs LiftStateLSLOptNoInlineInlineLDefsLDecl LConstructorLFunLAltLAlt' LDefaultCase LConstCaseLConCaseFTypeFAny FManagedPtrFPtrFUnitFString FFunctionIO FFunctionFArithFLang LANG_JAVALANG_C FCallType FConstructorFObjectFStaticPrimFnLNoOp LRegisterPtrLNullPtrLVMPtrLParLForkLPeekLAppend LSystemInfo LAppendBuffer LAllocateLStdErrLStdOutLStdInLStrRev LStrIndexLStrConsLStrTailLStrHead LUpdateVecLIdxVecLMkVecLFNegateLFCeilLFFloorLFSqrtLFATanLFACosLFASinLFTanLFCosLFSinLFLogLFExpLBitCastLReadStr LPrintStr LPrintNumLIntChLChInt LStrFloat LFloatStrLStrIntLIntStr LFloatInt LIntFloatLStrLenLStrEqLStrLt LStrConcatLTruncLZExtLSExtLSGeLSGtLSLeLSLtLGeLGtLLeLLtLEqLASHRLLSHRLSHLLComplLXOrLOrLAndLSRemLURemLSDivLUDivLTimesLMinusLPlusLExpLErrorLNothingLOpLForeignLConstLCaseLConLProjLLamLLetLForceLLazyExpLLazyAppLAppLVLVarGlobLoc EndiannessLEBENativeaddTagslnameliftAll lambdaLift getNextNameaddFnlift allocUniqueusedArgusedInRawHtmlEntityImageLinkCodeStrongEmph LineBreak SoftBreakSpaceBlockHRule HtmlBlock CodeBlockList BlockquoteHeaderPara Docstring DocStringDocTermFailingExampleChecked renderDocTermcheckDocstringparseDocstringrenderDocstringoverviewemptyDocstring nullDocstringnoDocs containsText renderHtml annotCodeunlit EvalApply ApplyCaseEvalCaseDDefsDDecl DConstructorDFunDAlt DDefaultCase DConstCaseDConCaseDExpDErrorDNothingDOpDForeignDConstDChkCaseDCaseDCDProjDUpdateDLetDAppDVdefunctionalisegetFnaddAppseEVALtoConstoConsA mkApplyCasemkEvalmkApplydeclaregenArgsmkFnCon mkUnderCon mkBigCasegroupsOf dumpDefunsSDeclSFunSAlt SDefaultCase SConstCaseSConCaseSExpSErrorSNothingSOpSForeignSConstSProjSChkCaseSCaseSConSUpdateSLetSAppSV simplifyDefs CodeGenerator CodegenInfo outputFile outputType targetTriple targetCPUincludes importDirs compileObjs compileLibs compilerFlags debugLevel simpleDecls defunDecls liftDecls OutputType MavenProject ExecutableObjectDbgLevelTRACEDEBUGNONE environment SyntaxInfoSynusing syn_params syn_namespaceno_imp decoration inPatternimplicitAllowedmaxline mut_nestingdsl_infosyn_in_quasiquoteUsing UImplicitSSymbol SimpleExprExprBindingSymbolKeywordSyntaxRule SynContext AnySyntax TermSyntax PatternSyntaxDSLDSL'dsl_bind dsl_return dsl_applydsl_puredsl_var index_first index_next dsl_lambdadsl_letdsl_piTypeInfoTI con_namescodata data_opts param_pos mutual_typesOptInfoOptimise inaccessible detaggableFnInfo fn_paramsTIData TISolution TIPartial ClassInfoCI instanceName class_methodsclass_defaultsclass_default_superclasses class_paramsclass_instancesPArgArgOptInaccessibleArg HideDisplay AlwaysShowPArg' PTacImplicit getScript PConstraintPExpPImppriority machine_infargoptspnamegetTmPDoPDo'DoLetPDoLetDoBindPDoBindDoExpPTacticPTactic'AbandonQedTFailSkipTSearchTDocStrTEvalTCheckGoalTypeReflect ByReflection ApplyTacticTSeqTry ProofSearch TCInstanceTrivialLetTacTyLetTac MatchRefineDoUnifyRefineIntrosPTermPUnquote PQuasiquote PNoImplicits PUnifyLogPDisambPCoerced PImpossible PElabErrorPTacticsPProofPMetavarPReturnPIdiomPDoBlock Placeholder PConstantPGoal PUniversePTypePHidden PAlternativePDPairPPairPRewritePEq PResolveTCPReflPTruePCase PMatchAppPAppBindPAppPTypedPLetPPiPLamPPatvar PInferRefPRefPQuotePunInfo TypeOrTermIsTermIsTypePClausePDataPDeclPData' PLaterdecl PDatadecld_named_tconPClause'PWithRPClauseRPWithElabDPDecl' PTransform PProvider PDirectivePMutualPSyntaxPDSL PInstancePClassPRecord PNamespacePParamsPCAFPClauses PPostulatePTyPFix ProvideWhat ProvideWhat' ProvPostulateProvTermDataOptsDataOpt DataErrRevDefaultCaseFunDefaultEliminatorCodataFnOptsFnOpt Constructor Specialise Reflection ErrorReverse ErrorHandlerCExport NoImplicitImplicit Dictionary AssertTotal Coinductive CoveringFn PartialFnTotalFn InlinablePlicityTacImppscript ConstraintExpImppargoptspstaticpparamStaticDynamicFixDeclFixFixityPrefixNInfixNInfixrInfixlprecOpt AutoSolve AutoWidth ShowOrigErrClient RemoveOptAddOptOptLevel TargetCPU TargetTripleEvalExprInterpretScript ExtensionOutputTy UseCodegen DumpCases DumpDefunBCAsmPkgWarnOnlyPkgTestPkgMkDocPkgREPLPkgCheckPkgClean PkgInstallPkgBuild ImportDir IBCSubDirPortVerboseShowImpl ErrContext NoCoverage WarnReach WarnPartialDefaultPartial DefaultTotal TypeInTypeTypeCaseOutputOLoggingNoREPL NoBuiltins NoPrelude NoBasePkgsShowIncs ShowLibdirShowLibsIdeslaveSocketIdeslave ColourREPLNoBannerQuietFilename OutputFmt LaTeXOutput HTMLOutput TransformInfoPPrintPrintDefWarrantyMakeDocCallsWhoWhoCallsAproposSetConsoleWidthListErrorHandlers ColourOffColourOn SetColourNOPUnsetOptSetOpt DoProofSearch MakeLemmaMakeWith AddMissingAddProofClauseFrom AddClauseFrom CaseSplitAtSearch DebugInfoPattelab ListDynamic DynamicLinkMissingDefn TestInlineHNFSpecLogLvl UniversesProofs ShowProofRmProofAddProofProveMetavarsExecValExecuteCompileEdit ModImportChangeDirectoryLoadReloadTotCheckDocStrCheckUndefineNewDefnHelpCodegenBytecodeViaIdrisIBCWriteIBCParsedRegionIBCTotCheckErr IBCPostulateIBCFunctionErrorHandlerIBCErrorHandler IBCLineApp IBCNameHintIBCDef IBCCoercionIBCDocIBCCG IBCErrRevIBCTrans IBCFnInfoIBCFlagsIBCTotalIBCMetaInformation IBCAccess IBCHeaderIBCDyLib IBCCGFlagIBCLibIBCObj IBCImportDir IBCImport IBCKeyword IBCSyntax IBCMetavarIBCOptIBCDataIBCDSL IBCInstanceIBCClass IBCStaticIBCImpIBCFixCGInfoargsdefcallsscgargsusedusedpos UsageReasonSCGEntry SizeChangeUnknownBiggerSameSmallerIStatett_ctxtidris_constraints idris_infixesidris_implicits idris_statics idris_classes idris_dslsidris_optimisationidris_datatypesidris_namehints idris_patdefs idris_flagsidris_callgraphidris_calledgraphidris_docstringsidris_tyinfodata idris_fninfoidris_transformsidris_totcheckidris_defertotcheckidris_totcheckfail idris_options idris_nameidris_lineappsidris_metavarsidris_coercions idris_errRev syntax_rulessyntax_keywordsimported idris_scprims idris_objs idris_libs idris_cgflags idris_hdrsidris_imported proof_listerrSpanparserWarnings lastParse indent_stack brace_stack lastTokenSpanidris_parsedSpan hide_listdefault_access default_total ibc_write compiled_soidris_dynamic_libsidris_language_extensionsidris_outputmodeidris_colourReplidris_colourThemeidris_errorhandlers idris_nameIdxidris_function_errorhandlersmodule_aliasesidris_consolewidthidris_postulatesidris_whocallsidris_callswhoidris_repl_defs ConsoleWidthAutomaticWidthColsWideInfinitelyWide OutputModeIdeSlave RawOutput LanguageExtErrorReflection TypeProviders Optimisation PETransformPPOption ppopt_implIOption opt_logLevel opt_typecaseopt_typeintype opt_coverage opt_showimpopt_errContextopt_repl opt_verbose opt_nobanner opt_quiet opt_codegen opt_outputTy opt_ibcsubdiropt_importdirs opt_tripleopt_cpu opt_cmdline opt_origerr opt_autoSolveopt_autoImport opt_optimiseElabInfoEInfoparamsinblockliftname namespace rec_elabDeclElabWhatEAllEDefnsETypestoplevel eInfoNames defaultOptsdefaultOptimisedefaultPPOptionverbosePPOptionppOption ppOptionIstprimDefs idrisInitimplexpl expl_param constrainttacimpl inlinable dictionarydeclared tldeclareddefinedupdateNupdateNsmapPTpimppexppconstptacimp syntaxNamesinitDSL defaultSyntaxexpandNSbiinferTyinferCon inferDecl inferOptsinfTerminfP getInferTerm getInferType primNamesunitTyunitConfalseDocfalseTypairTypairConeqTyeqConeqDoceqDecl eqParamDoceqOptssigmaTy existsConpiBindpiBindpconsoleDecorateisPostulateName prettyImp prettyIst pprintPTerm bindingOf prettyNameshowCImpshowDImp showDecls showDeclImpgetImpsgetExps getShowArgs getConstsgetAllshowNameshowTm showTmImpls getPArity allNamesIn boundNamesInimplicitNamesInnamesIn usedNamesIngetErasureInfoFieldfgetfsetfmodify fgetState fputState fmodifyState ctxt_lookup maybe_defaultist_optimisationopt_inaccessibleopt_detaggable ist_callgraph cg_usedposopts_idrisCmdline known_terms known_classesrepl_definitionsidris_fixitiesBCRegLRValtoBCbcERRORNULLOPSTOREOLDBASETOPTOPBASEADDTOPRESERVEREBASESLIDE FOREIGNCALLTAILCALLCALL CONSTCASE PROJECTINTOPROJECTCASEMKCONUPDATE ASSIGNCONSTASSIGNTmpTcleanisConstmoveRegassignconCase constCasecaseAltconstAlt defaultAlt inlineAllnextNdoInlineinterMapindent serializeReg serializeCaseserializeDefault serializeBC serializedumpBCinlineinlevalDIdeSlaveCommand ErrPPrint ErrStringTermNoImplicitsTermShowImplicits TermNormalise MetavariablesGetOptsDocsForLoadFile MakeWithBlockAddProofClause AddClause CaseSplitTypeOf InterpretREPLCompletionsSExpabletoSExp SymbolAtom IntegerAtomBoolAtom StringAtomSexpListgetNChargetLen sexpToCommand parseMessageconvSExp ideSlaveEpoch EitherErrRightOKLeftErr getContext forCodegengetObjectFiles addObjectFilegetLibsaddLibgetFlagsaddFlagaddDyLibgetAutoImports addAutoImportaddHdr addImported addLangExtaddTrans addErrRevtotcheckdefer_totcheckclear_totchecksetFlags setFnInfosetAccessibility setTotality getTotalitygetCoercionsToaddToCG addTyInferredaddTyInfConstraints isTyInferredaddFunctionErrorHandlersgetFunctionErrorHandlers getAllNamesallNames addCoercion addDocStr addNameHint getNameHints addToCalledG addInstanceaddClassaddIBCclearIBC resetNameIdx addNameIdx addNameIdx'getHdrs getImported setErrSpanclearErrgetSOsetSO getIState putIState withContext withContext_runIOgetNameaddInternalAppgetInternalApp clearOrigPats clearPTypescheckUndefined isUndefined setContext updateContextaddConstraints addDeferredaddDeferredTyCon addDeferred' solveDeferred getUndefined isMetavarNamegetWidthsetWidth renderWidthtype1Doc isetPromptisetLoadedRegion setLogLevel setCmdLine getCmdLine getDumpDefun getDumpCaseslogLevel setErrContext errContext getOptimise setOptimise addOptimiseremoveOptimise setOptLeveluseREPLsetREPL showOrigErrsetShowOrigErr setAutoSolve setNoBanner getNoBannersetQuietgetQuiet setCodegencodegen setOutputTyoutputTy setIdeSlavesetTargetTriple setTargetCPUverbose setVerbose typeInType setTypeInTypecoverage setCoverage setIBCSubDir valIBCSubDir addImportDir setImportDirs allImportDirs setColouriseimpShow setImpShow setColourlogLvl cmdOptTypeiLOGnoErrors setTypeCase expandParams expandParamsDmapsnd getPriority addStatics addToUsingaddUsingConstraints addUsingImplsgetUnboundImplicitsimplicit implicit' implicitise addImplPat addImplBoundaddImplBoundInfaddImpladdImpl'aiFn stripLinearstripUnmatchablemkPApp findStaticstoEither matchClause matchClause' substMatchessubstMatchesShadow substMatchsubstMatchShadowshadow mkUniqueNamesPrimp_namep_typep_arityp_defp_lexpp_total primitives debindAppdesugarexpandDovarunIdiomdebind Optimisable applyOptsprelapplyDataOptRT inlineDef inlineTerm transformPatstransformPatsWithapplyTransRulesapplyTransRulesWith isAproposapropostextIndefType errReversebugaddrdelabdelabMVdelabTydelab'delabTy' pprintDelab pprintDelabTy pprintErr fancifyAnnotspe_apppe_def pe_clauses pe_simple PEArgTypeUnifiedD ExplicitD ExplicitS ImplicitD ImplicitS partial_evalspecType mkPE_TyDecl mkPE_TermDecl getSpecAppsDocsClassDocDataDocFunDocFD pprintDocsgetDocspprintConstDocsextractUnquoteswhoCallscallsWhocodegenCJSTarget JavaScriptNodecodegenJavaScript codegenNodepshowiWarniRenderconsoleDisplayAnnotatediPrintTermWithTypeiPrintFunTypes iRenderOutput iRenderResultideSlaveReturnWithStatusideSlaveReturnAnnotated iRenderErroriPrintWithStatus iPrintResult iPrintError iputStrLnideslavePutSExpiputGoal warnTotalityprintUndefinedNamesprettyDocumentedIstrenderExternaliucheckshowErrreport idrisCatch setAndReportifailierrortclifttctry getErrSpan warnDisambexecuterecheckCrecheckC_borrowingcheckDef checkAddDefinaccessibleImpsinaccessibleArgs elabCaseBlock checkInferred inferredDiff checkDocs decorateidpbindspbtygetPBtyspsolvepvarsgetFixedInType getFlexInTypegetParamsInType paramNames getUniqueUsedgetStaticNames getStaticsmkStatic mkStaticTy IFileTypeIBCLIDRIDRsrcPathlsrcPathibcPathibcPathWithFallbackibcPathNoFallback findImport findInPathProvidedProvide providerTy getProvidedtrivial proofSearchperformUsageAnalysis mkFieldNamecompilegenerateElabModeERHSELHSETyDeclbuildbuildTCelabpruneAlt pruneByType findInstancestrivial' proofSearch' resolveTCresTC'collectDeferredcase_runTacreflmreifyreifyAppreifyTT reifyTTAppreifyRaw reifyRawApp reifyTTNamereifyTTNameAppreifyTTNamespacereifyTTNameType reifyTTBinderreifyTTBinderApp reifyTTConstreifyTTConstApp reifyArithTy reifyNativeTy reifyIntTy reifyTTUExpreflCallreflectclaimTTreflectQuotePattern reflectQuotereflectNameType reflectNamereflectNameQuotePattern reflectBinderreflectBinderQuotemkListreflectConstant reflectUExp reflectEnvrawBoolrawNilrawConsrawList rawPairTyrawPair reflectCtxt reflectErrelaboratingArgErrwithErrorReflection fromTTMaybe reflErrNamereifyReportPart envTupleTypesolveAll MultiPath GuardednessGuarded UnguardedToplevelmkPatTm genClausesgenAllupdcheckAllCovering checkPositivecalcProd calcTotality checkTotalitycheckDeclTotalitybuildSCGdelazydelazy' buildSCG'checkSizeChange mkMultiPathscheckMP allNothingcollapseNothing noPartialcollapse collapse' elabValBindelabVal elabDocTerms buildTypeelabType elabType' elabPostulate elabTransform elabClauseselabPE checkPossiblepropagateParams findUnique elabClauseelabData elabRecord elabClass elabInstance elabProviderrecinfoelabMain elabPrims elabDeclselabDecl elabDecl'IndentPropertyMonadicParsingIdrisInnerParserrunInnerParser IdrisParser runparsernoDocCommentHereclearParserWarningsreportParserWarningssimpleWhiteSpaceisEoleolsingleLineCommentmultiLineComment docComment whiteSpace stringLiteral charLiteralnaturalintegerfloat idrisStylecharstringlcharsymbolreserved reservedOp identifieriName maybeWithNSname initsEndAtmkNameopCharsoperatorLetteroperatorfileNamelineNum columnNumbindList pushIndent popIndent lastIndentindented indentedBlockindentedBlock1indentedBlockSlookAheadMatches openBlock closeBlock terminatorkeepTerminator notEndApp notEndBlockindentPropHoldsgtPropgtePropeqPropltProplteProp notOpenBraces accessibilityaddAccaccData fixErrorMsgcollectreplCompletionproverCompletion generateDocstabletoTablebinaryprefixbacktick operatorFrontfnNamefixity fixityTypeSynMatchSynBindSynTmallowImp disallowImpfullExpr tryFullExprexpropExprexpr' externalExprsimpleExternalExpr extensions extension internalExprcaseExpr caseOption proofExpr tacticsExpr simpleExpr bracketed bracketed' bracketedExpr modifyConstalt hsimpleExprdisamb noImplicitsapp implicitArg constraintArg quasiquoteunquote recordTypemkTypetypeExprlambda rewriteTermlet_ let_binding quoteGoalpipiOptsconstraintList typeDeclList tyOptDeclListlistExprdoBlockdo_do_altidiomconstantverbatimStringLiteralstatictactic fullTacticrecorddataIdataOptsdata_ constructorsimpleConstructordslcheckDSLoverload searchByType searchPreddefaultScoreFunctionIBCFilever sourcefilesymbols ibc_importsibc_importdirs ibc_implicits ibc_fixes ibc_statics ibc_classes ibc_instancesibc_dsls ibc_datatypes ibc_optimise ibc_syntax ibc_keywordsibc_objsibc_libs ibc_cgflagsibc_dynamic_libsibc_hdrs ibc_access ibc_totalibc_totcheckfail ibc_flags ibc_fninfoibc_cgibc_defsibc_docstringsibc_transforms ibc_errRev ibc_coercions ibc_lineapps ibc_namehintsibc_metainformationibc_errorhandlersibc_function_errorhandlers ibc_metavars ibc_patdefsibc_postulatesibc_parsedSpan ibcVersioninitIBCloadIBCbencodebdecodewriteIBCmkIBCibcprocesstimestampOlder pPostulates pParsedSpan pImportDirspImportspImpspFixespStaticspClasses pInstancespDSLs pDatatypes pOptimisepSyntax pKeywordspObjspLibspCGFlagspDyLibspHdrspPatdefspDefspDocspAccesspFlagspFnInfopTotal pTotCheckErrpCG pCoercionspTranspErrRev pLineApps pNameHintspMetaInformationpErrorHandlerspFunctionErrorHandlers pMetavars safeToEnum moduleHeaderimport_progdecldecl' syntaxDecl addSyntax addReplSyntax syntaxRule syntaxSymfnDeclfnDecl'fnOpts postulateusing_mutual instanceBlock classBlockclass_ instance_ usingDeclList usingDeclpatterncafargExprrhsclausewExpr whereBlockcodegen_ directivepLangExttotalityprovider transform parseExpr parseConst parseTactic parseImportsfindFC fixColour parseProg loadModule loadModule' loadFromIFile loadSource' loadSourceaddHides splitOnLine replaceSplitsgetUniqnameRoot getClausegetProofClausemkWith nameMissing caseSplitAt addClauseFromaddProofClauseFrom addMissingmakeWith doProofSearch makeLemmaprover showProofproverSettingsassumptionNamesproveelabStep dumpStatelifte receiveInputploopparseCmd ModuleTreeMTreemod_pathmod_needsRecheckmod_timemod_depsgetModuleFiles buildTreerepl startServer processNetCmd runClientinitIdeslaveSocket ideslaveStartideslaverunIdeSlaveCommandideSlaveForceTermImplicits splitNameideslaveProcessmkPromptlit processInput resolveProof removeProofeditproofs insertScript showTotal showTotalN displayHelp pprintDefhelphead replSettingsidris loadInputs idrisMainrunMain execScriptgetIdrisUserDataDir getInitScript initScriptgetFilegetBC getOutput getIBCSubDir getImportDir getPkgDirgetPkg getPkgClean getPkgREPL getPkgCheck getPkgMkDoc getPkgTest getCodegen getExecScript getEvalExpr getOutputTygetLanguageExt getTriplegetCPU getOptLevelgetOptimisation getColour getClientgetPortopt defaultPortbannerwarranty runArgParser pureArgParserparser parseFlags parseVersion preProcOpts parseCodegenbuildPkgcheckPkgreplPkgcleanPkg documentPkgtestPkg installPkg buildModstestLibrmIBC toIBCFile installIBC installObjmkDirCmdmake$fShowJSAnnotationlistenOnLocalhostlistenOnLocalhostAnyPortgitHashbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getLibexecDir getSysconfDirdecompressEither $fShowCmdArgmkColourbindTC$fAlternativeTC'$fApplicativeTC'$fMonadPlusTC' $fMonadTC'throwIO mvnCommandextraLibgmpLib extraIncludePrettyprettySizedsize nestingSize $fSized[] $fSized(,)annotated-wl-pprint-0.5.3!Text.PrettyPrint.Annotated.LeijenhPutDocputDocdisplayDecorated displaySpans displayIOdisplayS renderCompact renderPretty noAnnotateannotategroupnestingcolumnnest linebreaklinetextemptyalignhangwidth fillBreakrationaldoubleintboolpipeequals backslashdotspacecommacolonsemidquotesquoterbracketlbracketrbracelbraceranglelanglerparenlparenenclosebracketsanglesparensbracesdquotessquotes softbreaksoftline<$$><$><+><>vcathcatfillCatcatvsephsepfillSepsep punctuate encloseSep semiBracestupledlistDocSpanListSEmptySCharSTextSLine SAnnotStart SAnnotStop SimpleDoc$fEqFC $fShowConst$fShowTT$fEqTT $fPrettyTTo $fSizedTT $fTermSizeTT $fTermSize[] $fEqNameType $fPrettyNameTypeOutputAnnotation$fSizedNameType$fShowUConstraint $fShowUExp $fBinaryUExp $fSizedUExp $fSizedBinder$fPrettyRawOutputAnnotation $fSizedRaw$fShowUniverse$fPrettyConstOutputAnnotation $fSizedConst$fPrettyArithTyOutputAnnotation $fPrettyNativeTyOutputAnnotation$fShowSpecialName $fShowName$fPretty[]OutputAnnotation$fPrettyNameOutputAnnotation $fSizedName $fShowTC'$fPrettyTC'OutputAnnotation $fErrorErr'$fPrettyErr'OutputAnnotation $fShowErr' $fSizedErr'$fSizedErrorReportPart$fShowFC $fSizedFC$fEqFC'GroupConGroupConTypeCConstCSucCFnCName PartitionVarsConsPatPTyPatPAny PReflectedPSucPVPConstPCon CaseBuilderCSClause directUsefindAllUsedArgsisUsedrunCaseBuildercheckSameTypes isConstTypetoPatstoPatisVarPatisConPat partitionordermatchmixtureconRule caseGroups argsToAltgetVar groupConsvarRuledepattprune stripLambdas$fTermSizeCaseAlt' $fTermSizeSC' $fShowSC'$fNFDataCaseAlt' $fNFDataSC' $fNFDataTT$fNFDataNameType $fNFDataUExp$fNFDataBinder $fNFDataErr' $fNFDataFC $fNFDataRaw$fNFDataSpecialName $fNFDataNameeval MkContextEvalOptRunTTAtREPL EvalStatelimitednexthole finalEntrybindEnv unbindEnvusablefnCountdeduct reinstatewknVisUsableUniversespecvevaltfst$fShowTotality $fShowDef $fQuoteValue $fEqValue $fShow(->) $fShowValue RelationsmkRelsacyclicPTpath subterm_envsubtermupdates BinderPathGuessVGuessTLetVLetTTermPathInScopeInBindAppRAppLTop replaceTop rebuildTerm rebuildBinderfindHolerefocus'samehole updateEnvupdateSolvedPath cantUnifyUResultUFailUPartOKUOKUInfoUIInjs renameBindersrenameBindersTm trimSolutions expandLetshasvboundVshighVenvPos recoverableholeInpatIn RunTacticTStateholeName match_unify'mergeSolutionsunify' dropUntilactionqueryaddLogmkPtmap solve_unified updateErrorsolveInProblemsmergeNotunifiedupdateNotunifiedupdateProblems"$fPrettyProofStateOutputAnnotation$fShowProofState $fShowLExpInlinesBlocksoptions renderBlocks renderBlock renderList renderInlines renderInlineLineTypeCommBlankProgulLinechkAdj $fShowDExphvarldefssVarmkappmkfappsAltlvar scopecheck $fSizedPTerm $fShowDoc$fPrettyPTermOutputAnnotation $fShowPData'$fShowPClause' $fShowPDecl' $fShowPTerm $fSizedPArg' $fSizedPDo'$fSizedPTactic' $fOrdFixDecl $fShowFixDecl $fShowFixity $fShowIState$fNFDataSyntaxInfo $fNFDataUsing$fNFDataSSymbol$fNFDataSyntax$fNFDataSynContext $fNFDataDSL'$fNFDataTypeInfo$fNFDataOptInfo$fNFDataClassInfo $fNFDataPArg' $fNFDataPDo'$fNFDataErrorReportPart$fNFDataPTactic' $fNFDataPTerm$fNFDataPData'$fNFDataPClause'$fNFDataPunInfo$fNFDataProvideWhat'$fNFDataPDecl'$fNFDataDataOpt $fNFDataFnOpt$fNFDataPlicity$fNFDataArgOpt$fNFDataStatic$fNFDataFixDecl$fNFDataFixity$fNFDataCGInfo$fNFDataSizeChange$fNFDataArithTy$fNFDataNativeTy $fNFDataIntTy$fNFDataNumWrapper$fNFDataCodeAttr$fNFDataListType$fNFDataInline $fNFDataBlock$fNFDataOptions$fNFDataDocstring$fCategoryField $fBinaryTT$fBinaryNameType$fBinaryUniverse$fBinaryBinder $fBinaryRaw $fBinaryConst$fBinarySpecialName $fBinaryText $fBinaryName $fBinaryFC $fBinaryErr'$fBinaryErrorReportPart sExpToString maybePropsconstTy encodeTerm decodeTerm encodeErr decodeErrescapepSExpatomatomC quotedChar parseSExp receiveString getHexLength $fSExpableFC$fSExpableOutputAnnotation$fSExpableNameOutput$fSExpable(,,,,)$fSExpable(,,,)$fSExpable(,,) $fSExpable(,) $fSExpable[]$fSExpableMaybe$fSExpableName $fSExpableInt$fSExpableInteger $fSExpable[]0$fSExpableBool$fSExpableSExp$fMonadEitherErr$fApplicativeEitherErrtytotalpartial iopartialvecTypesintOpsintSCmpsintCmpsintArithintConvvecCmpsvecOps bitcastPrim vecBitcastsfixedOpsmapHalf mapDouble concatWord8 concatWord16 concatWord32 truncWord16 truncWord32 truncWord64 bitcastVecmkVecCon mkVecIndex mkVecUpdateaTyNameiCmpiBinOpiUnOpiCoercefBinbfBinbcBinbsBinsBinbsrembsdivbashrbUnbitBinbCmpcmpOpsCmpOptoIntintToIntzextsexttruncintToStrgetIntstrToInt intToFloat floatToInt c_intToChar c_charToInt c_negFloat c_floatToStr c_strToFloatp_fPrim p_floatExp p_floatLog p_floatSin p_floatCos p_floatTan p_floatASin p_floatACos p_floatATan p_floatSqrt p_floatFloor p_floatCeilp_strLen p_strHead p_strTail p_strIndex p_strConsp_strRev p_allocatep_appendBufferp_appendp_peek p_cantreduce$fOptimisableTT$fOptimisableBinder$fOptimisableBinder0$fOptimisableRaw$fOptimisableEither$fOptimisable[]$fOptimisable(,,)$fOptimisable(,)applyAll applyFnRules applyRule matchTerm $fApropos[]$fAproposMaybe $fApropos(,)$fAproposDocstring$fAproposConst $fAproposTT$fAproposBinder $fAproposDef $fAproposName errorIndent pprintTerm pprintTerm' pprintErr' renameMNsaddImplicitDiffsisUNannNameannName'annTmshowScshowqual showbasicPEDeclclassConstraint concreteClass mkNewPatsshowDocpprintFDdocDatadocClassdocFun getPArgNamesextract1extract2extractTUnquotesextractPArgUnquotesextractDoUnquotesoccursnames occursBinder namesBinderoccursSCnamesSC occursCaseAlt namesCaseAlt occursDefnamesDef findOccurs codegenC'headersdebuggccFlagsgccDbgcnamecregtoDecltoCshowCStrbccc_irtsirts_cbitOp bitCoercesignedTydoOpflUnOp CompileInfocompileInfoApplyCasescompileInfoEvalCasescompileInfoNeedsBigIntinitCompileInfo codegenJS_alloptimizeConstructorscollectSplitFunctions splitFunction translateDecl jsFUNPRELUDEjsALLOCMYOLDBASE translateRegtranslateConstant translateChar translateNamejsASSIGN jsASSIGNCONSTjsCALL jsTAILCALL jsFOREIGNjsREBASE jsSTOREOLDjsADDTOP jsTOPBASE jsBASETOPjsNULLjsERRORjsSLIDEjsMKCONjsCASE jsCONSTCASE jsPROJECTjsOP jsRESERVEjsSTACK jsCALLSTACK jsSTACKBASE jsSTACKTOP jsOLDBASE jsMYOLDBASEjsRETjsLOCjsTOPjsPUSHjsPOP translateBCioretermodprmod cantSolveGoalVarInfoVIviDepsviFunArgviMethodCondDepSetReasonDepsArgResultUseMap minimalUsage forwardChain buildDepMap $fShowArgirMainmkDecls showCaseTreesisCondeclArgsmkLDeclirTerm doForeignirTreeirSCirAltEliminatorStateelabCon elabCaseFunMArgTyCAEAIA$fTokenParsingStateT TacticArgNameTArg tacticArgs nameString completeCmdAltsTArgExprTArgfst3commandstacticsmetavarsmodules completeWith completeName completeExprcompleteMetaVarcompleteOptioncompleteConsoleWidth isWhitespace lookupInHelpcompleteColourcompleteTacticNsDictNsInfoNsItemNsNameFailableerrtoNsNamegetNs rootNsStr nsName2Str fetchInfo removeOrphans filterName filterIncludetraceNss referredNssnsDict getAccesshasDoc mayHaveDocsloadDocsextractPTermNamesextract extractPArg extractPDoextractPTactic createDocs createIndex createNsDoc genRelNsPath genTypeHeader createFunDoccreateOtherDocwrappernbspexistingNamespacescopyDependenciesbaseGHC.Base. GHC.Float** Data.List\\ integer-gmpGHC.Integer.TypeIntegerghc-prim GHC.TypesIntCharFloatStringparsers-0.12.1.1Text.Parser.Combinators mtl-2.1.3.1Control.Monad.State.ClassstateStateargsAndClasses usedNamesClassesArgsDAGSidedAsymMods searchUsing reverseDag computeDagPusedVars deleteFromDagbothsubsetsmatchTypesBulkScore transposition equalityFlipsasymModsleftrightModsargApp typeClassApptypeClassIntro typeFromDefdeleteFromArgListsided displayScorescoreCriterion modifyTypesfindNameInArgsDAGfindName deleteName tcToMaybeinArgTystypeclassUnifyisTypeClassArgflipEqualities $fOrdScore $fMonoidScore$fMonoidAsymMods $fMonoidSided$fBinaryCodegen$fBinarySSymbol $fBinaryDSL'$fBinarySyntax$fBinarySynContext$fBinaryTypeInfo$fBinaryFnInfo$fBinaryOptInfo$fBinaryClassInfo $fBinaryPArg' $fBinaryPDo'$fBinaryPTactic' $fBinaryPTerm$fBinaryPunInfo$fBinaryPData'$fBinaryPClause'$fBinarySyntaxInfo $fBinaryUsing$fBinaryPDecl'$fBinaryPlicity$fBinaryStatic$fBinaryArgOpt$fBinaryFixDecl$fBinaryFixity $fBinaryFnOpt$fBinaryDataOpt$fBinaryIBCFile$fBinaryMetaInformation$fBinaryTotality$fBinaryPReason$fBinaryAccessibility $fBinaryDef$fBinaryCaseInfo$fBinaryCaseDefs$fBinaryCaseAlt' $fBinarySC'$fBinaryCaseType$fBinaryCGInfo$fBinarySizeChange$fBinaryNumWrapper$fBinaryCodeAttr$fBinaryListType$fBinaryInline $fBinaryBlock$fBinaryDocTerm$fBinaryOptions$fBinaryDocstring MergeStateMSnamemapinventedsplit addUpdate inventNamemkSupplyvarliststripNS mergeAllPatsmergePat mergeUserImplargTystidy elabNewPatfindPats replaceVar updateMeta checkProv addBracketpCmdcmdnoArgsexprArg fnNameArgnameArgstrArgoptArgproofArgcmd_doccmd_consolewidth cmd_dynamic cmd_pprint cmd_module cmd_compile cmd_addproofcmd_logcmd_let cmd_unlet cmd_loadto cmd_colour cmd_searchcmd_proofsearch cmd_refinelatest getIModTimePkgDescpkgnamelibdepsobjsmakefile idris_opts sourcedir idris_mainexecout idris_testsPParser defaultPkg parseDescpPkgpClause