`V      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~*Copyright (c) 2007--2015 wren gayle romanoBSD3wren@community.haskell.org experimental Haskell98 Safe-InferredApply a list function safely, i.e. when the list is non-empty. All other functions will throw errors on empty lists, so use this to make your own safe variations.&Minimize the number of string literals1Apply a list function unsafely. For internal use.Tail-recursive driverTail-recursive driveraReturn an element of the list which maximizes the function according to a user-defined ordering.bReturn all elements of the list which maximize the function according to a user-defined ordering.Return an element of the list which maximizes the function according to a user-defined ordering, and return the value of the function at that element as well.Return all elements of the list which maximize the function according to a user-defined ordering, and return the value of the function at those elements as well.;Return an element of the list which maximizes the function.<Return all elements of the list which maximize the function.zReturn an element of the list which maximizes the function, and return the value of the function at that element as well.}Return all elements of the list which maximize the function, and return the value of the function at those elements as well.;Return an element of the list which minimizes the function.<Return all elements of the list which minimize the function.zReturn an element of the list which minimizes the function, and return the value of the function at that element as well.}Return all elements of the list which minimize the function, and return the value of the function at those elements as well. *Copyright (c) 2007--2015 wren gayle romanoBSD3wren@community.haskell.orgstable Haskell98 Safe-InferredAn 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 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]2 list directly without actually constructing it).In order to evaluate to WHNF  is strict in both list arguments, as it must be, to determine that the lists are of the same length. This means it can survive one infinite list (yielding J) 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 that tightness can make it hard to interrupt (lists of 1 million 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 .yA 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. the list is still lazily evaluated, this just makes the functions strict in their argument.*Copyright (c) 2007--2015 wren gayle romanoBSD3wren@community.haskell.orgstable Haskell98 Safe-Inferred A variant of @ which is least-strict for comparing against a boundary length. lengthBoundD 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 boundary length and so the function should not rely on the true values of either of the numbers being compared. A variant of  which is least-strict for comparing the lengths of two lists. This is as strict as the length of the shorter list (which allows comparing an infinite list against a finite list).2If you're going to immediately follow this with a  function then see Data.List.Extras.Pair instead.*Copyright (c) 2007--2015 wren gayle romanoBSD3wren@community.haskell.orgstable Haskell98 Safe-InferredePattern matching for lists, as a first-class function. (Could also be considered as a non-recursive .) If the list argument is []m then the default argument is returned; otherwise the function is called with the head and tail of the list.*Copyright (c) 2007--2015 wren gayle romanoBSD3wren@community.haskell.orgstableHaskell98 (+CPP) Safe-Inferred  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<*56+,378 J-edcba`_^]\[ZYXWVUT "2L./ ~}|{z!# $09:;1%SR&'srqponmlkjihgf()4wv?OyuECDBItPxHGFMA=>QNK@    !"#$%&'()*+,- ./012345 6789/:;<= >? >@ >A >B >CDEF >GH >IJKL >M >NJOJP >Q >R >STU V W X Y Z [ \ ] ^ _ ` abcdebfbghihjJk7l7m7n7o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~/////////////////<<<<<<<<          list-extras-0.4.1.4Prelude.ListlessData.List.Extras.ArgmaxData.List.Extras.PairData.List.Extras.LazyLengthData.List.ExtrasbaseGHC.Errerrorghc-primGHC.Primseq System.IOprint Data.TuplefstsndGHC.Base otherwise$ undefinedGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn fromIntegral realToFrac toInteger toRationalBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShow GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerOrderingRationalIO Data.EitherEitherStringFalseTrueLeftRightLTEQGTPrelude$!readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioErrorGHC.IOFilePath userErrorIOError Text.Readreadreadseitherlex readParenreadList readsPrecacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsuccText.ParserCombinators.ReadPReadS showParen showStringshowCharshowsShowSshowListshow showsPrec Control.Monad=<< Data.MaybemaybeNothingJustMaybeuncurrycurrysubtractsignumabs*+asTypeOfuntilflip.constid/=compare<=&&||not<>maxmin catchNullargmaxBy argmaxesByargmaxWithMaxByargmaxesWithMaxByargmaxargmaxes argmaxWithMaxargmaxesWithMaxargminargmins argminWithMinargminsWithMin zipWithByzipBy pairWithBypairWithpairBypairbijectbiject' lengthBound lengthComparelistemptyListError throwNull_argmaxWithMaxBy_argmaxesWithMaxBy _argmaxBy _argmaxesByboolGHC.ListzipfoldrzipWithlength