pJL      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK Satoshi EgiMITNone +357>CFLAFor memoizationd  !"#$%&'()*+,LM-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NOPQRSTUVWXYZ[\]^_`abcdefghijklmno     pqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     }~xyz{|opqrstuvwTUVWXYZ[\]^_`abcdefghijklmnRSPQNOKLMIJGHFEBCD>?@A;<=3456789:012-./+,*)(%&'#$ !"           !"#$%&'()*+,LM-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4NOPQRSTUVWXYZ[\]^_`abcdefghijklmno     pqrstuvwxyz{|}~ Satoshi EgiMITNone35CSafe   Satoshi EgiMITNoneF$Load a libary file% Load a file !"#$%      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg  !"#$%  !"#$% !"#$%      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg Satoshi EgiMITNone F6hijk&'()l*+,-./01mnopqr23stuvwxyz{|}~456789&'()*+,-./0123456789&'()*+,-./01234567893hijk&'()l*+,-./01mnopqr23stuvwxyz{|}~456789 Satoshi EgiMITNone4R:;:;:;R:; Satoshi EgiMITNone <Version number=eval an Egison expression>eval an Egison top expression?eval Egison top expressions@8eval Egison top expressions and execute test expressionsA5eval an Egison expression. Input is a Haskell string.B9eval an Egison top expression. Input is a Haskell string.C7eval Egison top expressions. Input is a Haskell string.DBeval Egison top expressions without IO. Input is a Haskell string.Eload an Egison fileFload an Egison libraryG(Environment that contains core librariesH>Environment that contains core libraries without IO primitives<=>?@ABCDEFGH0  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%:;<=>?@ABCDEFGH =>?@ABCDFEGH<<=>?@ABCDEFGH Satoshi EgiMITNoneIEGet Egison expression from the prompt. We can handle multiline input.JEGet Egison expression from the prompt. We can handle multiline input.KComplete Egison keywordsIJKIJKIJKIJK      !"#$$%&'()*+,-./00123456789:;<=>?7@ABCDEFGHIJJKLMNOPQRSTUVWXYZTK[\]^_`abcdefghHijklmnopqrstuvwxyz{||}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~egiso_1OoMmPHNnut2Z8dVqGkkrvLanguage.Egison.TypesLanguage.Egison.DesugarLanguage.Egison.ParserLanguage.Egison.CoreLanguage.Egison.PrimitivesLanguage.EgisonLanguage.Egison.Util Paths_egisonMListMNilMConsMatchM MonadFreshfreshFreshFreshTunFreshTEgisonM unEgisonM EgisonErrorUnboundVariable TypeMismatchArgumentsNumWithNamesArgumentsNumPrimitive ArgumentsNumInconsistentTensorSizeInconsistentTensorIndexTensorIndexOutOfBoundsNotImplemented AssertionMatchParserDesugar EgisonBugDefaultLoopPatContextPatternBinding MatchingTreeMAtomMNode MatchingStateMStatePMModeBFSModeDFSModeBindingVarEnv EgisonWHNFtoWHNFfromWHNFInnerIElementISubCollection IntermediateIInductiveDataITuple ICollectionIArrayIIntHash ICharHashIStrHashWHNFDataValueObjectThunkWHNF ObjectRef EgisonDatatoEgison fromEgison PrimitiveFuncMatcherTensor TensorDataTData SymbolExprSymbolApplyTermExprTermPolyExprPlus ScalarDataDiv EgisonValueWorldCharStringBoolFloat InductiveDataTuple CollectionArrayIntHashCharHashStrHash UserMatcherFuncCFunc MemoizedFuncMacro PatternFuncIOFuncPort Something UndefinedEOFPrimitiveDataPattern PDWildCardPDPatVarPDInductivePat PDTuplePat PDEmptyPat PDConsPat PDSnocPat PDConstantPatPrimitivePatPattern PPWildCardPPPatVar PPValuePatPPInductivePat LoopRange EgisonPatternWildCardPatVarValuePatRegexPatPredPat IndexedPatLetPatNotPatAndPatOrPat OrderedOrPatTuplePat InductivePatLoopPatContPat PApplyPat DApplyPatVarPat MatcherInfo MatchClause BindingExpr InnerExpr ElementExprSubCollectionExpr EgisonExprCharExpr StringExprBoolExpr IntegerExpr FloatExprVarExpr IndexedExpr PowerExprInductiveDataExpr TupleExprCollectionExpr ArrayExprHashExpr TensorExpr LambdaExprMemoizedLambdaExpr MemoizeExpr CambdaExpr MacroExprPatternFunctionExprIfExpr LetRecExprLetExpr LetStarExpr MatchExpr MatchAllExprMatchLambdaExprMatchAllLambdaExpr NextMatchExprNextMatchAllExprNextMatchLambdaExprNextMatchAllLambdaExprMatcherBFSExprMatcherDFSExprAlgebraicDataMatcherExprDoExprIoExprSeqExpr ApplyExpr CApplyExpr PartialExprPartialVarExpr RecVarExprGenerateArrayExprArrayBoundsExpr ArrayRefExprGenerateTensorExprInitTensorExpr TensorMapExprTensorMap2Expr SomethingExpr UndefinedExpr EgisonTopExprDefineTestExecuteLoadFileLoadsymbolScalarDatamathExprToEgisonegisonToScalarDatamathNormalize'mathRemoveZeromathReduceFractionmathReduceSymbolFractionmathFoldmathSymbolFold mathTermFoldmathPlusmathMult mathNegate mathNumeratormathDenominatorscalarToUnitTensorscalarToTensor makeTensor tensorIndicestMaptMap2 tContract tCheckIndextref'treftSizetToListtIndexshowTSVnullEnv extendEnvrefVarpmMode liftError runEgisonM liftEgisonM fromEgisonM runFreshT matchFailfromListfromSeq fromMList msingletonmfoldrmappendmconcatmmapmforisBoolisBool' isInteger isInteger' isRational isRational'isSymbolisNumber isNumber'isTensor isTensor'isTensorWithIndexisTensorWithIndex'isFloat' isComplex'isChar' isString' isCollection'isArray'isHash'DesugarM runDesugarMdesugarTopExpr desugarExprdesugar readTopExprs readTopExpr readExprsreadExpr parseTopExprs parseTopExpr parseExprs parseExprloadLibraryFileloadFile evalTopExprsevalTopExprsTestOnlyevalTopExprsNoIO evalTopExprevalExpr evalExprDeepevalRef evalRefDeepevalWHNF applyFuncrefArray arrayBounds recursiveBind patternMatchisEmptyCollectionunconsCollectionunsnocCollection tupleToListcollectionToListpackStringValue primitiveEnvprimitiveEnvNoIOversionevalEgisonExprevalEgisonTopExprevalEgisonTopExprsevalEgisonTopExprsTestOnly runEgisonExprrunEgisonTopExprrunEgisonTopExprsrunEgisonTopExprsNoIOloadEgisonFileloadEgisonLibrary initialEnvinitialEnvNoIO getEgisonExprgetEgisonExprOrNewLinecompleteEgison EgisonObjecttoObjectpolyExprToEgisontermExprToEgisonsymbolExprToEgisonegisonToPolyExpregisonToTermExpregisonToSymbolExprmathRemoveZeroSymbol mathPlusPoly mathMultPoly mathNegate'tSum transIndexshowPoweredSymbol showComplexshowComplexFloatunwords' fromCharValuefromStringValue fromBoolValuefromIntegerValuefromRationalValuefromFloatValue fromPortValue fromCharWHNFfromStringWHNF fromBoolWHNFfromIntegerWHNF fromFloatWHNF fromPortWHNFcounter readCounter updateCounter modifyCounterrunFresh $fShowMList$fMonadIOFreshT$fMonadFreshWriterT$fMonadFreshReaderT$fMonadFreshErrorT$fMonadFreshStateT$fMonadStatesFreshT$fMonadErroreFreshT$fMonadFreshFreshT$fErrorEgisonError$fExceptionEgisonError$fShowEgisonError$fEgisonWHNFHandle$fEgisonWHNFDouble$fEgisonWHNFInteger$fEgisonWHNFBool$fEgisonWHNFText$fEgisonWHNFChar $fShowIORef $fShowObject$fShowWHNFData$fEgisonData(,,,)$fEgisonData(,,)$fEgisonData(,)$fEgisonData()$fEgisonData[]$fEgisonDataHandle$fEgisonDataDouble$fEgisonDataRatio$fEgisonDataInteger$fEgisonDataBool$fEgisonDataText$fEgisonDataChar$fEqEgisonValue $fShowTensor$fShowTensorData$fShowSymbolExpr$fShowTermExpr$fShowPolyExpr$fShowScalarData$fShowEgisonValue unDesugarMSubstdesugarPatterndesugarPattern'desugarLoopRangedesugarBindingdesugarBindingsdesugarMatchClausedesugarMatchClausesdesugarMatcherInfo desugarPrimitiveDataMatchClausescatchIObindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamedoParsetopExpr defineExprtestExpr executeExpr loadFileExprloadExprexprsexprexpr'varExprinductiveDataExpr tupleExprcollectionExpr arrayExpr tensorExprhashExpr matchAllExpr matchExprmatchAllLambdaExprmatchLambdaExprnextMatchAllExpr nextMatchExprnextMatchAllLambdaExprnextMatchLambdaExpr matchClauses matchClause matcherExprmatcherBFSExprmatcherDFSExprppMatchClauses ppMatchClausepdMatchClauses pdMatchClause ppPattern ppWildCardppPatVar ppValuePatppInductivePat pdPattern pdPattern'ifExpr lambdaExprmemoizedLambdaExpr memoizeExpr memoizeFramememoizeBinding cambdaExpr macroExprpatternFunctionExpr letRecExprletExpr letStarExprdoExpr statements statementbindingsbindingvarNamesvarNameioExprseqExpr recVarExpr cApplyExpr applyExpr applyExpr' partialExprpartialVarExpralgebraicDataMatcherExprgenerateArrayExpr arrayRangearrayBoundsExpr arrayRefExprgenerateTensorExprinitTensorExpr tensorMapExprtensorMap2Exprpatternpattern' pattern''wildCardpatVarvarPatvaluePatregexPatpredPatletPatnotPattuplePat inductivePatcontPatandPatorPat orderedOrPat pApplyPat dApplyPatloopPat loopRange constantExprcharExpr stringExprboolExpr floatExpr integerExprintegerLiteral'positiveIntegerLiteralpositiveFloatLiteral floatLiteral' egisonDefsymbol1symbol2lexerreservedKeywordsreservedOperatorsreserved reservedOp keywordDefine keywordTestkeywordExecutekeywordLoadFile keywordLoad keywordIf keywordThen keywordElse keywordSeq keywordApply keywordCApply keywordLambdakeywordMemoizedLambdakeywordMemoize keywordCambda keywordMacrokeywordPatternFunction keywordLetRec keywordLetkeywordLetStar keywordLoop keywordContkeywordMatchAllkeywordMatchAllLambda keywordMatchkeywordMatchLambdakeywordNextMatchAllkeywordNextMatchAllLambdakeywordNextMatchkeywordNextMatchLambdakeywordMatcherkeywordMatcherBFSkeywordMatcherDFS keywordDo keywordIokeywordSomethingkeywordUndefinedkeywordAlgebraicDataMatcherkeywordGenerateArraykeywordArrayBoundskeywordArrayRefkeywordGenerateTensorkeywordInitTensorkeywordTensorMapkeywordTensorMap2signsign'naturalLiteralintegerLiteral floatLiteral stringLiteral charLiteral boolLiteral whiteSpaceparensbracketsbracesanglescoloncommadotident upperName upperName' lowerName lowerName' EgisonHashKeyIntKeyCharKeyStrKey evalTopExpr' arrayBounds'newThunk newObjectRefwriteObjectRefnewEvalutedObjectRef makeBindingsprocessMStatesprocessMStates'gatherBindingsextractMatchesprocessMStatesDFSprocessMStatesBFStopMAtom getMatcher processMStateprocessMState'inductiveMatchprimitivePatPatternMatchprimitiveDataPatternMatchexpandCollectionextendEnvForNonLinearPatternsevalMatcherWHNF toListPat fromTuplefromTupleValuefromCollection makeTupleextractPrimitiveValueisPrimitiveValuenoArgoneArgtwoArgs threeArgs constants primitivesrationalUnaryOprationalBinaryOprationalBinaryPredintegerBinaryOpintegerBinaryPred floatUnaryOp floatBinaryOpfloatBinaryPred numberUnaryOpnumberBinaryOpplusminusmultiplydivide numerator' denominator'fromScalarData toScalarDataeqltltegtgte truncate'realPart imaginaryPart tensorProd tensorIndex tensorSize tensorToListnumberToFloat'integerToFloatrationalToFloat charToInteger integerToCharfloatToIntegerOppackunpack unconsString lengthString appendString splitString regexStringregexStringCaptureGroup readProcess'read'readTSVshow'showTSV'isEmpty'uncons'unsnoc'assert assertEqual ioPrimitivesmakeIOmakeIO'return'makePort closePort writeCharwriteCharToPort writeStringwriteStringToPort flushStdout flushPortreadCharreadCharFromPortreadLinereadLineFromPort readFile' isEOFStdin isEOFPort randRange coreLibrariesgetEgisonExpr'getEgisonExprOrNewLine'completeAfterOpenParencompleteAfterOpenConscompleteNothingcompleteEgisonKeywordegisonPrimitivesAfterOpenParenegisonKeywordsAfterOpenParenegisonKeywordsAfterOpenConsegisonKeywordsInNeutralegisonKeywords completeParen closeParenremoveCharAndStringLiteralremoveCharAndStringLiteral' closeParen'