>3r8      !"#$%&'()*+,-./01234567None=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. L89:;<=>?@ABCDEFGH IJKLM NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq   -89=<;:>A@?BFEDCGH IJKLM NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq Safe-Inferred.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) "  Lam 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:  (Label for a bound variable The r field is the variable's name. The sC 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 (. t(Render a pretty-printed expression as a u v<Find all free variables with a given label and return their ss LUse this to generate a new variable which does not clash with existing free  variables w<Substitute all occurrences of a variable with an expression  subst x C B ~ B[x := C] *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. x.Reduce an expression to weak-head normal form y4Returns whether a variable is free in an expression ,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 / !"#$%&'()z{|}t~vw*+xy,-. !"#$%&'()*+,-.()%'&$#"! *+,-.$#"! %'&()z{|}t~vw*+xy,-.None/#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 r or return a / if parsing fails 7Pretty-print a / _/01234567 /01234567 67/012354V/01235467 Safe-Inferred      !"#$ %&''  &()*+,-../012345678697:;:<=>?@ABCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrlstuvwxyz{|}~ morte-1.0.0 Morte.Lexer Morte.Core Morte.ParserMorte.TutorialTokenEOFNumberLabelPiLambdaArrowBoxStarAtColon CloseParen OpenParenPositionPlineNocolumnNolexExpr TypeErrorcontextcurrent typeMessage TypeMessageUntyped TypeMismatch NotAFunctionInvalidOutputTypeInvalidInputTypeUnboundVariableContextExprAppLamVarConstVtypeWithtypeOf normalize prettyExprprettyTypeError ParseErrorposition parseMessage ParseMessageParsingLexing exprFromTextprettyParseError AlexAccPredAlexAccAlexAccSkipPred AlexAccSkip AlexLastAcc AlexLastSkipAlexNone AlexReturn AlexTokenAlexSkip AlexErrorAlexEOFAlexAddrAlexA# AlexInputprevChar currBytes currInput alex_base alex_table alex_check alex_deflt alex_accepttoIntencodelinecolumn alexGetBytealexInputPrevChar alex_action_1 alex_action_3 alex_action_4 alex_action_5 alex_action_6 alex_action_7 alex_action_8 alex_action_9alex_action_10alex_action_11alex_action_12alex_action_13alexIndexInt16OffAddralexIndexInt32OffAddr quickIndexalexScan alexScanUser alex_scan_tkn alexAndPredalexPrevCharIsalexPrevCharMatchesalexPrevCharIsOneOfalexRightContextiUnbox$fFunctorAlexLastAcc text-1.2.0.0Data.Text.Internal.LazyTextghc-prim GHC.TypesInt buildExprData.Text.Internal.BuilderBuilderfreeOfsubstwhnffreeInaxiomrule buildConstbuildVarbuildTypeMessagebuildTypeError$fExceptionTypeError$fIsStringExpr $fBinaryExpr$fEqExpr $fBinaryConst $fIsStringVar $fBinaryVar HappyAddrHappyA#HappyStk Happy_IntList HappyConsLexStatusHappyAny HappyAbsSynhappyIn4 happyOut4happyIn5 happyOut5happyIn6 happyOut6happyIn7 happyOut7 happyInTok happyOutTokhappyActOffsetshappyGotoOffsetshappyDefActions happyCheck happyTablehappyReduceArr happy_n_termshappy_n_nonterms happyReduce_1happyReduction_1 happyReduce_2happyReduction_2 happyReduce_3happyReduction_3 happyReduce_4happyReduction_4 happyReduce_5happyReduction_5 happyReduce_6happyReduction_6 happyReduce_7happyReduction_7 happyReduce_8happyReduction_8 happyReduce_9happyReduction_9happyReduce_10happyReduction_10happyReduce_11happyReduction_11happyReduce_12happyReduction_12 happyNewToken happyError_ happyThen happyReturn happyThen1 happyReturn1 happyError' parseExprhappySeq generalizelexer parseError happyParse happyAccept happyDoActionindexShortOffAddr happyShifthappySpecReduce_0happySpecReduce_1happySpecReduce_2happySpecReduce_3 happyReducehappyMonadReducehappyMonad2Reduce happyDrop happyDropStk happyGoto happyFail notHappyAtAll happyTcHack happyDoSeq happyDontSeq$fErrorParseMessage