@M6     portable experimentalwren@community.haskell.orgTail-recursive driver Direct version of  which doesn't catch the empty  list error. ;Returns the element of the list which maximizes a function * according to a user-defined ordering, or Nothing if the list  was empty. Direct version of  which doesn't catch the empty list  error. >Returns the element of the list which maximizes the function,  or Nothing if the list was empty. Direct version of  which doesn't catch the empty list  error. >Returns the element of the list which minimizes the function,  or Nothing if the list was empty. portablestablewren@community.haskell.orgAn unsafe variant of  to fill out the interface.  A version of - that uses a user-defined list homomorphism. A generic version of   . The first argument is a tuple B homomorphism (i.e. a function for how to combine values from the ? two lists), the second two arguments form a list homomorphism  (i.e. so you can  the [c] list directly without actually  constructing it). In order to evaluate to WHNF  is strict in both list B arguments, as it must be, to determine that the lists are of the D same length. This means it can survive one infinite list (yielding  ) but that it can'%t survive two. The implementation is > very efficient and uses a tight tail-recursive loop, however @ with extremely long lists it will be churning through heap and B that tightness can make it hard to interrupt (lists of 1 million B elements return in 1~2 seconds, but lists of 10 million can lock  your system up). A safe version of . A safe version of - that uses a user-defined list homomorphism. A safe version of . =A bijection from a list of functions and a list of arguments = to a list of results of applying the functions bijectively.  A version of  ' that applies functions strictly. N.B. C the list is still lazily evaluated, this just makes the functions  strict in their argument.   portablestablewren@community.haskell.org A variant of % which is least-strict for comparing ? against a boundary length. This function is defined primarily ? for use by rewrite rules rather than for direct use (though it's  fine for that too).  lengthBound, is polymorphic in the return of the helper  function so we can use  as well as , , ,  , , /. If you want to use any other functions, know / that we only preserve the ordering of the list's length vs the A boundary length and so the function should not rely on the true 1 values of either of the numbers being compared. Flips  and  . Used by  in rewrite rules.  A variant of % which is least-strict for comparing B the lengths of two lists. This is as strict as the length of the A shorter list (which allows comparing an infinite list against a ; finite list). The function itself is trivial, but again it's ' designed primarily for rewrite rules. If you'+re going to immediately follow this with a  function  then see Data.List.Extras.Pair instead. portablestablewren@community.haskell.org  portablestablewren@community.haskell.org !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !"#$%&'()*+,-./010234567689:;<;=;>;?6@ABCD;E;FGHI9J9KLM6NOPQ9RHS9TUVWXHYHZ[6\]9^_`abcdeafaghi.j.k.l.m.n.o.p.q.r.s.t.u*vwx_y_z_{_|P}P~PPPPHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH9999999999999999999999966666UUUUUUUUa;;;;;;00list-extras-0.1.1Data.List.Extras.ArgMaxData.List.Extras.PairData.List.Extras.LazyLengthbaseGHC.ListGHC.Base Data.MaybeData.List.ExtrasPrelude.Listless argmaxBy'argmaxByargmax'argmaxargmin'argmin zipWithByzipBy pairWithBypairWithpairBypairbijectbiject' lengthBoundnegateOrdering lengthCompare _argmaxByzipfoldrNothingzipWithlengthcompare>>===/=<=<LTGTGHC.ErrerrorGHC.Primseq System.IOprint Data.Tuplefstsnd otherwise&&||GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTonegatefail>>=>>returnBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowBoolCharDoubleFloatIntIntegerOrderingRational GHC.IOBaseIO Data.EitherEitherStringFalseTrueLeftRightPrelude$!readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar undefined GHC.ExceptioncatchFilePathIOError userErrorioErrorreadList readsPreclexreadreads readParenText.ParserCombinators.ReadPReadSacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadix toRational toIntegerdivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionlcmgcd^^^oddeven realToFrac fromIntegralsignumabs*+subtractShowSshowListshow showsPrec showParen showStringshowCharshowseither Control.Monad=<<maxBoundminBoundfromEnumtoEnumpredsuccuncurrycurryJustMaybemaybeminmaxfmapEQasTypeOfuntil$flip.constidnot