4
我想說的是,某些參數化monad st可以使用正則內存,但是我的參數化monad的子類應該對內存類型施加額外的約束。在代碼:Haskell類型繼承和參數類型類型
class Memory m where
...
class State st where
unit :: Memory m => a -> st m m a
bind :: (Memory m1, Memory m2, Memory m3) => st m1 m2 a -> (a -> st m2 m3 b) -> st m1 m3 b
class RMemory m where
...
class State st => RState st where
-- no operators
我現在的問題是,我想強加每當(RState ST)爲真,則(狀態STA)內存替換RMemory的定義中;這會使狀態變成在其記憶的類型類中參數化的東西。這可以做到嗎?