úÎ!ðÄéd      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc MA module that contains the typeclasses on which the rest of the module works.hapytexeu+gh@gmail.com experimentalPOSIXSafe46SX;ZordinalÒA type class used to split a value, based on the name of a number in a specific language. The value that is used to split, is often, depending on the language, the largest value smaller than the given number.ordinalA function that takes an dj value, and based on the object splits it with a value and the name of the number in a specific language.ordinal9A type class used for num to word algorithms. It maps an d type i to e.ordinalConvert the given number to a e. object that is the given number in words in cardinal form.ordinalConvert the given number to a e. object that is the given number in words in cardinal form.ordinalConvert the given number to a e. object that is the given number in words in short cardinal form.ordinalConvert the given number to a e8 object that is the given number in words in the given .ordinalrA data type that specifies the different types of numbers. These can be used to specify the "target format". The f number type is .ordinalCardinal# numbers like one, two, three, etc. ordinalOrdinal( numbers like first, second, third, etc. ordinal Short ordinal! numbers like 1st, 2nd, 3rd, etc. ordinalA g variant of the  ` data type. This is used since the division part can be one, or the remainder part can be zero. ordinal¯A data type used to convert a number into segments. Each segment has an optional division and remainder part, together with a value and the name of that value in a language.ordinalThe optional division part. h! if the division is equal to one.ordinalThe value of the given segment.ordinalCThe name of the value of the given segment, in a specific language.ordinalThe optional remainder part. h# if the remainder is equal to zero.ordinal7A type alias of a function that converts a number to a   for that number.ordinalA type alias of a  function, with a free d variable.ordinalüA type alias of a function that maps a number to a 2-tuple that contains a number and the word for that number. This number is normally the largest number smaller than the given number. In case no name exists for a number smaller than the given one h is returned.ordinalA type alias of a  function with a free d variable.ordinal¡A type alias of a function that is used to merge the names of two numbers according to gramatical rules. The type parameter is the type of the numbers to merge.ordinalA type alias for a  function, with a free d variable.ordinal4A type alias for a function that maps a number to a e object.ordinal?The conversion algorithm that transforms the number into words.ordinalThe number to transform into a cardinal form.ordinalThe number in words in a cardinal form.ordinal?The conversion algorithm that transforms the number into words.ordinalThe number to transform into a ordinal form.ordinalThe number in words in a ordinal form.ordinal?The conversion algorithm that transforms the number into words.ordinalThe number to transform into a ordinal form.ordinalThe number in words in a ordinal form.ordinal*The given format to convert the number to.ordinal?The conversion algorithm that transforms the number into words.ordinal,The number to transform into the given form.ordinal&The number in words in the given form.    Safep<`ijklmnopqrstuvwxyz{|`A module that constructs template Haskell to make defining an ordinize function more convenient.hapytexeu+gh@gmail.com experimentalPOSIXSafeFÀ&ordinal¥Construct a function with the given name that maps suffixes in the first item of the 2-tuples to the second item of the 2-tuples. It turns this into a declaration.&ordinal-The name of the function, often this is just  ordinize'ordinal]The list of suffixes and their corresponding mapping, the suffixes should be non-overlapping.ordinal]The name of the post-processing function in case there was no match, one can for example use }.ordinalThe corresponding declaration.&&A module used to define numeric prefixes for long and  short scales.hapytexeu+gh@gmail.com experimentalPOSIXNoneO‡'ordinal A list of Latin prefixes, used for the long and  short scale.(ordinalThe Latin prefixes in a ~ for O(1) lookup.)ordinalLookup the given Latin prefix for the given value.'ordinal A list of e8 objects. This makes explicit recursion more convenient.(ordinalA ~ of e objects to allow fast lookup.)ordinal#The value to map on a Latin prefix.ordinal2The corresponding Latin prefix, given this exists.'()(')\A module that contains functions to construct algorithmic conversions from numbers to words.hapytexeu+gh@gmail.com experimentalPOSIXNonePSXŽ)*ordinalRA data type used for to map larger numbers to words. This data type supports the  short scale and  long scale with Latin% prefixes, and custom suffixes. The f value is the  short scale with illion as suffix. This is used in English for large numbers.-ordinalPA data type for algorithmic number to word conversions. Most western languages likely can work with this data type.ordinal3The word used as prefix to denote negative numbers.€ordinalThe word used to denote one in the language.ordinalA ~2 of small numbers, the first item is the word for two4 and each successor is the word for the next number.‚ordinal”A list of 2-tuples where the first item contains the value, and the second the corresponding word, the values are ordered in descending value order.ƒordinalYA function that is used to generate words for large values (greater than or equal to one million), often constructed with the  short scale or  long scale.„ordinal\A function that specifies how to merge words based on the grammar of that specific language.…ordinalA function to conver the cardinal form of a number in an ordinal one.†ordinal)A function that converts a number to its  short ordinal form..ordinal Construct a % function for the given suffix for a  short scale./ordinal Construct a ' function for the given suffixes for a  long scale.0ordinal Construct a % function for the given suffix for a  short scale, the names are written in  title case.1ordinal Construct a ' function for the given suffixes for a  long scale, the names are written in  title case.2ordinal Generate a value splitter for a *7 but where the result is post-processed by a function.3ordinalA smart constructor for the -8 type. This constructor allows one to use an arbitrary ‡T type for the low words and mid words. It will also order the midwords accordingly.4ordinalConvert the given number to a   with the given ~q of low numbers. Mid words and large numbers are not taken into account. This is often the next step after the 5.5ordinalConvert the given number to a   with the given ~ of low numbers, and the sortedg list of mid numbers. Large numbers are not taken into account. This is often the next step after the 6.6ordinalConvert the given number to a   with the given ~ of low numbers, the sorted list of mid numbers, and a  for large numbers.7ordinalConvert the given number to a   with the given ~ of low numbers, the sorted list of mid numbers, and a  for large numbers.8ordinalUse the given  to compress the   to a single e) object that represents the given number.2ordinalThe post-processing function.ordinalThe * that is used.ordinalThe  result.4ordinalA ~ of low words.ordinal)The function that maps the number to the  .5ordinalA ~ of low words.ordinal3The list of name and the names of these numbers in  descending order for the mid words.ordinal)The function that maps the number to the  .6ordinalA ~ of low words.ordinal3The list of name and the names of these numbers in  descending order for the mid words.ordinalThe 2 used for large numbers, likely a splitter from a  short scale or  long scale.ordinal)The function that maps the number to the  .7ordinalA ~ of low words.ordinal3The list of name and the names of these numbers in  descending order for the mid words.ordinalThe 2 used for large numbers, likely a splitter from a  short scale or  long scale.ordinal)The function that maps the number to the  .8ordinalThe value used for one in the specific language.ordinalThe Q for the specific language that implements the grammar rules how to merge values.ordinal The given   value to turn into a e object.ordinalThe e; object that contains the name of the number stored in the  .*+,-./012345678-3*+,./01274568,A module to convert numbers to words in the German language.hapytexeu+gh@gmail.com experimentalPOSIXNone £² @ordinalA -$ to convert numbers to words in the German language.Aordinal0The words used to mark a negative number in the German language.BordinalThe word used for the number zero in the German language.CordinalThe word used for the number one in the German language.DordinalA ~- that contains the word used for the numbers two to twenty in the German language.Eordinal=A list of 2-tuples that contains the names of values between thirty and thousand in the German language.FordinalhA merge function that is used to combine the names of words together to larger words, according to the German grammar rules.Gordinal.A function that converts a number in words in cardinal form to ordinal form according to the German language rules.Hordinal$An algorithm to obtain the names of large% numbers (one million or larger) in German. German uses a  long scale with the illion and illiard suffixes.ˆordinal&A function to convert a number to its  short ordinal form in German.@ordinalA -: that can be used to convert numbers to different formats.ˆordinalThe number to convert to  short ordinal form.ordinalThe equivalent e specifying the number in  short ordinal form. @ABCDEFGH @GABCDEHF,A module to convert numbers to words in the French language.hapytexeu+gh@gmail.com experimentalPOSIXNone ¹ IordinalA -$ to convert numbers to words in the French language.Jordinal0The words used to mark a negative number in the French language.KordinalThe word used for the number zero in the French language.LordinalThe word used for the number one in the French language.MordinalA ~- that contains the word used for the numbers two to twenty in the French language.Nordinal=A list of 2-tuples that contains the names of values between thirty and thousand in the French language.OordinalhA merge function that is used to combine the names of words together to larger words, according to the French grammar rules.Pordinal.A function that converts a number in words in cardinal form to ordinal form according to the French language rules.Qordinal$An algorithm to obtain the names of large% numbers (one million or larger) in French. French uses a  long scale with the illion and illiard suffixes.‰ordinal&A function to convert a number to its  short ordinal form in French.IordinalA -: that can be used to convert numbers to different formats.‰ordinalThe number to convert to  short ordinal form.ordinalThe equivalent e specifying the number in  short ordinal form. IJKLMNOPQ IPJKLMNQO,A module to convert numbers to words in the English language.hapytexeu+gh@gmail.com experimentalPOSIXNone ÎE Rordinal.A function that converts a number in words in cardinal form to ordinal form according to the English language rules.SordinalA -$ to convert numbers to words in the English language.Tordinal0The words used to mark a negative number in the English language.UordinalThe word used for the number zero in the English language.VordinalThe word used for the number one in the English language.WordinalA ~- that contains the word used for the numbers two to twenty in the English language.Xordinal=A list of 2-tuples that contains the names of values between thirty and thousand in the English language.YordinalhA merge function that is used to combine the names of words together to larger words, according to the English grammar rules.Zordinal$An algorithm to obtain the names of large% numbers (one million or larger) in English. English uses a  short scale with the illion suffix.Šordinal&A function to convert a number to its  short ordinal form in English.SordinalA -: that can be used to convert numbers to different formats.ŠordinalThe number to convert to  short ordinal form.ordinalThe equivalent e specifying the number in  short ordinal form. RSTUVWXYZ SRTUVWXZY,A module to convert numbers to words in the Dutch language.hapytexeu+gh@gmail.com experimentalPOSIXNone ãb [ordinal.A function that converts a number in words in cardinal form to ordinal form according to the Dutch language rules.\ordinalA -$ to convert numbers to words in the Dutch language.]ordinal0The words used to mark a negative number in the Dutch language.^ordinalThe word used for the number zero in the Dutch language._ordinalThe word used for the number one in the Dutch language.`ordinalA ~- that contains the word used for the numbers two to twenty in the Dutch language.aordinal=A list of 2-tuples that contains the names of values between thirty and thousand in the Dutch language.bordinalhA merge function that is used to combine the names of words together to larger words, according to the Dutch grammar rules.cordinal$An algorithm to obtain the names of large% numbers (one million or larger) in Dutch. Dutch uses a  long scale with the iljoen and iljard suffixes.‹ordinal&A function to convert a number to its  short ordinal form in Dutch.\ordinalA -: that can be used to convert numbers to different formats.‹ordinalThe number to convert to  short ordinal form.ordinalThe equivalent e specifying the number in  short ordinal form. [\]^_`abc \[]^_`acb _A module that re-exports the algorithms to convert numbers to words in the supported languages.hapytexeu+gh@gmail.com experimentalPOSIXNoneåý@IS\\SI@ XThe main module that converts numbers to words. This module re-exports a set of modules.hapytexeu+gh@gmail.com experimentalPOSIXNoneèT/ '()*+,-./012345678@IS\Œ   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTLMNOPQRSRULMNOPQSRVLMNOPQSWXYZ[\]^_W`aW`b c d e f g h i j k l m n o p q r s t u vWwxyz{|}~€‚ƒW„…††††‡&ordinal-0.3.0.0-LsOcCl8KRSmCvKqxvA46BoText.Numerals.Class Text.Numerals.Algorithm.TemplateText.Numerals.PrefixText.Numerals.AlgorithmText.Numerals.Languages.GermanText.Numerals.Languages.FrenchText.Numerals.Languages.EnglishText.Numerals.Languages.DutchText.Numerals.InternalText.Numerals.Languages Text.Numerals ValueSplit valueSplit NumToWord toCardinal toOrdinaltoShortOrdinaltoWords NumberTypeCardinalOrdinal ShortOrdinalMNumberSegment NumberSegmentsegmentDivision segmentValue segmentTextsegmentRemainderNumberSegmentingFreeValueSplitter ValueSplitterFreeMergerFunctionMergerFunctionFreeNumberToWords NumberToWords$fDefaultNumberType$fFoldableNumberSegment$fFunctorNumberSegment$fEqNumberSegment$fOrdNumberSegment$fReadNumberSegment$fShowNumberSegment$fBoundedNumberType$fEnumNumberType$fEqNumberType$fOrdNumberType$fReadNumberType$fShowNumberTypeordinizeFromDictlatinPrefixes' latinPrefixes latinPrefixHighNumberAlgorithm ShortScale LongScaleNumeralsAlgorithm shortScale longScaleshortScaleTitlelongScaleTitle valueSplit'numeralsAlgorithm toSegmentLow toSegmentMid toSegmentHigh toSegmentscompressSegments$fNumToWordNumeralsAlgorithm$fValueSplitHighNumberAlgorithm$fDefaultHighNumberAlgorithm$fEqHighNumberAlgorithm$fOrdHighNumberAlgorithm$fReadHighNumberAlgorithm$fShowHighNumberAlgorithmgerman negativeWord' zeroWord'oneWord' lowWords' midWords'merge' ordinize' highWords'frenchenglishdutchbaseGHC.RealIntegral text-1.2.3.1Data.Text.InternalText1data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQData.Default.ClassDefault GHC.MaybeMaybeNothing _stripLastIf _mergeWith'_mergeWithSpace_mergeWithHyphen _mergeWith _showText _divisableBy _divisable100_div10_rem10_hundred _thousand_million_billion _trillion _iLogFloor_iLog_replaceSuffix _showIntegral _showPositiveGHC.Baseid&vector-0.12.1.2-KSb3nsihfSnCDYOh5IjlsC Data.VectorVector minusWordoneWordlowWordsmidWords highWords mergeFunctionordinize shortOrdinal Data.FoldableFoldable shortOrdinal'