h$4      !"#$%&'()*+,-./012 3 4 5 6 7 8 9 : ; < = > ? @ABCDEFGHIJKLMNO 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 wxyz{|}~ Safe-Inferred Safe-Inferred   Safe-InferredNone>?<   Safe-InferredtNone 0>? &%$#"! &%$#"! None 0hw-jsonSlurp a JSON string Examples::set -XOverloadedStringsslurpText "\"Hello\"" Right "Hello"slurpText "123""Left "34: Failed reading: satisfy"1hw-jsonSlurp a JSON number Examples::set -XOverloadedStringsslurpNumber "123, true""123"slurpNumber "\"Hello\"" "\"Hello\""*,-+./01*,-+./01  Safe-Inferred@ 23456789:;<= 23456789:;<=None >?~23456789:;<=@ABCDEFGHIJKL23456789:;<=@ABCDEFGHIJKLNone2=<;:9876534@LKJIHGFEDCAB None OO None >?4PQRSTPQRST  Safe-InferreddUVWXYZ[\UVWXYZ[\ None  0>? ]^_`ahgfedcb ahgfedcb_`]^None >? xhw-json*Get a JSON partial value from another typeThis function can always "succeed" because the data type it returns allows for the document value to contain an arbitrary number of errors. This means errors can be reported in document nodes as parsing occurs lazily.There are garbage collection implementations you may want to consider. If you would like to be able to hold onto ancestor nodes and still be able to garbage collect visited sub-trees, then consider using   instead.yhw-jsonPartial JSON type.!This data type has an additional  data constructor to indicate parsing errors. This allows parsing to be more lazy because parsing errors may now be expressed anywhere in the parsed document so the parser no longer needs to make a verdict about whether there are any parsing errors in the entire document.See x. on how to parse JSON text into this datatype.Although this data type allows for lazier parsing it doesn't allow for sub-trees to be garbage collected if a reference to an ancestor node is held. To avoid holding onto sub-trees that are no longer needed without having to drop references to ancestors use   instead.wxyz{|}~yz{|}~wxNone >?   None K  None> None >hw-json"Get a JSON value from another typeThe hw-json library does not do full JSON validation for efficiency reasons, but parsing can fail if the JSON is malformed. When parsing fails, then  will be returned.If  is returned then that means there are no parsing failures, which implies "knowing" that there parsing failures in the entire document, which implies that pattern matching on  evaluates the entire document.This limits the laziness of the JSON parsing. For lazier alternatives, see  or  .hw-jsonTraditional JSON type.This type has the a constructor per JSON data type as is typical for JSON in most libraries.See . on how to parse JSON text into this datatype.Although Haskell data types are lazy by default, you will not get a fully lazy data structure when parsing to this type because there is no way to express parsing errors in this datatype.For a data type that gives you lazier behaviour, see other alternatives such as  or  .  None>D Safe-Inferreds !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL M N O P Q R S T U V W X Y Z[\]^_`abcdefghi j k l m n o p q r s t u v w x  y y  z { | } ~                &hw-json-1.3.2.3-83cDmIQP3uuKTcv7jTQJ7a7HaskellWorks.Data.Json.Internal.Standard.Token.Tokenize"HaskellWorks.Data.Json.DecodeError(HaskellWorks.Data.Json.Internal.CharLike#HaskellWorks.Data.Json.Internal.Doc%HaskellWorks.Data.Json.Internal.Index'HaskellWorks.Data.Json.Internal.Orphans,HaskellWorks.Data.Json.Internal.PartialIndex%HaskellWorks.Data.Json.Internal.Slurp+HaskellWorks.Data.Json.Internal.Token.Types5HaskellWorks.Data.Json.Internal.Standard.Cursor.Token%HaskellWorks.Data.Json.Internal.Value&HaskellWorks.Data.Json.Internal.Word64 HaskellWorks.Data.Json.LightJson#HaskellWorks.Data.Json.PartialValueHaskellWorks.Data.Json.Query#HaskellWorks.Data.Json.Simple.Value,HaskellWorks.Data.Json.Standard.Load.PartialHaskellWorks.Data.Json.Value HaskellWorks.Data.Json.FromValue%HaskellWorks.Data.Json.Internal.Token lightJsonAt LightJsonjsonPartialJsonValueAtJsonPartialValue Paths_hw_json&hw-prim-0.6.3.1-FhSDkVTkrS1EgRVqGcv2JMHaskellWorks.Data.Char.IsChartoCharIsChar DecodeError$fEqDecodeError$fShowDecodeError JsonCharLikeisLeadingDigit2 isQuotDblisChar_tisChar_fisChar_n isBraceLeft isBracketLeft$fJsonCharLikeWord8 hEncloseSep JsonIndexAt jsonIndexAt JsonIndexJsonIndexStringJsonIndexNumberJsonIndexObjectJsonIndexArray JsonIndexBool JsonIndexNull$fJsonIndexAtGenericCursor $fEqJsonIndex$fShowJsonIndex $fPrettyTextJsonPartialIndexAtjsonPartialIndexAtJsonPartialIndexJsonPartialIndexStringJsonPartialIndexNumberJsonPartialIndexObjectJsonPartialIndexArrayJsonPartialIndexBoolJsonPartialIndexNullJsonPartialIndexError!$fJsonPartialIndexAtGenericCursor$fEqJsonPartialIndex$fShowJsonPartialIndex JsonStateEscapedInJsonInStringInNumberInIdent slurpText slurpNumber JsonTokenJsonTokenBraceLJsonTokenBraceRJsonTokenBracketLJsonTokenBracketRJsonTokenCommaJsonTokenColonJsonTokenWhitespaceJsonTokenStringJsonTokenBooleanJsonTokenNumber JsonTokenNull $fEqJsonToken$fShowJsonToken ParseJsonparseJsonTokenStringparseJsonTokenparseJsonTokenBraceLparseJsonTokenBraceRparseJsonTokenBracketLparseJsonTokenBracketRparseJsonTokenCommaparseJsonTokenColonparseJsonTokenWhitespaceparseJsonTokenNullparseJsonTokenBooleanparseJsonTokenDouble%$fParseJsonByteStringByteStringDouble$fParseJsonByteString[]Double jsonTokenAtparseHexDigitNumericparseHexDigitAlphaLowerparseHexDigitAlphaUpper parseHexDigitparseJsonString doubleQuote backSlack openBrace closeBrace openBracket closeBracketcommacolon LightJsonAtLightJsonFieldLightJsonStringLightJsonNumberLightJsonObjectLightJsonArray LightJsonBool LightJsonNullLightJsonError $fPrettyMicro$fPrettyMicro0$fPrettyMicro1$fLightJsonAtJsonCursor$fLightJsonAtGenericCursor$fPrettyMQuery$fPrettyMQuery0 $fPrettyMini $fPrettyMini0 $fPrettyMini1$fPrettyLightJson$fPrettyLightJsonField $fEqLightJson$fShowLightJsonJsonPartialValueAtJsonPartialStringJsonPartialNumberJsonPartialObjectJsonPartialArrayJsonPartialBoolJsonPartialNullJsonPartialErrorhasKVitementryasStringasText asInteger castAsIntegernamedjsonKeyshasKeyjsonSize$fPrettyJsonPartialValue!$fJsonPartialValueAtGenericCursor$$fJsonPartialValueAtJsonPartialIndex$fPrettyJsonPartialField$fEqJsonPartialValue$fShowJsonPartialValue$fOrdJsonPartialValueasDouble JsonValues JsonArray JsonObject JsonValueJsonNull JsonNumber JsonString JsonBoolean snippetPossnippet$fEqJsonValues$fShowJsonValues $fEqJsonValue$fShowJsonValueloadPartialWithIndexloadPartialWithCsPoppyIndex loadPartial JsonValueAt jsonValueAtJsonBool$fJsonValueAtJsonIndex FromJsonValue fromJsonValue$fFromJsonValue(,,,)$fFromJsonValue(,,)$fFromJsonValue(,)$fFromJsonValue[]$fFromJsonValueBool$fFromJsonValueDouble$fFromJsonValueInt$fFromJsonValueText$fFromJsonValue[]0$fFromJsonValueJsonValuebase Data.EitherLeftRightversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName