!]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\None$"#&',-.12478=>?@ACHMPSUVXk pretty-types Internal ]' format generation. Used internally by d instances to generate the format string piece by piece with the values for the instances of e.g. , , or . pretty-typesGenerate a piece of a ]' format string from a proxy for a type. pretty-typesInternal state used by  in  pretty-types)Internal type of the indentation used by  in  pretty-typesThe monad used by  to keep track of indentation. pretty-typesAn internal' type class for rendering the types of kind . pretty-types-Given any proxy to a promoted constructor of , generate a String.  pretty-typesReturn ^= if contents would be writting to the output of rendered via   pretty-types&Write a title and print the indented, H&-fied body starting on the next line.  pretty-typesApply a   to a type in order to get a   pretty-typesAn abstract declaration of a pretty-printing (type-)function3 that takes a specific kind of types as parameter.  pretty-typesKind of   data types.EThe type that all data types share, such that they can be passed to  .)Sometimes it is desirable to pass around pretty-printing functions called   in this library. A   is a parameterized pretty-printer. that accepts a parameter of a specific kind. For example: [data PutStrIsh :: Prettifies Symbol type instance PrettifyWith PutStrIsh str = PutStr str  ++ PutStr "ish" AshowPretty (Proxy @(PrettifyWith PutStrIsh "That's pretty okay"))"That's pretty okayish" pretty-types formatting options. pretty-typesHexa decimal rendering:RshowPretty (Proxy::Proxy (PrettyNat PrettyUnpadded PrettyPrecise PrettyHex 51966))"cafe" pretty-types$Hexa decimal rendering (upper case):SshowPretty (Proxy::Proxy (PrettyNat PrettyUnpadded PrettyPrecise PrettyHexU 51966))"CAFE" pretty-typesDecimal rendering:SshowPretty (Proxy::Proxy (PrettyNat PrettyUnpadded PrettyPrecise PrettyHexU 51966))"51966" pretty-typesBinary rendering:SshowPretty (Proxy::Proxy (PrettyNat PrettyUnpadded PrettyPrecise PrettyHexU 51966))"1100101011111110" pretty-typesThe precision for  and . pretty-typesNo minimum precision. pretty-typesPrecision, for _s the maximum width, for `s the minimum digits. NOTEDs will never be shorter than the minimum number of digits, wheres <s will be truncated if they are longer than the precision. pretty-types Padding for s  and . pretty-typesNo minimum or fixed width pretty-typesPad a  or  with spaces or zeros. NOTE Xs will never be shorter than the minimum number of digits, regardless of this padding. pretty-typesCombinators for type documents.DThe basis for pretty printing is this eDSL. It is rendered via the ) instances for its promoted constructors.ROnly the promoted constructors are used, only they have instances for that class. pretty-typesEBegin a newline. Always use this otherwise indentation will not work! pretty-typesSPrefix the second with the first argument, but only if it (the second) has content.  pretty-types\Combine the last to arguments with the first in between them, but only if both have content.! pretty-types^Add a the first argument as suffix to the second argument, but only if the second has content." pretty-types7Indentation. Prefix any line using the given number of .# pretty-typesSAlternative rendering, if the first document ist empty the second will be rendered.$ pretty-types Repeat a  n-times and append the copies.% pretty-typesCombine a (type level) list of %s seperated by a seperation element.& pretty-typesA combination of  and %, e.g.:QshowPretty (Proxy :: Proxy (PrettyManyIn (PutStr "|") '[PutStr "a", PutStr "b"]))"|a|b|"' pretty-typesCombine a (type level) list of s below each other using ( pretty-typesCombine a (type level) list of s next to each other using ) pretty-types$Surround a pretty with some pretties* pretty-typesSurround a pretty with parens+ pretty-typesConcatenate two  using a  and indent the second., pretty-typesConcatenate two  using a .- pretty-types$Choose the first non-empty from two s.. pretty-typesConcatenate two  using a ./ pretty-typesConcatenate two .0 pretty-typesLike  '<:$$__>'% but indent the body with two spaces.?showPretty (Proxy :: Proxy (PutStr "foo" <:$$--> PutStr "bar"))@foo: bar@1 pretty-typesLike 2" but begin the body on a new line.=showPretty (Proxy :: Proxy (PutStr "foo" <:$$> PutStr "bar"))@foo:bar@2 pretty-types&A label followed by a colon and space :  followed by another element.4showPretty (Proxy :: Proxy ("foo" <:> PutStr "bar"))@foo: bar@3 pretty-typesCreate  from a `( formatted as 64-bit bit representation,)showPretty (Proxy :: Proxy (PutBits64 5))I"00000000000000000000000000000000000000000000000000000000000000000000101"4 pretty-typesCreate  from a `( formatted as 32-bit bit representation,)showPretty (Proxy :: Proxy (PutBits32 5))%"00000000000000000000000000000000101"5 pretty-typesCreate  from a `( formatted as 16-bit bit representation,)showPretty (Proxy :: Proxy (PutBits16 5))"00000000000000101"6 pretty-typesCreate  from a `' formatted as 8-bit bit representation,(showPretty (Proxy :: Proxy (PutBits8 5)) "00000101"7 pretty-typesCreate  from a `! formatted as bit representation,'showPretty (Proxy :: Proxy (PutBits 5))"101"8 pretty-typesCreate  from a `L formatted as 64 bit hex number using uppercase letters for the hex digits.9 pretty-typesCreate  from a `L formatted as 32 bit hex number using uppercase letters for the hex digits.: pretty-typesCreate  from a `L formatted as 16 bit hex number using uppercase letters for the hex digits.; pretty-typesCreate  from a `K formatted as 8 bit hex number using uppercase letters for the hex digits.< pretty-typesCreate  from a `F formatted as hex number using lower-case letters for the hex digits.= pretty-typesCreate  from a `M formatted as 64 bit hex number using lower-case letters for the hex digits.> pretty-typesCreate  from a `M formatted as 32 bit hex number using lower-case letters for the hex digits.? pretty-typesCreate  from a `M formatted as 16 bit hex number using lower-case letters for the hex digits.@ pretty-typesCreate  from a `L formatted as 8 bit hex number using lower-case letters for the hex digits.A pretty-typesCreate  from a `F formatted as hex number using lower-case letters for the hex digits.B pretty-typesA  for a number with a width.C pretty-typesA  for a number.D pretty-typesA 2 for a string with a newline character at the end.E pretty-typesA ) for a string with the exact given width.F pretty-typesA  for a string.G pretty-typesRender a type of kind a.H pretty-types Create a  from a type.'This is a type-level equivalent of the b class.bWrite an instance of this for converting your type (preferrable of your kind also) to a promoted .I pretty-types"Pretty print either types of kind  or any other type with a H instance.J pretty-types;Internal; write a possibly indented string, and update the  accordingly.c pretty-typesPretty print a d value.e pretty-typesRender f as F Doubleg pretty-typesRender h as F Floati pretty-typesRender j as F Boolk pretty-typesRender l as F Integerm pretty-typesRender n as F Into pretty-typesRender p as F Int64q pretty-typesRender r as F Int32s pretty-typesRender t as F Int16u pretty-typesRender v as F Int8w pretty-typesRender x as F Word64y pretty-typesRender z as F Word32{ pretty-typesRender | as F Word16} pretty-typesRender ~ as F Word8 pretty-typesRender  as F "'False" pretty-typesRender ^ as F "'True" pretty-typesA type of kind _ is translated to F. pretty-typesA type of kind  has a trivial id-likeH instance. pretty-typesRender a type of kind a. pretty-typesA type of kind ` is translated to C.K pretty-types Render an indented, nested type.L pretty-types9Render the first document, and if it is empty, the secondM pretty-typesAdd a  suffix to x, but only if   holds.N pretty-types Prefix a  to x, but only if   of x holds.O pretty-typesConcatenate two Ms. If one of them is empty print the other without any seperation character.P pretty-types!Print a single newline character.Q pretty-typesPrint a single space character.R pretty-typesPrint nothing.S pretty-typesTranslation of D to a string with the numeric precision value, prependen by a dot ".".T pretty-typesTranslation of  to an empty modifier stringU pretty-typesTranslation of , to a string with the numeric padding value.V pretty-typesTranslation of  to an empty modifier stringW pretty-typesTranslation of  to ] format character: bX pretty-typesTranslation of  to ] format character: dY pretty-typesTranslation of  to ] format character: XZ pretty-typesTranslation of  to ] format character: x[ pretty-typesPrint a ` using the ]! and the given format parameters.\ pretty-typesPrint a _ using the ]! and the given format parameters.I pretty-types A proxy to the type to print. A H instance for t must exists.K  "# !$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$"# !  J+3,4-5.5/6031525      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab`ac`ad]ef]ghijklm`ano`apq`arstuvw`axy]z{|]z}~]z]z]]]]`a+pretty-types-0.3.0.1-1yZwRJvb0Xc4py4ewf4TnrData.Type.PrettyPrintfArgModifiertoPrintfArgModifier PTRenderStateAtBeginningOfLineAlreadyIndented IndentationPTMPrettyTypeShowptShow ptHasContent PrettyTitled PrettifyWith Prettifier PrettifiesPrettyNatFormat PrettyHex PrettyHexU PrettyDec PrettyBitPrettyPrecision PrettyPrecise PrettyPaddedPrettyUnpadded PrettyType PrettyEmpty PrettySpace PrettyNewline PrettySymbol PrettyNat PrettyPrefix PrettyInfix PrettySuffix PrettyIndentPrettyAlternative PrettyOften PrettyMany PrettyManyIn PrettyHigh PrettyWidePrettySurrounded PrettyParens<$$--><$$><||><+><++><:$$--><:$$><:> PutBits64 PutBits32 PutBits16PutBits8PutBitsPutHeX64PutHeX32PutHeX16PutHeX8PutHeXPutHex64PutHex32PutHex16PutHex8PutHexPutNatWPutNatPutStrLnPutStrWPutStr ToPrettyMaybeToPretty showPretty writeIndented$fPrettyTypeShowPrettyIndent!$fPrettyTypeShowPrettyAlternative$fPrettyTypeShowPrettySuffix$fPrettyTypeShowPrettyPrefix$fPrettyTypeShowPrettyInfix$fPrettyTypeShowPrettyNewline$fPrettyTypeShowPrettySpace$fPrettyTypeShowPrettyEmpty1$fPrintfArgModifierPrettyPrecisionPrettyPrecision/$fPrintfArgModifierPrettyPrecisionPrettyPrecise+$fPrintfArgModifierPrettyPaddedPrettyPadded-$fPrintfArgModifierPrettyPaddedPrettyUnpadded+$fPrintfArgModifierPrettyNatFormatPrettyBit+$fPrintfArgModifierPrettyNatFormatPrettyDec,$fPrintfArgModifierPrettyNatFormatPrettyHexU+$fPrintfArgModifierPrettyNatFormatPrettyHex$fPrettyTypeShowPrettyNat$fPrettyTypeShowPrettySymbolbase Text.Printfprintfghc-prim GHC.TypesTrueSymbolNat GHC.MaybeMaybeGHC.ShowShowD:R:ToPrettyTYPETagged#tagged-0.8.6-FABECvKnqYbBCttH1EeJvB Data.TaggedTaggedD:R:ToPrettyTYPEDoubleDoubleD:R:ToPrettyTYPEFloatFloatD:R:ToPrettyTYPEBoolBoolD:R:ToPrettyTYPEInteger integer-gmpGHC.Integer.TypeIntegerD:R:ToPrettyTYPEIntIntD:R:ToPrettyTYPEInt64GHC.IntInt64D:R:ToPrettyTYPEInt32Int32D:R:ToPrettyTYPEInt16Int16D:R:ToPrettyTYPEInt8Int8D:R:ToPrettyTYPEWord64GHC.WordWord64D:R:ToPrettyTYPEWord32Word32D:R:ToPrettyTYPEWord16Word16D:R:ToPrettyTYPEWord8Word8D:R:ToPrettyBoolFalseFalseD:R:ToPrettyBoolTrueD:R:ToPrettySymboltD:R:ToPrettyPrettyTypetD:R:ToPrettyMaybetD:R:ToPrettyNatt