úÎ3 0l#      !"portable experimentallibraries@haskell.org)&A space-efficient representation of a #, which supports various  efficient operations. A  contains full Unicode $s. %&The  value is the empty string. The . function prepends the given character to the  given string.  Convert a # into a  'The ' function creates a  out of the  first len elements of the given #.  Convert a  into a # The > function returns the length of the input list. Analogous to (. The E function returns the character in the string at the given position. The ) function returns the first element of a  or throws an  error if the string is empty. The  function returns the tail of a  or throws an error  if the string is empty. The  1 function returns True iff the argument is null. The  4 function appends the second string onto the first. The  > function applies a function to each character in the string. The  1 function filters out the appropriate substring. The   function behaves like ) on s. The  function behaves like * on s. The  function takes the first n characters of a . The  function drops the first n characters of a . The  function splits a  at a given index. The  function is analogous to the + function. The  function is analogous to the , function. The ? function returns True iff the given element is in the string. The 2 function returns a pair containing the result of  running both  and . The 6 function breaks a string at the first position which  satisfies the predicate. The + function splits the input on line-breaks. The , function concatenates the input list after  interspersing newlines. The  function is analogous to the - function. The  function is analogous to the . function. The  function reverses the string. The ! function concatenates a list of s. The  function takes a  and a list of s J and concatenates the list after interspersing the first argument between  each element of the list. The B function splits the input string on each occurrence of the given $. The B function takes a character predicate and splits the input string 2 at each character which satisfies the predicate. / The   function takes a  and two indices G and returns the substring of the input string between (and including)  these indices. ! Outputs a  to the specified 0.  NOTE: the representation of the  in the file is assumed to L be in the ISO-8859-1 encoding. In other words, only the least significant * byte is taken from each character in the . "Read a  directly from the specified 0. ? This is far more efficient than reading the characters into a #  and then using . NOTE: as with !,, the string representation in the file is  assumed to be ISO-8859-1. 12#  !"#!"    #  !"3      !"#$%&'()*+,-%./%.0%&1%.2%.3%45%467%89:;<packedstring-0.1.0.1Data.PackedString PackedStringnilPSconsPS packStringunpackPSlengthPSindexPSheadPStailPSnullPSappendPSmapPSfilterPSfoldlPSfoldrPStakePSdropPS splitAtPS takeWhilePS dropWhilePSelemPSspanPSbreakPSlinesPS unlinesPSwordsPS unwordsPS reversePSconcatPSjoinPSsplitPS splitWithPSsubstrPShPutPShGetPSbaseGHC.BaseStringghc-prim GHC.TypesCharPSpackedStringTc packNCharsGHC.Listlengthfoldlfoldr takeWhile dropWhile Data.Listwordsunwordsfirst_pos_that_satisfiesGHC.IO.Handle.TypesHandlecon_PSty_PackedString