h$@:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                Copyright (C) 2007 John GoerzenBSD3+David Fox , Andreas Abelstableportable Safe-Inferred> ListLikeThis is the primary class for structures that are to be considered foldable. A minimum complete definition provides  and . Instances of + can be folded, and can be many and varied.$These functions are used heavily in  Data.ListLike. ListLikeLeft-associative fold ListLikeStrict version of . ListLike A variant of 7 with no base case. Requires at least 1 list element.ListLikeRight-associative fold ListLikeStrict version of  ListLikeLike , but with no starting value ListLike9Combine the elements of a structure using a monoid.   =   id ListLike7Map each element to a monoid, then combine the results ListLike)Monadic version of left fold, similar to . ListLike*A map in monad space, discarding results. ListLike7Evaluate each action, ignoring the results. Same as   .       Copyright (C) 2007 John GoerzenBSD3+David Fox , Andreas AbelstableportableNone->?(ListLikeAn extension to  for those data types that are capable of dealing with infinite lists. Some  functions are capable of working with finite or infinite lists. The functions here require infinite list capability in order to work at all. ListLike;An infinite list of repeated calls of the function to args ListLike0An infinite list where each element is the same ListLike+Converts a finite list into a circular one ListLike A version of  with a single type parameter, the item type is obtained using the  type function from .ListLike+The class implementing list-like functions.&It is worth noting that types such as  can be instances of . Due to their specific ways of operating, they may not behave in the expected way in some cases. For instance,  may not increase the size of a map if the key you have given is already in the map; it will just replace the value already there.$Implementators must define at least: singletonheadtailnull or genericLengthListLikeThe empty list ListLike0Creates a single-element list out of an element ListLike?Like (:) for lists: adds an element to the beginning of a list ListLike"Adds an element to the *end* of a . ListLike Combines two lists. Like (++). ListLike Extracts the first element of a . ListLike/Extract head and tail, return Nothing if empty ListLikeExtracts the last element of a . ListLike#Gives all elements after the head. ListLike8All elements of the list except the last one. See also 7. ListLike!Tests whether the list is empty. !ListLikeLength of the list. See also ]. "ListLikeApply a function to each element, returning any other valid . # will always be at least as fast, if not faster, than this function and is recommended if it will work for your purposes. See also I. #ListLikeLike ", but without the possibility of changing the type of the item. This can have performance benefits for things such as ByteStrings, since it will let the ByteString use its native low-level map implementation. $ListLike Reverse the elements in a list. %ListLike2Add an item between each element in the structure &ListLikeFlatten the structure. 'ListLikeMap a function over the items and concatenate the results. See also (.(ListLikeLike ', but without the possibility of changing the type of the item. This can have performance benefits for some things such as ByteString. )ListLike'True if any items satisfy the function *ListLike'True if all items satisfy the function +ListLikeThe maximum value of the list ,ListLikeThe minimum value of the list -ListLikeGenerate a structure with the specified length with every element set to the item passed in. See also a .ListLike2Takes the first n elements of the list. See also ^. /ListLike2Drops the first n elements of the list. See also _ 0ListLikeEquivalent to (. n xs, / n xs) . See also `. 1ListLikeReturns all elements at start of list that satisfy the function. 2ListLikeDrops all elements from the start of the list that satisfy the function. 3ListLikeDrops all elements from the end of the list that satisfy the function. 4ListLikeThe equivalent of (1 f xs, 2 f xs) 5ListLikeThe equivalent of 4 ( . f) 6ListLikeSplit a list into sublists, each which contains equal arguments. For order-preserving types, concatenating these sublists will produce the original list. See also Z. 7ListLike1All initial segments of the list, shortest first 8ListLike"All final segnemts, longest first 9ListLikeListLike$True if the item occurs in the list ?ListLike,True if the item does not occur in the list @ListLikeTake a function and return the first matching element, or Nothing if there is no such element. AListLike5Returns only the elements that satisfy the function. BListLikeReturns the lists that do and do not satisfy the function. Same as (A p xs, A ( . p) xs) CListLikeThe element at 0-based index i. Raises an exception if i is out of bounds. Like (!!) for lists. DListLike0Returns the index of the element, if it exists. EListLike?Returns the indices of the matching elements. See also G FListLikeTake a function and return the index of the first matching element, or Nothing if no element matches GListLike?'3?'3, Andreas AbelstableportableNone/ eListLikeAn extension to  for those data types that support I/O. These functions mirror those in  System.IO for the most part. They also share the same names; see the comments in  Data.ListLike for help importing them.Note that some types may not be capable of lazy reading or writing. Therefore, the usual semantics of  System.IO functions regarding laziness may or may not be available from a particular implementation.Minimal complete definition:hGetLine hGetContentshGethGetNonBlockinghPutStrfListLike'Reads a line from the specified handle gListLike7Read entire handle contents. May be done lazily like .hListLike%Read specified number of bytes. See  for particular semantics.iListLikeNon-blocking read. See  for more.jListLikeWriting entire data.kListLike"Write data plus newline character.lListLike Read one linemListLike%Read entire content from stdin. See g.nListLikeWrite data to stdout.oListLike,Write data plus newline character to stdout.pListLikeInteract with stdin and stdout by using a function to transform input to output. May be lazy. See  for more.qListLikeRead file. May be lazy.rListLikeWrite data to file.sListLikeAppend data to file.egfjknolmpqrshiegfjknolmpqrshiCopyright (C) 2007 John GoerzenBSD3+David Fox , Andreas AbelstableportableNone?1 tListLikeAn extension to , for those data types that are similar to a ". Minimal complete definition is u and . uListLikeConverts the structure to a  vListLike'Breaks a string into a list of strings wListLike%Breaks a string into a list of words xListLike Joins lines yListLike Joins words zListLikeGeneralize the  method t return any t. |ListLikeOverride this to avoid extra  conversions. }ListLikeOverride this to avoid extra  conversions. tzvxwy|}u{ tzvxwy|}u{None>2*None>2OCopyright (C) 2007 John GoerzenBSD3+David Fox , Andreas AbelstableportableNone >3ListLikeNewtype wrapper around Data.ByteString.Lazy.Char8.ByteString, this allows for ListLike instances with Char elements.ListLikeNewtype wrapper around Data.ByteString.Char8.ByteString, this allows for ListLike instances with Char elements.None>4$ None>4H None >4sNone4 None >4 None >4 Copyright (C) 2007 John GoerzenBSD3+David Fox , Andreas AbelstableportableNone?7ListLike%Returns True if all elements are TrueListLike#Returns True if any element is TrueListLikeThe sum of the listListLikeThe product of the listListLike=Converts a list of pairs into two separate lists of elements ListLike Converts to a MonadPlus instanceListLike,List-like destructor (like Data.Maybe.maybe)ListLike xs xss is equivalent to (& (% xs xss)). It inserts the list xs in between the lists in xss and concatenates the result. bc bcNone >?7None>8None>8BNone>8lNone8Copyright (C) 2007 John GoerzenBSD3+David Fox , Andreas AbelstableportableNone >9Copyright (C) 2007 John GoerzenBSD3+David Fox , Andreas AbelstableportableNone9  a`_^]\[ZYXWVUQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&T%$#"! bcegfjknolmpqrshit}|{zwuv !"#$%T &'()*+, -./0123456789:;<=>?@ABCDEFGbcHIJ egfjknolmpqrshiuvwz{|}KLMNOPQUVWXYZ[\]^_`at !"#"$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                ""%ListLike-4.7.7-KT9ZAo17qMI7NWKKwe88yeData.ListLike.StringData.ListLike.BaseData.ListLike.FoldableLLData.ListLike.IOData.ListLike.FMListData.ListLike.DListData.ListLike.CharStringData.ListLike.Text.TextData.ListLike.Text.TextLazyData.ListLike.Text.BuilderData.ListLike.CharsData.ListLike.UTF8Data.ListLike.UtilsData.ListLike.Vector.GenericData.ListLike.Vector.StorableData.ListLike.Vector.UnboxedData.ListLike.Vector.VectorData.ListLike.Instances Control.MonadfoldMData.MapMap System.IO hGetContentshGethGetNonBlockinginteractData.ListLike.TextData.ListLike.Vector Data.ListLikebase Data.String fromStringGHC.ExtsfromListtoList FoldableLLfoldlfoldl'foldl1foldrfoldr'foldr1foldfoldMapmapM_ sequence_$fFoldableLL[]aInfiniteListLikeiteraterepeatcycleListOpsListLikeempty singletonconssnocappendheadunconslasttailinitnulllengthmaprigidMapreverse intersperseconcat concatMaprigidConcatMapanyallmaximumminimum replicatetakedropsplitAt takeWhile dropWhile dropWhileEndspanbreakgroupinitstails isPrefixOf isSuffixOf isInfixOf stripPrefix stripSuffixelemnotElemfindfilter partitionindex elemIndex elemIndices findIndex findIndicessequencemapM rigidMapMnubdelete deleteFirstsunion intersectsortinserttoList' fromList' fromListLikenubBydeleteBydeleteFirstsByunionBy intersectBygroupBysortByinsertBy genericLength genericTake genericDropgenericSplitAtgenericReplicatezipzipWith $fListLike[]a ListLikeIOhGetLinehPutStr hPutStrLngetLine getContentsputStrputStrLnreadFile writeFile appendFile StringLiketoStringlineswordsunlinesunwordsshowfromStringLikefromText fromLazyText$fMonadZipFMList$fStringLikeFMList$fIsStringFMList$fInfiniteListLikeFMLista$fListLikeFMLista$fIsListFMList$fFoldableLLFMLista$fStringLikeDList$fListLikeDLista$fFoldableLLDListaCharStringLazyCSLunCSL CharStringCSunCS$fStringLikeCharString$fIsStringCharString$fListLikeIOCharStringChar$fListLikeCharStringChar$fIsListCharString$fFoldableLLCharStringChar$fStringLikeCharStringLazy$fIsStringCharStringLazy$fListLikeIOCharStringLazyChar$fListLikeCharStringLazyChar$fIsListCharStringLazy$fFoldableLLCharStringLazyChar$fReadCharStringLazy$fShowCharStringLazy$fEqCharStringLazy$fOrdCharStringLazy$fSemigroupCharStringLazy$fMonoidCharStringLazy$fReadCharString$fShowCharString$fEqCharString$fOrdCharString$fSemigroupCharString$fMonoidCharString$fStringLikeText$fListLikeIOTextChar$fListLikeTextChar$fFoldableLLTextChar$fNFDataBuilder$fStringLikeBuilder$fListLikeIOBuilderChar$fListLikeBuilderChar$fIsListBuilder$fFoldableLLBuilderCharCharsBTbuilder $fNFDataChars$fStringLikeChars$fListLikeIOCharsChar$fListLikeCharsChar $fIsListChars$fFoldableLLCharsChar$fIsStringChars $fMonoidChars$fSemigroupChars $fShowChars $fEqChars $fOrdChars $fMonoidUTF8$fSemigroupUTF8$fStringLikeUTF8$fListLikeIOUTF8Char$fListLikeUTF8Char $fIsListUTF8$fFoldableLLUTF8Char $fMonoidUTF80$fSemigroupUTF80$fStringLikeUTF80$fListLikeIOUTF8Char0$fListLikeUTF8Char0 $fIsListUTF80$fFoldableLLUTF8Char0andorsumproductunzip toMonadPluslist intercalate $fStringLikev $fIsStringv $fListLikeva$fFoldableLLva$fStringLikeVector$fIsStringVector$fListLikeVectora$fFoldableLLVectora$fListLikeSeqa$fFoldableLLSeqa$fStringLikeSeq$fListLikeIOSeqChar$fListLikeIOArrayChar$fStringLikeArray$fIsStringArray$fListLikeArraye $fIsListArray $fMonoidArray$fSemigroupArray$fFoldableLLArraye$fListLikeIOByteStringWord8$fListLikeByteStringWord8$fIsListByteString$fFoldableLLByteStringWord8$fListLikeIOByteStringWord80$fListLikeByteStringWord80$fIsListByteString0$fFoldableLLByteStringWord80$fInfiniteListLike[]a$fStringLike[]$fListLikeIO[]CharGHC.BaseidItemIsListghc-prim GHC.ClassesnotStringGHC.ShowShow