- 839 名前:デフォルトの名無しさん mailto:sage [2020/10/30(金) 00:06:20.24 ID:aDtUVDPI.net]
- >>812を改良?
State [Int] だとあらかじめ用意した一個のstackしか使えない 噂に聞いたことあつたST monadで複数のスタック使えるように改造 Haskell import Control.Monad import Control.Monad.ST import Data.STRef data Stack a = Empty | N { car :: a, cdr :: Stack a } deriving (Show) push stk val = modifySTRef stk (N val) pop stk = car <$> readSTRef stk <* modifySTRef stk cdr main = print $ runST $
|

|