úÎ!1¿.E?      !"#$%&'()*+,-./0123456789:;<=>2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=>?@AMSXl bootsSimple IO monad.boots!Application monad transformation.boots%Run application monad transformation. 2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=>?@AMSXË bootsPlugin generates component u with the context of component i running in monad m.bootsRun plugin in given context i.bootsRun application only in plugin.bootsPromote a plugin into another.bootsCombines plugins into one.bootsConvert a plugin into another.bootsTransform a plugin with monad n to a plugin with monad m.bootsOApply a function to transform the result of a continuation-passing computation.boots Warp plugin.bootsUCreate bracket style plugin, used for manage resources, which need to open and close.A simple example:;res = bracketP (putStrLn "open") (const $ putStrLn "close")+runPlugin () res (const $ putStrLn "using")openusingclosebootsOpen resource.bootsClose resource.bootsResource plugin. 2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=>?@AMSXæboots<Run application in context with the help of plugin. Context cxt can't escape from m#. If you want to define your own  then please use  or . 2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=>?@AMSXª  2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=>?@AMSXpboots-Environment providing a configuration parser.boots!Plugin used for parse properties.bootsConfiguration file name.  2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=>?@AMSX$Ð "bootsLogger config.$bootsLogger buffer size.%bootsLogger file path.&bootsMax logger file size.'boots.Max number of logger files should be reserved.(bootsLog level to show.)boots)Environment providing a logging function.+boots#Add additional trace info into log.,boots$Plugin providing a logging function.,boots'Application name will be logged in log.!"#$&%'()*+,)*"#$&%'(!+,2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=>?@AMSX+"5bootsDEnvironment values with a configuration parser and logging function.7boots.Simple plugin initialized both configurations  and logger ,.;bootsCSimple plugin provides a configuration parser and logging function.;boots-Application name and configuration file name. !"#$&%'()*+,56789:;789:56;2019 Daniel YUBSD3leptonyu@gmail.com experimentalportableNone "#=>?@AMSX-51 !"#$&%'()*+,56789:; ?  !"#$%&'()*+,-./01234567789:;<=>?@ABCDEFGHIJKKLMNOPQR!boots-0.0.3-Va2IuTUmY85rDdOsskI66BootsBoots.Plugin.LoggerBoots.Plugin.Salak Boots.PluginBoots.Plugin.SimpleBoots.Internal.AppBoots.Internal.PluginBoots.InternalbaseControl.Monad.IO.ClassliftIOtransformers-0.5.6.2Control.Monad.Trans.Classlift(exceptions-0.10.2-2mS9GUVmJpmKSw5CuaN6ikControl.Monad.CatchthrowM*monad-logger-0.3.30-6H7m5vLMabMAHTuQdTSGoKControl.Monad.Logger.CallStacklogOtherlogErrorlogWarnlogInfologDebug mtl-2.2.2Control.Monad.Reader.Classask!salak-0.3.1-4u1yBOa8bRrBLIOqaO3vhSalak.Internal.Proprequire askReloadaskSalak MonadSalakAppAppTrunAppTPlugin runPluginbootpromotecombine withPlugin isoPlugin mapPluginwrapPbracketPbootAppHasSalak askSourcePack pluginSalak$fMonadSalakAppT$fMonadSalakPlugin$fHasSalakSourcePackLogFunc LogConfig bufferSizefilemaxSize rotateHistorylevel HasLogger askLoggeraddTrace pluginLogger$fFromPropmLogLevel$fFromPropmLogConfig$fDefaultLogConfig$fMonadLoggerIOAppT$fMonadLoggerIOPlugin$fMonadLoggerAppT$fMonadLoggerPlugin$fHasLoggerLogFunc HasSimple askSimpleSimple sourcePacklogFunc pluginSimple$fHasSalakSimple$fHasLoggerSimple$fHasSimpleSimple