1

我在玩概率包,试图理解各种例子是如何工作的。许多示例导入 Numeric.Probability.Monad 似乎是隐藏的,因此意味着我无法运行示例。

蒙蒂霍尔示例

module Numeric.Probability.Example.MontyHall where

import qualified Numeric.Probability.Distribution as Dist
import qualified Numeric.Probability.Transition as Trans
import Numeric.Probability.Simulation ((~.), )

import Numeric.Probability.Percentage
    (Dist, RDist, Trans, )

import qualified Numeric.Probability.Monad as MonadExt

如果我尝试在 ghci 中运行它

:load "MontyHall.hs"

MontyHall.hs:10:18:
    Could not find module `Numeric.Probability.Monad'
    it is a hidden module in the package `probability-0.2.4'
    Use -v to see a list of the files searched for.
Failed, modules loaded: none.

显然我做错了什么,因为无法运行的示例有什么意义。那么我在这里做错了什么?

4

1 回答 1

1

Numeric.Probability.Monad文件中使用的唯一函数MontyHall是这个:

compose :: Monad m => [a -> m a] -> a -> m a
compose = foldl (flip (<=<)) return

这是一个简单的辅助函数,您可以自己内联它。

于 2013-02-03T20:54:44.277 回答