gpt4 book ai didi

haskell - MaybeT 的直觉

转载 作者:行者123 更新时间:2023-12-02 15:41:01 26 4
gpt4 key购买 nike

我试图通过在 ghci 中运行一些示例来理解 MaybeT:

λ: import Control.Monad.Trans.Maybe
λ: let x = return $ 42 :: MaybeT (Either String) Int
λ: :t x
x :: MaybeT (Either String) Int

然后,我运行了它:

λ: runMaybeT x
Right (Just 42)

请给我值,y,这样

runMaybeT y === Left (Just "...")
runMaybeT y === Left Nothing
runMaybeT y === Right Nothing

最佳答案

你永远不会得到 Left NothingLeft (Just ..),因为这里的 monad 是 Either String ...,所以左边总是有一个String

以下是您可以获得的内容:

> let y = fail "Failed" :: MaybeT (Either String) Int
> runMaybeT y
Right Nothing
> let y = lift (Left "Failed") :: MaybeT (Either String) Int
> runMaybeT y
Left "Failed"

关于haskell - MaybeT 的直觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37228540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com