h$%]"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghitextual type classes'Copyright (c) 2019-2020 Travis CardwellMITNone>"=ttcThe 8 type class parses a data type from a textual data type.'There are no default instances for the  type class, so that all instances can be customized per project when desired. Instances for some basic data types are available in Data.TTC.Instances.See the uname and prompt example programs in the examples directory.ttcThe 7 type class renders a data type as a textual data type.'There are no default instances for the  type class, so that all instances can be customized per project when desired. Instances for some basic data types are available in Data.TTC.Instances.See the uname and prompt example programs in the examples directory.ttcThe  type class is used to convert between the following textual data types:j (S)Strict k (T)Lazy l (TL)Strict m (BS)Lazy n (BSL) ByteString values are assumed to be UTF-8 encoded text. Invalid bytes are replaced with the Unicode replacement character U+FFFD;. In cases where different behavior is required, process  ByteString values before using this class.The key feature of this type class is that it has a single type variable, making it easy to write functions that accepts arguments and/or returns values that may be any of the supported textual data types.Note that support for additional data types cannot be implemented by writing instances. Adding support for additional data types would require changing the class definition itself. This is the price paid for having only one type variable instead of two.ttc Convert to a jttcConvert to strict kttcConvert to lazy lttcConvert to a strict m ttcConvert to a lazy m ttc0Convert between any supported textual data types ttcConvert from a j ttcConvert from strict k ttcConvert from lazy lttcConvert from a strict mttcConvert from a lazy nttcConvert an argument to a jttcConvert an argument to strict kttcConvert an argument to lazy lttc Convert an argument to a strict mttcConvert an argument to a lazy nttc Convert to a Text ottcConvert from a Text ottc Convert to a  ByteString pttcConvert from a  ByteString pttc Convert to a qttcConvert from a qttc Render to a jttcRender to strict kttcRender to lazy lttcRender to a strict mttcRender to a lazy n ttc0Render a value to a textual data type using the r instance!ttc Parse from a j"ttcParse from strict k#ttcParse from lazy l$ttcParse from a strict m%ttcParse from a lazy n&ttc Parse to a s type'ttc Parse from a j to a s type(ttcParse from strict k to a s type)ttcParse from lazy l to a s type*ttcParse from a strict m to a s type+ttcParse from a lazy n to a s type,ttcUnsafely parse-ttcUnsafely parse to a j.ttcUnsafely parse to strict k/ttcUnsafely parse to lazy l0ttcUnsafely parse to a strict m1ttcUnsafely parse to a lazy n2ttcParse a value in an enumerationThis function is intended to be used with types that have few choices, as the implementation uses a linear algorithm.See the enum example program in the examples directory.3ttc&Parse a value in an enumeration, with j error messages2The following English error messages are returned:*"invalid {name}" when there are no matches4"ambiguous {name}" when there is more than one match4ttcParse a value using the t instance5ttcParse a value using the t instance, with j error messages0The following English error message is returned:%"invalid {name}" when the parse fails6ttcParse a value to a s type using the t instance7ttc Implement u using 2ttcMake a valid quasi-quoter using < for the given typeSee the uvalidqq example program in the examples directory.2ttccase-insensitive when xttcaccept unique prefixes when xttcinvalid input errorttcambiguous input errorttctextual input to parsettcerror or parsed value3ttc!name to include in error messagesttccase-insensitive when xttcaccept unique prefixes when xttctextual input to parsettcerror or parsed value4ttcinvalid input errorttctextual input to parsettcerror or parsed value5ttc!name to include in error messagesttctextual input to parsettcerror or parsed value6ttctextual input to parsettcerror or parsed value7ttccase-insensitive when xttcaccept unique prefixes when x?    !"#$%&'()*+,-./0123456789:;<=>?   !"#$%&'()*+,-./0123456789:;<=>instances for basic data types'Copyright (c) 2019-2020 Travis CardwellMITNone>"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrpsrtuvtwvpxytzyt{|m}~mmmm"ttc-0.3.0.0-IqLkI6kgOsWAJPwjBRdWnDData.TTCData.TTC.InstancesParseparseRenderrenderTextualtoStoTtoTLtoBStoBSLconvertfromSfromTfromTLfromBSfromBSLasSasTasTLasBSasBSLtoTLBfromTLBtoBSBfromBSBtoSBSfromSBSrenderSrenderTrenderTLrenderBS renderBSLrenderWithShowparseSparseTparseTLparseBSparseBSL parseMaybe parseMaybeS parseMaybeT parseMaybeTL parseMaybeBS parseMaybeBSL parseUnsafe parseUnsafeS parseUnsafeT parseUnsafeTL parseUnsafeBSparseUnsafeBSL parseEnum parseEnum' parseWithReadparseWithRead'maybeParseWithRead readsEnumreadsWithParsevalidvalidOfmkValiduntypedValidOfmkUntypedValidmkUntypedValidQQ$fTextualByteString$fTextualByteString0 $fTextualText$fTextualText0 $fTextual[] $fRenderText $fParseText $fRenderText0 $fParseText0$fRenderByteString$fParseByteString$fRenderByteString0$fParseByteString0 $fRender[] $fParse[]$fRenderWord64 $fParseWord64$fRenderWord32 $fParseWord32$fRenderWord16 $fParseWord16 $fRenderWord8 $fParseWord8 $fRenderWord $fParseWord$fRenderInteger$fParseInteger $fRenderInt64 $fParseInt64 $fRenderInt32 $fParseInt32 $fRenderInt16 $fParseInt16 $fRenderInt8 $fParseInt8 $fRenderInt $fParseInt $fRenderFloat $fParseFloat$fRenderDouble $fParseDouble $fRenderChar $fParseCharbaseGHC.BaseString text-1.2.3.2Data.Text.InternalTextData.Text.Internal.Lazybytestring-0.10.10.0Data.ByteString.Internal ByteStringData.ByteString.Lazy.InternalData.Text.Internal.BuilderBuilder Data.ByteString.Builder.InternalData.ByteString.Short.InternalShortByteStringGHC.ShowShow GHC.MaybeMaybeGHC.ReadReadText.ParserCombinators.ReadPReadStemplate-haskellLanguage.Haskell.TH.SyntaxLift Data.ProxyProxyghc-prim GHC.TypesTrue