reader-monad

    0熱度

    1回答

    我是一個scala新手。我來自Java的背景。我一直在閱讀monad,並對它形成了一個總體思路。雖然我可以欣賞map和flatMap類型的操作,例如List我無法將我的頭圍繞在reader monad s的意思上。 有人可以提出一些簡單的例子。 我知道我們需要ReaderMonads來促進一元函數的組合,以便我們可以使用像理解一樣的花哨語法。我也明白,爲了實現這個目標,我們需要monad gods

    4熱度

    1回答

    爲什麼在Control.Monad.Reader中有讀者monad和MonadReader monad?軟件包文檔討論了讀者monad,然後直接發佈到MonadReader文檔中,沒有任何解釋。這些monads有什麼區別?閱讀這些參考頁面讓我不再困惑。有趣的是,Haskell wikibook的Reader monad頁面尚未寫入!

    89熱度

    3回答

    閱讀器Monad非常複雜,似乎沒用。在像Java或C++這樣的命令式語言中,對於讀者monad來說沒有等價的術語(如果我是對的)。 你能給我一個簡單的例子,讓我清楚一點嗎?

    9熱度

    2回答

    我在閱讀Purescript通過示例並介紹了讀者單元的部分。示例如下: createUser :: Reader Permissions (Maybe User) createUser = do permissions <- ask if hasPermission "admin" permissions then map Just newUser els

    11熱度

    1回答

    我有以下代碼使用Reader monad進行配置,並且還必須處理IO[Option[String]],並且我已經使用我的encode函數中的階梯代碼結束了代碼。 我怎樣才能制定一個單子轉換爲Reader和OptionT避免我encode功能醜陋的嵌套for內涵? def encode(fileName: String): Reader[Config, IO[Unit]] = for {

    8熱度

    2回答

    對環境共享加上確定性的規範「Monad的實例」如下(使用僞哈斯克爾,因爲Haskell的Data.Set當然不是的,一元): eta :: a -> r -> {a} -- '{a}' means the type of a set of a's eta x = \r -> {x} bind :: (r -> {a}) -> (a -> r -> {b}) -> r -> {b} m `b

    4熱度

    2回答

    在學習讀者單子,我發現它的定義是:如元組 newtype Reader r a = Reader { runReader :: r -> a } instance Monad (Reader r) where return a = Reader $ \_ -> a m >>= k = Reader $ \r -> runReader (k (runReader m r))

    2熱度

    2回答

    我是Haskell的初學者,我想了解Reader Monad。我知道如何使用這個monad。但我想看看monad的實現(特別是函數「return」的代碼)。我怎樣才能看到這個代碼?

    1熱度

    1回答

    我試圖結合在http://lexi-lambda.github.io/blog/2016/06/12/four-months-with-haskell/(標題爲「Typeclasses可以模擬效果」一節)給出的方法與某種本土讀者monad。 我試圖解決的總體問題是避免傳遞一個配置變量幾乎在我的應用程序中運行。而我不能使用ReaderT的原因是因爲我的很多功能都在SqlPersistT中,它本身在內