sam*_*ing 2 haskell functional-programming
我有问题弄清楚这是否可行.任何指针都会很棒
我不确定确切的语法,但有点像
m = 3
d = putStr "d"
f = d ; m
Run Code Online (Sandbox Code Playgroud)
这样它会调用函数d
,并返回值m
而不是Maybe m
?
编辑:
我在寻找的更像是这样的?
eval s = s
m = 3
f = (eval s) ; m
Run Code Online (Sandbox Code Playgroud)
如果您调用包含在monad中的函数(在本例中为IO),那么您还必须在IO monad中.因此是monad的规则 - 永远不会被打破.
m :: Int
m = 3
d :: IO ()
d = putStr "d"
f :: IO Int
f = do d -- Teehee, doodie.
return m
Run Code Online (Sandbox Code Playgroud)