1z      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy*(c) 2013 Chris Done, 2013 Shachaf Ben-KikiBSD3chrisdone@gmail.com experimentalGHC Safe-Inferred!"24HMYThe type of a monoid with holes. The underlying monoid is represented by type parameter m. The rK is the result type and stays polymorphic until the very last moment when run is called. The last argument aI is always a function with zero or more arguments, finally resulting in rR. Ordering the arguments in this order allows holey monoids to be composed using z2, stacking the expected arguments. Note that the {* constraint is only used in the identity  and in composing two s. A formatter.7Composition operator. The same as category composition.MFunction compose two holeys. Will feed the result of one holey into another.!Insert a constant monoidal value. 'Monadic indexed bind for holey monoids. HInsert a monoidal value that is not specified until the computation is runk. The argument that is expected later is converted to the monoid type using the given conversion function.|/Very useful instance for writing format string.  |}    |}*(c) 2013 Chris Done, 2013 Shachaf Ben-KikiBSD3chrisdone@gmail.com experimentalGHCNone!"HM$ Output a lazy text. Output a strict text. Output a string.%Output a showable value (instance of ~) by turning it into :@format ("Value number " % shown % " is " % shown % ".") 42 False"Value number 42 is False."Output a character.Build a builder.Like  but for formatters.#Build anything that implements the  Buildable class./Render an integral e.g. 123 -> "123", 0 -> "0".KRender some floating point with the usual notation, e.g. 123.32 => "123.32"~Render a floating point number using scientific/engineering notation (e.g. 2.3e123), with the given number of decimal places._Render a floating point number using normal notation, with the given number of decimal places.Render a floating point number, with the given number of digits of precision. Uses decimal notation for values between 0.1 and 9,999,999, and scientific notation otherwise.`Render a floating point number using the smallest number of digits that correctly represent it.Render a scientific number.(Render a scientific number with options.,Shows the Int value of Enum instances using .4format ("Got: " % char % " (" % asInt % ")") 'a' 'a' "Got: a (97)"nPad the left hand side of a string until it reaches k characters wide, if necessary filling with character c.oPad the right hand side of a string until it reaches k characters wide, if necessary filling with character c.vPad the left & right hand side of a string until it reaches k characters wide, if necessary filling with character c.(Group integral numbers, e.g. groupInt 2 z on 123456 -> "12.34.56". 0Fit in the given length, truncating on the left.!1Fit in the given length, truncating on the right."2Add commas to an integral, e.g 12000 -> "12,000".#6Add a suffix to an integral, e.g. 1st, 2nd, 3rd, 21st.$&English plural suffix for an integral.%Render an integral at base n.&ORender an integer using binary notation. (No leading 0b is added.) Defined as bin = % 2.'NRender an integer using octal notation. (No leading 0o is added.) Defined as oct = % 8.(jRender an integer using hexadecimal notation. (No leading 0x is added.) Has a specialized implementation.):Render an integer using binary notation with a leading 0b.*9Render an integer using octal notation with a leading 0o.+?Render an integer using hexadecimal notation with a leading 0x.KInternal function that converts a number to a base base-2 through base-36.A simpler variant of  > that only prepends a dash and doesn't know about parenthesesLike  , but handles up to base-36$  !"#$%&'()*+"  !"#$%&'()*+" "#$ !%&'()*+$  !"#$%&'()*+ Safe-Inferred,$Run the formatter and return a lazy  value.-&Run the formatter and return a strict  value..Run the formatter and return a  value./3Run the formatter and print out the text to stdout.04Run the formatter and put the output onto the given .12Run the formatter and return a list of characters.,-./01,-./01,-./01,-./01*(c) 2013 Chris Done, 2013 Shachaf Ben-KikiBSD3chrisdone@gmail.com experimentalGHCNone!"HM2Output a lazy text.3/Render an integral e.g. 123 -> "123", 0 -> "0".4CRender an integer using binary notation. (No leading 0b is added.)5ARender an integer using octal notation. (No leading 0o is added.)6HRender an integer using hexadecimal notation. (No leading 0x is added.)7Output a strict text.8Output a string.9%Output a showable value (instance of ~) by turning it into .:Output a character.;~Render a floating point number using scientific/engineering notation (e.g. 2.3e123), with the given number of decimal places.<_Render a floating point number using normal notation, with the given number of decimal places.=Render a floating point number, with the given number of digits of precision. Uses decimal notation for values between 0.1 and 9,999,999, and scientific notation otherwise.>`Render a floating point number using the smallest number of digits that correctly represent it.?4Pad the left hand side of a string until it reaches k7 characters wide, if necessary filling with character ch.@5Pad the right hand side of a string until it reaches k7 characters wide, if necessary filling with character ch.23456789:;<=>?@23456789:;<=>?@23456789:;<=>?@23456789:;<=>?@NoneHM/ATimezone offset on the format -HHMM.BTimezone name.CAs  locale (e.g. %a %b %e %H:%M:%S %Z %Y).DSame as %H:%M.ESame as %H:%M:%S.FAs  locale (e.g. %H:%M:%S).GAs  locale (e.g.  %I:%M:%S %p).HDay half from ( locale), converted to lowercase, am, pm.IDay half from ( locale), AM, PM.J$Hour, 24-hour, leading 0 as needed, 00 - 23.K$Hour, 12-hour, leading 0 as needed, 01 - 12.L(Hour, 24-hour, leading space as needed,  0 - 23.M(Hour, 12-hour, leading space as needed,  1 - 12.NMinute, 00 - 59.OSecond, without decimal part, 00 - 60.P&Picosecond, including trailing zeros,  000000000000 -  999999999999.QDecimal point and up to 12 second decimals, without trailing zeros. For a whole number of seconds, this produces the empty string.SSame as %m/%d/%y.TSame as %Y-%m-%d.UAs  locale (e.g. %m/%d/%y).VYear.WLast two digits of year, 00 - 99.X2Century (being the first two digits of the year), 00 - 99.YMonth name, long form ( from  locale), January - December.Z %H] month name, short form ( from  locale), Jan - Dec@.[$Month of year, leading 0 as needed, 01 - 12.\#Day of month, leading 0 as needed, 01 - 31.]Day of month, 1st, 2nd, 25th, etc.^'Day of month, leading space as needed,  1 - 31._%Day of year for Ordinal Date format, 001 - 366.`Year for Week Date format e.g. 2013.a.Last two digits of year for Week Date format, 00 - 99.b9Century (first two digits of year) for Week Date format, 00 - 99.cWeek for Week Date format, 01 - 53.dDay for Week Date format, 1 - 7.eDay of week, short form ( from  locale), Sun - Sat.fDay of week, long form ( from  locale), Sunday - Saturday.g6Week number of year, where weeks start on Sunday (as sundayStartWeek), 00 - 53.hDay of week number, 0 (= Sunday) - 6 (= Saturday).i6Week number of year, where weeks start on Monday (as mondayStartWeek), 00 - 53.jiDisplay a time span as one time relative to another. Input is assumed to be seconds. Typical inputs are  and .k.Display the absolute value time span in years.l-Display the absolute value time span in days.m.Display the absolute value time span in hours.n0Display the absolute value time span in minutes.o0Display the absolute value time span in seconds.p0Formatter call. Probably don't want to use this.0ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijDisplay 'in/ago'?+Example: '3 seconds ago', 'in three days'.)kDecimal places.lDecimal places.mDecimal places.nDecimal places.oDecimal places.p0ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop0ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop0ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop *(c) 2013 Chris Done, 2013 Shachaf Ben-KikiBSD3chrisdone@gmail.com experimentalGHCNone!"HM2  !"#$%&'()*+,-./01,-./01NoneqSimple hello, world!rPrinting strings.sPrinting texts.tPrinting builders.uPrinting integers.vPrinting floating points.w$Printing integrals in hex (base-16).xPadding.qrstuvwxqrstuvwxqrstuvwxqrstuvwxNoneFyBFormat the duration from start to end (args passed in that order). Examples: "4.00 s 500.69 ms 1.20 ms 19.38 s yyyy  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~33333333formatting-6.1.0Formatting.FormattersFormatting.HoleyFormatting.InternalFormatting.ShortFormattersFormatting.TimeFormatting.ExamplesFormatting.ClockNumeric showSigned Data.Char intToDigit Formattingtext-format-0.3.1.1Data.Text.Buildable BuildableHoleyHoleyTrunHMFormat%%.nowbindlatertextstextstringshowncharbuilderfconstbuildintfloatexptfixedprecshortestsciscifmtasIntleftrightcentergroupIntfitLeftfitRightcommasordspluralbasebinocthex prefixBin prefixOct prefixHexformatsformatbprintfprinthprintformatToStringtdboxstsshceffpfsflrtztzNamedatetimehmhmshmsLhmsPLdayHalfdayHalfUhour24hour12hour24Shour12Sminutesecondpicodecimalsepoch dateSlashdateDash dateSlashLyearyycentury monthNamemonthNameShortmonth dayOfMonth dayOfMonthOrd dayOfMonthSdayweekYearweekYY weekCenturyweek dayOfWeek dayNameShortdayName weekFromZerodayOfWeekFromZero weekOfYearMondiffyearsdayshoursminutessecondsfmthellostringstextsbuildersintegersfloatshexespadding timeSpecsGHC.Base. Data.MonoidMonoid$fIsStringHoleyT$fFunctorHoleyTGHC.ShowShow text-1.2.0.3Data.Text.Internal.LazyTextconstGHC.EnumfromEnumatBase showSigned' intToDigit'Data.Text.InternalData.Text.Internal.BuilderBuilderGHC.IO.Handle.TypesHandleold-locale-1.0.0.6 System.Locale dateTimeFmttimeFmt time12FmtamPmdateFmt Data.TuplefstmonthssndwDays time-1.4.2Data.Time.Clock.UTCNominalDiffTimeData.Time.Clock.ScaleDiffTime