fumieval
以前開発した自作データベース管理システム、lisztを紹介する記事を書きました。あまり実用性の高い実装ではありませんが、普段当たり前のように使っているDBMSを自作してみるというのも面白い試みだったと思います
(\x -> get >>= \s -> pure (runState x s)) :: State s a -> State s (a, s)
みたいな計算を実行するけど状態を変更するのは待つみたいな関数の名前について悩んでいるdryRunState
というのはどうでしょうかdryRunState
も含めて考えた結果、 onHold
にしました。これは fumieval さんの案がなかったら思い付けませんでした。ありがとうございます。data Matrix e c r where One :: e -> Matrix e () () Join :: Matrix e a r -> Matrix e b r -> Matrix e (Either a b) r Fork :: Matrix e c a -> Matrix e c b -> Matrix e c (Either a b)