gpt4 book ai didi

haskell - 如何在haskell中调用函数并返回不同的值? (无单子(monad))

转载 作者:行者123 更新时间:2023-12-02 10:26:32 24 4
gpt4 key购买 nike

我在确定这是否可行时遇到问题。任何指针都会很棒

我不确定确切的语法,但类似于

m = 3
d = putStr "d"
f = d ; m

这样它会调用函数d,并返回m中的值,而不是也许m

编辑:

我正在寻找的更像是这样?

eval s = s
m = 3
f = (eval s) ; m

最佳答案

如果您调用包装在 monad 中的函数(本例中为 IO),那么您也必须位于 IO monad 中。这就是单子(monad)的规则——永远不能被打破。

m :: Int
m = 3

d :: IO ()
d = putStr "d"

f :: IO Int
f = do d -- Teehee, doodie.
return m

关于haskell - 如何在haskell中调用函数并返回不同的值? (无单子(monad)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9223825/

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