是否可以在Haskell中打印state monad的結果?如何在Haskell中打印State Monad的結果?
我試圖瞭解狀態monads,並在一本書中我一直在提供下面的代碼來創建一個狀態monad,但我正在努力處理這個主題,因爲我無法直觀地查看過程,即看到結尾結果。
newtype State s a = State { runState :: s -> (a,s)}
instance Monad (State s) where
return x = State $ \s -> (x,s)
(State h) >>= f = State $ \s -> let (a, newState) = h s
(State g) = f a
in g newState
「如何打印狀態單子」與「如何打印狀態單子的結果」是完全不同的問題,至少如果我將前者理解爲打印_a「狀態」action_,後者將其打印爲_打印一次執行「狀態」動作的結果。你的意思是? – leftaroundabout
@leftaroundabout結果抱歉。 –