Îõ³h**¢(ÔÈ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG0.3.2 Safe-Inferred =ÂÃÄÍÚÛm construct Subclass of H1 that carries an error message in case of failure construct$Sets or modifies the expected value. constructEquivalent to IŸ except it takes an error message it may carry or drop on the floor. The grammatical form of the argument should be a noun representing the unexpected value. constructA subclass of MonadFixà for monads that can fix a function that handles higher-kinded data  constructThis specialized form of J can be used inside mfix.  constructA subclass of K2 for parsers that can switch the input stream type  constructÇConverts a parser accepting one input stream type to another just like  ,, except the argument functions can return Nothing" to indicate they need more input.  constructÌConverts a parser accepting one input stream type to another. The functions forth and back must be inverses of each other and they must distribute through L: f (s1 <> s2) == f s1 <> f s2     Safe-Inferred¸ construct/The central type. The four type parameters are:m#, type of the parser for the formatnÁ, container type for the serialized form of the value, typically Identity unless something  Alternative is called for.s*, type of the serialized value, typically  ByteStringa$, type of the parsed value in memoryThe parse and  serialize÷ fields can be used to perform the two sides of the conversion between the in-memory and serialized form of the value.M Safe-Inferred )*ÂÃÄØÚÛÝ'€( constructSame as the usual N except a  is no O , let alone P. constructSame as the usual  except a  is no O. constructSame as the usual Q except a  is no O , let alone P. construct5A discriminated or tagged choice between two formats. construct(Name a format to improve error messages.8testParse (takeCharsWhile1 isDigit "a number") "abc")Left "expected a number, encountered 'a'" "a number") "abc"-Left "expected a number, encountered \"abc\"" constructSame as the usual R except a  is no O , let alone H.  construct(A trivial format for a single byte in a S(testParse byte (ByteString.pack [1,2,3])Right [(1,"\STX\ETX")]! construct>A quick way to format a value that already has an appropriate T instance4testParse (cereal @Word16) (ByteString.pack [1,2,3])Right [(258,"\ETX")]%testSerialize cereal (1025 :: Word16)Right "\EOT\SOH"" constructÄSpecifying a formatter explicitly using the cereal getter and putterÅtestParse (cereal' getWord16le putWord16le) (ByteString.pack [1,2,3])Right [(513,"\ETX")]# construct'A trivial format for a single charactertestParse char "abc"Right [('a',"bc")]$ construct6Repeats the argument format the given number of times. The property /count n f == Construct.sequence (replicate n f) holds.6testParse (count 4 byte) (ByteString.pack [1,2,3,4,5])Right [([1,2,3,4],"\ENQ")](testSerialize (count 4 byte) [1,2,3,4,5];Left "expected a list of length 4, encountered [1,2,3,4,5]"&testSerialize (count 4 byte) [1,2,3,4]Right "\SOH\STX\ETX\EOT"% constructƒCombines two formats, where the second format depends on the first value, into a format for the pair of their values. Similar to U except  is no O let alone V.8testParse (deppair char (\c-> satisfy (==c) char)) "abc"Left "encountered 'b'"8testParse (deppair char (\c-> satisfy (==c) char)) "aac"Right [(('a','a'),"c")]& constructSame as the usual I except a  is no O , let alone H.' constructÎA literal serialized form, such as a magic constant, corresponding to no value#testParse (literal "Hi") "Hi there"Right [(()," there")]( constructSame as the usual W except a  is no O , let alone H.) construct2In the parsing direction, the same as the regular X¯: parses the item zero or more times until the terminator succeeds. When serializing, makes sure to append the terminator. Beware, for performance reasons the function does notÆ verify that no item's serialization can be parsed via the terminator.* construct1Converts a format for serialized streams of type s! so it works for streams of type t- instead. The argument functions may return Nothingà to indicate they have insuficient input to perform the conversion.+ construct/Converts a format for in-memory values of type a so it works for values of type bÍ instead. The argument functions may signal conversion failure by returning Nothing., construct1Converts a format for serialized streams of type s! so it works for streams of type t insteadÈtestParse (mapSerialized ByteString.unpack ByteString.pack byte) [1,2,3]Right [(1,[2,3])]- construct/Converts a format for in-memory values of type a so it works for values of type b instead.ÈtestParse (mapValue (read @Int) show $ takeCharsWhile1 isDigit) "012 34"Right [(12," 34")]?testSerialize (mapValue read show $ takeCharsWhile1 isDigit) 12 Right "12". constructSame as the usual   except a  is no O , let alone V./ constructLike 05 except with arbitrary default serialization for the Nothing value. -optional = optionWithDefault (literal mempty)0 constructSame as the usual Y except a  is no O , let alone H.1 constructêModifies the serialized form of the given format by padding it with the given template if it's any shorter=testParse (padded "----" $ takeCharsWhile isDigit) "12--3---"Right [("12","3---")];testSerialize (padded "----" $ takeCharsWhile isDigit) "12" Right "12--"2 construct Modifies the serialized form of the given format by padding it with the given template. The serialized form has to be shorter than the template before padding.3 constructÀCombines two formats into a format for the pair of their values. testParse (pair char char) "abc"Right [(('a','b'),"c")]4 constructÌConverts a record of field formats into a single format of the whole record.5 constructãConverts a record of field formats into a single format of the whole record, a generalized form of 4.6 constructÒFilter the argument format so it only succeeds for values that pass the predicate.&testParse (satisfy isDigit char) "abc"Left "encountered 'a'"'testParse (satisfy isLetter char) "abc"Right [('a',"bc")]7 construct—Represents any number of values formatted using the first argument, separated by the second format argumewnt in serialized form. Similar to the usual Z combinator.ÅtestParse (takeCharsWhile isLetter `sepBy` literal ",") "foo,bar,baz"ßRight [([],"foo,bar,baz"),(["foo"],",bar,baz"),(["foo","bar"],",baz"),(["foo","bar","baz"],"")]8 construct.Sequence a list of formats into a list format.9 constructSame as the usual [ except a  is no O , let alone H.: constructËFormat whose in-memory value is a fixed-size prefix of the serialized valuetestParse (take 3) "12345"Right [("123","45")]testSerialize (take 3) "123" Right "123"testSerialize (take 3) "1234"9Left "expected a value of length 3, encountered \"1234\""; constructŽFormat whose in-memory value is the longest prefix of the serialized value that consists of characters which all satisfy the given predicate.(testParse (takeCharsWhile isDigit) "a12"Right [("","a12")](testParse (takeCharsWhile isDigit) "12a"Right [("12","a")],testSerialize (takeCharsWhile isDigit) "12a"3Left "expected takeCharsWhile, encountered \"12a\""+testSerialize (takeCharsWhile isDigit) "12" Right "12")testSerialize (takeCharsWhile isDigit) ""Right ""< construct˜Format whose in-memory value is the longest non-empty prefix of the serialized value that consists of characters which all satisfy the given predicate.)testParse (takeCharsWhile1 isDigit) "a12"&Left "takeCharsWhile1 encountered 'a'")testParse (takeCharsWhile1 isDigit) "12a"Right [("12","a")],testSerialize (takeCharsWhile1 isDigit) "12" Right "12"*testSerialize (takeCharsWhile1 isDigit) ""1Left "expected takeCharsWhile1, encountered \"\""= construct„Format whose in-memory value is the longest prefix of the serialized value smallest parts of which all satisfy the given predicate.$testParse (takeWhile (> "b")) "abcd"Right [("","abcd")]$testParse (takeWhile (> "b")) "dcba"Right [("dc","ba")](testSerialize (takeWhile (> "b")) "dcba"/Left "expected takeWhile, encountered \"dcba\""&testSerialize (takeWhile (> "b")) "dc" Right "dc"$testSerialize (takeWhile (> "b")) ""Right ""> constructŽFormat whose in-memory value is the longest non-empty prefix of the serialized value smallest parts of which all satisfy the given predicate.%testParse (takeWhile1 (> "b")) "abcd"Left "takeWhile1"%testSerialize (takeWhile1 (> "b")) "",Left "expected takeWhile1, encountered \"\""'testSerialize (takeWhile1 (> "b")) "dc" Right "dc"? construct Attempts to ó the given input with the format with a constrained type, returns either a failure message or a list of successes.@ construct"A less polymorphic wrapper around  useful for testingA construct=A fixed expected value serialized through the argument format testParse (value char 'a') "bcd"Left "encountered 'b'" testParse (value char 'a') "abc"Right [((),"bc")]+&0/3%(9)78$.45,*-+6A12' #!":=>;;?@ABCDEFGHIJKLMNOPQOP.RSTUVWOPX OP#OPYOPZOP$OP'[\]^_`OPaOPbOP0cd1Oe7cd>OP@æ&construct-0.3.2-I0T4JdjPy8GGRh6hCRMqPlConstruct.Classes ConstructConstruct.Bits constructConstruct.Internal Data.Functor<$Control.Monad.FixmfixconcatExpected errorString oxfordCommaAlternativeFail expectedNamefailureErrorFixTraversable fixSequenceInputMappableParsingmapMaybeParserInputmapParserInput$fAlternativeEither$fAlternativeFailEither$fAlternativeFailList$fAlternativeFailMaybe $fEqError$fFixTraversableParser$fFixTraversableParser0$fInputMappableParsingParser$fSemigroupError $fShowErrorFormatparse serialize*><*<+><|>bytecerealcereal'charcountdeppairemptyliteralmanymanyTillmapMaybeSerialized mapMaybeValue mapSerializedmapValueoptionWithDefaultoptionalpaddedpadded1pairrecord recordWithsatisfysepBysequencesometaketakeCharsWhiletakeCharsWhile1 takeWhile takeWhile1 testParse testSerializevaluebigEndianBitsOfbigEndianBytesOfbitlittleEndianBitsOflittleEndianBytesOfBitsbaseGHC.Base Alternative+rank2classes-1.5.3.1-ABWLg8n6xCr6xl29ebPKK9Rank2traverse,input-parsers-0.3.0.2-GcmS66v37qgAwYqJVjcUXkText.Parser.Input InputParsing<>Functor Applicativebytestring-0.11.5.2Data.ByteString.Internal.Type ByteString%cereal-0.5.8.3-JKZKQMLMQ2v8uUoo8OtauqData.Serialize Serialize>>=Monad&parsers-0.12.12-FXiDfauVBBJBK6aToWvBt4Text.Parser.CombinatorsControl.Applicative