4     NoneEquivalent to  * Equivalent to  $ 2Split lists at delimiter specified by a condition " Drops empty groups (similar to ) 'Split lists at the specified delimiter " Drops empty groups (similar to ) #A Standard strict version of foldl Specialised foldl' with short circuit evaluation 7 A Nothing stops processing for the rest of the list #Strict version of specialised foldl' with short circuit evaluation whileIterateM b f a/ will execute action (f a) while (b a) is true 9 and also feed the results back to the next iteration. 4 NOTE: Suggestions for a better name are welcome! $Monadic version of the if condition 5Seamless composition of a one and a two arg function An alias for (.:) 7Seamless composition of a one and a three arg function 6Seamless composition of a one and a four arg function $Bool deconstructor in the spirit of  and  % Similar to the lambda-if proposal ,Computes the next power of two for integers  Works only on a 32/*64 bit machine (is there any other kind?)   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         ! "#$%&%'()*+*,-./0/1/2/34546*789:;<=>?@-A-B-C-DEFEG/H/I4JKL-M-NOP*Q4RST-UKV-WXYZ[E\?]^_`a`b`c`d`efgfhijk`l-m`n`opqprpstu`v`wxy`z`{`|^}^~^^^===###SSSS  K K K KKKKKKKKKKKKKKKKKKK K!K"K#K$K%K&K'K(K)K*+,+-+-./0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-CDEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEh/i/j/k/l/m/nXoXpXqXrXsXtXu v w x y z { | } ~                             %%%*****Z4444444444          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHGIGJGKGLGMNcustom-prelude-0.2.2.0 CustomPrelude<&><@> splitWhensplitOn foldlStrict foldlMaybefoldlStrictMaybe whileIterateMifM.:ooooooooobool nextPowerOf2 text-0.11.2.3 Data.Textwordsbase Data.Eithereither Data.MaybemaybeGHC.ErrerrorGHC.Basefoldrghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwise$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturn Control.Arrowfirst Data.String fromString fromIntegral realToFrac toInteger toRational Control.MonadguardliftMBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowData.Typeable.InternalTypeable MonadPlusIsStringControl.Applicative Applicative GHC.TypesBoolCharDoubleFloatIntGHC.IntInt32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRationalIOWordGHC.WordWord8Word32Word64EitherStringFalseTrueLeftRightLTEQGT<**><*>pure<|>&&&***second Data.Functionon Data.Functor<$>Control.Category.idPrelude$!readLngetCharputCharSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorGHC.IO.ExceptionioError IOErrorType Data.Monoid<>mconcatmappendmemptyMonoid Text.ReadreadspartitionEithersrightslefts Data.Listfoldl1'foldl1foldl'unfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLength minimumBy maximumByminimummaximuminsertByinsert mapAccumR mapAccumL partition transpose intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndexfind elemIndices elemIndex stripPrefix dropWhileEndlex readParenreadList readsPrecText.ParserCombinators.ReadPReadSacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixData.Ord comparingDown userError IOExceptionIOErrorlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFraction undefined GHC.Exception SomeException fromException toException ExceptionmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<mplusmzeromaxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowList showsPrecunzip3unzipzipWith3zipWithzip3!! concatMaplookupnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailheadmapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustNothingJustMaybeswapuncurrycurrysubtractsignumabs*+typeOfasTypeOfuntilflipconst<$/=compare<=&&||not<>maxminbasic-prelude-0.3.6.0 BasicPreludereadMay decodeUtf8 ltextToString textToString appendFile writeFilereadFilereadIOreadshowproductsum intercalateconcat++emptymapData.Text.Encoding encodeUtf8Data.Text.Lazy.IO getContentsinteract CorePreludereadArgsputStrLngetArgsequatingLText LByteStringUVectorlinesunlinesunwordstransformers-0.3.0.0Control.Monad.IO.ClassMonadIOliftIO Data.Text.IOgetLineputStrvector-0.10.9.1Data.Vector.Unboxed.BaseUnbox Data.VectorVectorunordered-containers-0.2.3.3Data.HashMap.BaseHashMap Data.HashSetHashSetControl.Monad.Trans.Classliftsystem-filepath-0.4.8Filesystem.Path.InternalFilePathFilesystem.Path directoryfilenamebasename hasExtension<.>Data.Text.InternalTextlifted-base-0.2.1.0Control.Exception.LiftedthrowIOcatchhandletrybracketfinally onExceptionhashable-1.2.1.0Data.Hashable.ClassHashable hashWithSalthashcontainers-0.5.0.0 Data.Set.BaseSet Data.Map.BaseMap Data.SequenceSeqbytestring-0.10.0.2Data.ByteString.Internal ByteStringmonad-loops-0.3.3.0Control.Monad.Loops maximumOnM minimumOnM maximumByM minimumByM maximumOnByM minimumOnByM maximaOnM minimaOnM maximaByM minimaByM maximaOnByM minimaOnByMfirstMtrimM dropWhileMallManyMallPManyPMorMandMconcatM unfoldrM'unfoldrM unfoldWhileM' unfoldWhileMunfoldM_unfoldM'unfoldM untilJust whileJust_ whileJust' whileJust iterateUntiluntilM_untilM'untilM iterateM_ iterateWhilewhileM_whileM'whileM forkMapM__ forkMapM_forkMapMControl.Monad.Loops.STM waitForEvent waitForJust waitForTruewaitFor forkAtomLoopatomLoop