我有一个状态机模型
newtype State (v :: * -> *) = State (M.Map (Var UUID v) DataPerItem)
deriving (Eq, Show)
然后我有一个Command gen exec [Update update]
返回exec
列表UUID
,即它有类型
exec :: action -> m [UUID]
这反过来意味着update
需要这样的类型
update :: State v -> action -> Var [UUID] v -> State V
AFAICS 为了真正更新我的模型,我需要将其Var [UUID] v
转换为[Var UUID v]
. 我一直在盯着 Hedgehog 中的函数看了一段时间,但什么都没有跳出来……还是我再次认为这一切都错了?:)