h$:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                      None konekoIs the string an identifier?NB: only partially checks whether it is a *valid* identifier (i.e. whether it is not e.g. "nil"). :set -XOverloadedStringsisIdent "nil" -- OOPSTrue isIdent ""False isIdent "42"FalseisIdent "foo-bar'"TrueisIdent "[ж]"TrueisIdent "'foo"FalseisIdent "@$%^&*!"True isIdent "["False isIdent "]"False isIdent "x]"True isIdent "x["False isIdent "x:"FalsekonekoNB: also matches float and int  None #$%38:> Wlkonekounexpected value during evalmkonekoblock w/o scope during evalpkonekoident lookup failedqkonekostack was emptykoneko+NB: returns popped items in "reverse" order s = emptyStack `push` 1 `push` 2fst <$> pop' s :: IO Integer2(fst <$> pop2' s :: IO (Integer, Integer)(1,2)stack: ... 1 2 <- topkoneko+NB: returns popped items in "reverse" order)s = emptyStack `push` 1 `push` 2 `push` 31fst <$> pop3' s :: IO (Integer, Integer, Integer)(1,2,3)stack: ... 1 2 3 <- top !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abdcefghij}klmnopqrstuvwxyz{|~j}klmnopqrstuvwxyz{|~ghiefabdc^_`[\]VWXYZQRSTULMNOPHIJKEFGCD?@AB=>6789:;<)*+,-./012345 !"#$%&'(None None )None KNone mNone #$ Safe-Inferred  Safe-Inferred None #$. None Y None #$ None konekoNB: when an exception is caught during the evaluation of a line, the exeption is printed and the repl continues with the stack reset to what it was before that line; however, any definitions that were added to a module before the exception occurred will have taken effect.None #$   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF;GHIJKLMNOOPQRSTUVWWXYZZ[\]^^_`abbcdeffghhijjklmnoopqrstuvwxyz{|}~                      "koneko-0.0.2-83yCJUTvCgkNrPx5HFN9s Koneko.Misc Koneko.Data Koneko.Math Koneko.JSON Koneko.IO Koneko.Prld Koneko.Read Koneko_utils Paths_koneko Koneko.Prim Koneko.Bltn Koneko.Eval Koneko.Repl Koneko.Test'megaparsec-8.0.0-BJBncJf86olIw6b8kHkxZxText.Megaparsec parseMaybeParserisIdentpIdentpIdent_pIntpFloatisSpaceOrCommalexemesymbolspeofspsp1spaceOrCommentprompt firstJustFromValfromValToValtoValCmpcmpStackKTypeTNilTBoolTIntTFloatTStrTKwdTPairTListTDictTIdentTQuotTBlockTBuiltinTMultiTRecordTTRecordTThunkKValueKPrimKPairKListKDictKIdentKQuotKBlockKBuiltinKMultiKRecordTKRecordKThunkKNilKBoolKIntKFloatKStrKKwdContextctxScopeScopemodNametableThunkrunThunkRecordrecType recValuesRecordTrecName recFieldsMultimltAritymltNamemltTableBuiltinbiPrimbiNamebiRunBlock blkParamsblkCodeblkScopeDictunDictListunListPairkeyvalueIdentunIdentKwdunKwd KException ParseErrorEvalUnexpectedEvalScopelessBlockModuleNameErrorModuleLoadError NameErrorStackUnderflowExpectedMultiMatchFailedUncomparableTypeUncomparableTypesUncallableTypeUnapplicableType UnknownField EmptyList IndexErrorKeyError RangeError DivideByZero InvalidRxFailNotImplementedArgs EvaluatorModule Identifier stackExpected applyMissingexpected unexpected exceptionInfoidentrecordthunkfreeVars escapeFromescapeTotoValsfromVals maybeToVal eitherToValtoJSONfromJSON emptyStackpush'pushrpushrpush1pop_poppop2pop3pop4pop_'pop'pop2'pop3'pop4'popN'pop1pushpop2push pop1push1 pop2push1 primModule bltnModule prldModule mainModuleinitMainContextinitMain initModule forkContext forkScopedefineIn defineIn'importIn importFromInlookup lookupModule' moduleKeys moduleNames typeNames typeOfPrimtypeOf typeToKwd typeToStr typeAsStrisNilisBoolisIntisFloatisStrisKwdisPairisListisDictisQuotisBlock isBuiltinisMulti isRecordTisRecordisThunk isCallable isFunctionnilfalsetrueboolintfloatstrkwdpairlistdictblock dictLookupmkPrimmkBltndefPrimdefMultitruthy retOrThrow recordTypeSig underscored digitParamsunKwds recordToPairs$fShowEExpected$fShowKException$fExceptionKException $fShowKwd $fShowIdent $fShowRecordT $fShowKPrim $fShowKType $fShowKValue $fShowRecord $fShowMulti $fShowBuiltin $fShowBlock $fShowDict $fShowList $fShowPair $fOrdThunk $fOrdMulti $fOrdBuiltin $fOrdBlock $fEqThunk $fEqMulti $fEqBuiltin $fEqBlock $fNFDataScope $fNFDataThunk $fNFDataMulti$fNFDataBuiltin$fCmp[] $fCmpKValue $fCmpKPrim $fToValEither $fToValMaybe $fToValKValue$fToValBuiltin $fToValBlock $fToValDict $fToVal[] $fToVal[]0 $fToValPair $fToValKwd $fToValText $fToValDouble$fToValInteger $fToValBool $fToVal()$fFromValEither$fFromValMaybe$fFromValKValue$fFromValRecordT$fFromValRecord$fFromValBlock $fFromValDict $fFromVal[] $fFromValPair $fFromValKwd $fFromValText$fFromValDouble$fFromValInteger $fFromValBool $fFromVal() $fEqKValue $fOrdKValue$fGenericKValue$fNFDataKValue $fEqRecord $fOrdRecord$fGenericRecord$fNFDataRecord$fGenericBlock $fNFDataBlock$fEqDict $fOrdDict $fGenericDict $fNFDataDict$fEqList $fOrdList $fGenericList $fNFDataList$fEqPair $fOrdPair $fGenericPair $fNFDataPair $fEqKType $fOrdKType$fGenericKType $fNFDataKType $fEqKPrim $fOrdKPrim$fGenericKPrim $fNFDataKPrim $fEqRecordT $fOrdRecordT$fGenericRecordT$fNFDataRecordT $fEqIdent $fOrdIdent$fGenericIdent $fNFDataIdent$fEqKwd$fOrdKwd $fGenericKwd $fNFDataKwd$fDataKException$fDataEExpectedinitCtxreadread'stdinTTYversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameswapreplDeftryKevalevalText evalStdinevalFile initContextreplrepl' promptText errorTextdoctestdoctest' testFiles testKoneko testMarkdown testKoneko_ testMarkdown_testKonekoFiletestMarkdownFiletestKonekoFile_testMarkdownFile_ $fShowExample