Ξυ³h*{Ιώ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}0.1.0.05Encoding of data into Prolog-like Herbrandt universa. Safe-Inferred <=ΒΓΔΕΖΪΫέZ)herbζNewtype wrapper for parsing out "plain Herb", without actually converting it to another datatype via .*getPlainHerb <$> decodeHerb "foo(bar,qux)",Right (Struct "foo" [Atom "bar",Atom "qux"])herb fromHerb (Atom "[LT,EQ,GT]") :: Either String [Ordering]Right [LT,EQ,GT]5deriving via ShowAtom Integer instance ToHerb IntegertoHerb (5::Integer)Atom "5"herb?Class of single-parameter constructors that can be parsed from . Can be derived from €.herb&Given a parser for the contained type a, parse f a.herb,Class of everything that can be parsed from 4 structure. If available, the method defaults from  instance for a,. The simplest way to use the class is via . herb Parser for -like objects of type h into a . Used in . herb Either parse h into a' and potential leftovers, or fail with ‚ error. herbΐClass of single-parameter constructors that can be converted to . Can be derived from €.herb Convert the f a to /, provided there is a function to convert the a to Herb.herb-Class of everything that can be converted to . Can be derived from .herbConvert a to .herb>Herbrandt universum, consisting of atoms and n-ary structures.herb.Structure with a name and parameters, such as structure(param1, param2).herb*A single atom with no parameters, such as 5 or Nothing.herbΖConvenience shortcut for the identifier type. Currently an alias for ƒ (creating s is thus quite easy with -XOverloadedStrings or similar tools.(Using  instead of ƒ8 may help preserve compatibility with future versions.)herbConvert  to ‚.herbConvert ‚ to .herb2Can the character be used in unquoted identifiers?herb7Should this character be escaped in quoted identifiers?herb'Helper for escaping the atoms for Herb.escAtom "hello""hello"escAtom "hello!""hello!"escAtom "hello world""'hello world'"escAtom "''\\''""'\\'\\'\\\\\\'\\''"herb Serialize a  structure as ƒ. The output can be parsed by .herbΔShortcut for directly producing a serializable string from the data.Equivalent to formatHerb . toHerb.herbSimple front-end for 's  .herbΑReturn the current parser input as processed by a given function.herb.Return the current parser input (identical to gets id).herbSet the current parser input. herb+Change the current parser using a function.!herb9Run a parser with temporarily changed input specified by l."herbηRun a parser with temporarily changed input, created from the current input using the first parameter.#herb Parse out an , where the identifier satisfies a predicate.$herb Parse out an  with an exact identifier.%herbConvert a to an  using its ~ instance.atomShow (123::Int) Atom "123"&herb Parse an  to a using its ReadΟ instance. Produces a parser failure if the atom's identifier can not be read. atomRead :: Parser Herb Int'herb Parse out an 2 if the given function converts the identifier to Just x, and return the x.(herb»Parse out a structure identified by an exact name. The second argument is a parser for the structure arguments that works on the argument list; individual arguments can be obtained via * and related functions. υexactStruct "pair" $ (,) <$> popArg' <*> popArg' <* endOfArgs :: (FromHerb a1, FromHerb a2) => Parser Herb (a1, a2))herbΟRun a parser on the next argument, popping the argument from the argument list.*herb Parse the next argument to type aΫ (removing it from the current argument list), pass it through a given function to obtain b, and return it.+herbLike *+ but without the conversion; equivalent to  popArg id.,herb6Succeed if all arguments have been already removed by ), * or similar.-herbΩShortcut for parsing out exactly one argument of a structure, failing if there are more. …parseMaybe :: FromHerb a => Parser Herb (Maybe a) parseMaybe = Nothing <$ exactAtom "Nothing" <|> exactStruct "Just" (singleArg Just)Nherb0Trivial instance that just returns the incoming  wrapped in . herbParse  to a type a..    !"#$'%&()*+,-.    !"#$'%&()*+,-!Several common instances for Herb Safe-Inferred"ΒAttoparsec interface for Herb Safe-InferredBvherbParser for a single  term compatible with Data.Attoparsec.Text4. The parsed format is exactly the one produced by .wherbParse ƒ into a single  structure (reverse of ).ΡTo avoid actual parsing into a data structure and decode into "plain Herb", use .xherbParser for multiple  terms in a file as with v , possibly separated by blanks.yherbParse ƒ2 that contains multiple structures into a list of s.vwxyvwxy"Pretty-printing of Herb structures Safe-Inferred½zherb Convert a  structure into „.{herb Convert a foldable container of  structures into „ from Text.PrettyPrint , concatenating them vertically.|herbDirectly produce a pretty ‚ representation of ' using the default rendering style of Text.PrettyPrint'. To render using a custom style, run  with appropriate parameters.}herbLike |ι but for foldable containers. This adds the final newline (which is missing in the default rendering by Text.PrettyPrint.z{|}z{|}…        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„‚…†‚‡ˆ‚‡‰‚Š‹ŒŽ‘’"herb-0.1.0.0-5vixyoxlLIpyR2E7Ew3b9 Data.HerbData.Herb.InstancesData.Herb.ParserData.Herb.Prettyherb parseHerbText.PrettyPrint renderStyle PlainHerb getPlainHerbShowAtom getShowAtom FromHerb1 liftParseHerbFromHerbParser runParserToHerb1 liftToHerbToHerbtoHerbHerbStructAtomIdent unpackIdent packIdentisUnquotedIdentChar isEscapableescAtom formatHerb encodeHerbfromHerbgetsgetputmodifylocal contexted satisfyAtom exactAtomatomShowatomRead maybeAtom exactStructparseArgpopArgpopArg' endOfArgs singleArg$fGToHerbaPar1List$fGToHerbaPar1Herb $fGToHerbpM1x$fGToHerbpM1Herb$fGToHerbpM1Herb0$fGToHerbp:+:x$fGToHerbp:*:List$fGToHerbpU1List$fGToHerbaRec1Herb$fGToHerbpK1List$fMonoidParser$fSemigroupParser$fAlternativeParser$fMonadPlusParser$fMonadFailParser $fMonadParser$fApplicativeParser$fFunctorParser$fGFromHerbParserListPar1$fGFromHerbParserHerbPar1$fGFromHerbphM1$fGFromHerbpHerbM1$fGFromHerbpHerbM10$fGFromHerbpHerb:+:$fGFromHerbpList:*:$fGFromHerbpListK1$fGFromHerbpListU1$fGFromHerbpHerbU1$fGFromHerbParserHerbRec1$fGFromHerbpHerbK1$fFromHerbShowAtom$fToHerbShowAtom$fFromHerbPlainHerb$fShowPlainHerb$fReadPlainHerb $fEqPlainHerb$fOrdPlainHerb$fShowShowAtom$fReadShowAtom $fEqShowAtom $fOrdShowAtom $fShowHerb $fReadHerb$fEqHerb $fOrdHerb $fGenericHerb$fFromHerbHerb $fToHerbHerb$fFromHerb(,,) $fToHerb(,,) $fFromHerb(,) $fToHerb(,)$fFromHerbEither$fToHerbEither$fFromHerbList $fToHerbList$fFromHerbChar $fToHerbChar$fFromHerbInteger$fToHerbInteger $fFromHerbInt $fToHerbInt$fFromHerbMaybe $fToHerbMaybe$fFromHerbText $fToHerbText $fFromHerb() $fToHerb()$fFromHerb1Compose$fFromHerb1Identity$fToHerb1Compose$fToHerb1Identity decodeHerbherbFiledecodeHerbFileherbDocherbsDoc prettyHerb prettyHerbsbaseGHC.ShowShowGHC.ReadRead GHC.GenericsGeneric1GenericGHC.BaseString text-2.0.2Data.Text.InternalTextpretty-1.1.3.6Text.PrettyPrint.HughesPJDoc