-O)8      !"#$%&'()*+,-./01234567 Safe-Infered=Token type, used to communicate between the lexer and parser  The cursor'!s location while lexing the text GConvert a text representation of an expression into a stream of tokens C keeps track of position and returns the remainder of the input if  lexing fails.  8     8 Safe-Infered.A structured type error that includes context The specific type error  Bound variables and their types Earlier (s shadow later matching (s Syntax tree for expressions  App f a ~ f a !  Pi x A B ~ "(x : A) ! B  Pi unused A B ~ A ! B "  Lam x A b ~ (x : A) ! b #  Var (V x 0) ~ x  Var (V x n) ~ x@n $  Const c ~ c %,Constants for the calculus of constructions The only axiom is:   " * : % '... and all four rule pairs are valid:  " * ! * : *  " % ! * : *  " * ! % : %  " % ! % : % (Label for a bound variable The 9 field is the variable's name. The :C field disambiguates variables with the same name. Zero is a good C default. Non-zero values will appear as a numeric suffix when  pretty-printing the (. *2Type-check an expression and return the expression's type if type-checking / suceeds or an error if type-checking fails *B does not necessarily normalize the type since full normalization M is not necessary for just type-checking. If you actually care about the ' returned type then you may want to , it afterwards. ++ is the same as *) with an empty context, meaning that the P expression must be closed (i.e. no free variables), otherwise type-checking  will fail. ,LReduce an expression to its normal form, performing both beta reduction and  eta reduction ,A does not type-check the expression. You may want to type-check K expressions before normalizing them since normalization can convert an 7 ill-typed expression into a well-typed expression. -Pretty-print an expression 2The result is a syntactically valid Morte program .Pretty-print a type error $ !"#$%&'()*+,-.;<=>?@A !"#$%&'()*+,-.()%'&$#"! *+,-.$#"! %'&()*+,-.;<=>?@ANone/#Structured type for parsing errors 3The specific parsing error 4,Parsing failed, returning the invalid token 53Lexing failed, returning the remainder of the text 6 Parse an  from 9 or return a / if parsing fails 7Pretty-print a / /01234567B /01234567 67/012354/01235467B Safe-InferedC      !"#$ %&''  &()*+,-../0123456789:;<=>?@ABCDE morte-1.0.1 Morte.Lexer Morte.Core Morte.ParserMorte.TutorialTokenEOFNumberLabelPiLambdaArrowBoxStarAtColon CloseParen OpenParenPositionPlineNocolumnNolexExpr TypeErrorcontextcurrent typeMessage TypeMessageUntyped TypeMismatch NotAFunctionInvalidOutputTypeInvalidInputTypeUnboundVariableContextExprAppLamVarConstVtypeWithtypeOf normalize prettyExprprettyTypeError ParseErrorposition parseMessage ParseMessageParsingLexing exprFromTextprettyParseError$fFunctorAlexLastAcc text-0.11.2.0Data.Text.Lazy.InternalTextghc-prim GHC.TypesInt$fExceptionTypeError$fIsStringExpr $fBinaryExpr$fEqExpr $fBinaryConst $fIsStringVar $fBinaryVar$fErrorParseMessage