úÎ8)3uN      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNone9;<=?MA class for computations which carry a weight with them. It is analogous to  over the  N. (a,w)! embeds a simple weighted action. w' is an action that produces the output w. m' is an action that executes the action m6 and adds its output to the value of the computation. m' is an action that executes the action me, which returns a value and a function, and returns the value, applying the function to the output.*Collect the total weight of a computation./Transform a weighted computation to a covector.O  O O9 None $9;<=Ibgh BA weighted monad which discards results which are zero as it goes.'This pattern gives an interface to the  J monad which makes it look as if it were defined without the state monad.3Run a filtered computation in the underlying monad.NEvaluate a filtered computation in the underlying monad and return its result.OEvaluate a filtered computation in the underlying monad and collect its weight. PQRSTU    PQRSTU None $9;<=Ibgh +:A type synonym for the plain (non-transformer) version of +-. This can be used as if it were defined as: 9newtype Weighted w a = Weighted { runWeighted :: (a, w) },A monad transformer similar to  W, except that it does not leak space. It is implemented using a state monad, so that V is tail recursive. See  Chttps://mail.haskell.org/pipermail/libraries/2013-March/019528.htmlthis@ email to the Haskell libraries committee for more information. It also uses W from X, rather than V from N when combining computations.ZWherever possible, coercions are used to eliminate any overhead from the newtype wrapper.-.This pattern gives the newtype wrapper around Y5 the same interface as as if it was defined like so: 9newtype Weighted w a = Weighted { runWeighted :: (a, w) }˜Unfortunately GHC warns that a function is incomplete wherever this pattern is used. This issue should be solved in a future version of GHC, when the  ,https://ghc.haskell.org/trac/ghc/ticket/8779COMPLETE pragma is implemented.7execWeighted $ traverse (\x -> Weighted ((), x)) [1..5]120..This pattern gives the newtype wrapper around Y the same interface as  ¦. Unfortunately, GHC currently warns that a function is incomplete wherever this pattern is used. This issue should be solved in a future version of GHC, when the  ,https://ghc.haskell.org/trac/ghc/ticket/8779COMPLETE pragma is implemented./3Run a weighted computation in the underlying monad.0Run a weighted computation.:runWeighted $ traverse (\x -> Weighted (show x, x)) [1..5](["1","2","3","4","5"],120)1JRun a weighted computation in the underlying monad, and return its result.2KRun a weighted computation in the underlying monad, and collect its weight.32Run a weighted computation, and return its result.43Run a weighted computation, and collect its weight.+,Z-./01234[56789:;<=>?@ +,-./01234 ,/.21+0-43+,Z-./01234[56789:;<=>?@\     !"#$%&'()*+,-./012345456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^UV_`ab`acdefg^h'weighted-0.3.0.1-JfI45zDFXuZCddtvj0SH4pControl.Monad.Weighted.ClassControl.Monad.Weighted.FilterControl.Monad.WeightedControl.Monad.WriterWriter Data.MonoidProductControl.Monad.Writer.StrictWriterT MonadWeightedweightedweightweighscalecollect toCovector$fMonadWeightedwReaderT$fMonadWeightedwMaybeT$fMonadWeightedwStateT$fMonadWeightedwStateT0$fMonadWeightedwIdentityT$fMonadWeightedwExceptTFilterT runFilterT evalFilterT execFilterT$fMonadStatesFilterT $fShowFilterT $fReadFilterT $fOrdFilterT $fEqFilterT$fShow1FilterT$fRead1FilterT $fOrd1FilterT $fEq1FilterT$fTraversableFilterT$fFoldableFilterT$fMonadWeightedwFilterT$fMonadFilterT$fApplicativeFilterT$fFunctorFilterT$fMonadTransFilterT$fMonadContFilterT$fMonadErrorFilterT$fMonadReaderFilterT$fMonadFixFilterT$fMonadFailFilterT$fMonadIOFilterT$fAlternativeFilterT$fMonadPlusFilterT$fMonadWriterFilterTWeighted WeightedT runWeightedT runWeighted evalWeightedT execWeightedT evalWeighted execWeighted$fMonadWeightedwWeightedT$fShowWeightedT$fReadWeightedT$fOrdWeightedT $fEqWeightedT$fShow1WeightedT$fRead1WeightedT$fOrd1WeightedT$fEq1WeightedT$fTraversableWeightedT$fFoldableWeightedT$fMonadStatesWeightedT$fFunctorWeightedT$fApplicativeWeightedT$fMonadWeightedT$fMonadTransWeightedT$fMonadContWeightedT$fMonadErrorWeightedT$fMonadReaderWeightedT$fMonadFixWeightedT$fMonadFailWeightedT$fMonadIOWeightedT$fAlternativeWeightedT$fMonadPlusWeightedT$fMonadWriterWeightedTbaseGHC.BaseMonoid#.FilterT_ unFilterTfirst catchZero remZeroesfirst_mappend+semiring-num-1.1.0.1-DX2tgJzyK7WAdPn4gA56Pw Data.Semiring<.>Semiringtransformers-0.5.2.0 Control.Monad.Trans.State.StrictStateT WeightedT_