我有這種類型的類。但它不能推斷從goal
返回的類型等於isGoal
的第一個變量的類型。如何解決這個問題?無法從上下文推斷
{-# LANGUAGE TypeFamilies, FlexibleContexts #-}
class Problem p where
type State p :: *
data Action p :: *
goal :: Eq (State p) => State p
goal = undefined
isGoal :: Eq (State p) => State p -> Bool
isGoal s = s == goal
結束了做這個
class Problem p where
type State p :: *
data Action p :: *
goal :: p -> State p
goal = undefined
isGoal :: Eq (State p) => p -> State p -> Bool
isGoal p s = s == goal p
這將是很好,如果你在一些其他的方式來呈現錯誤消息。從Windows控制檯的屏幕截圖,認真... – leftaroundabout
它沒有意識到你正在嘗試使用來自同一實例的'goal'。 – melpomene
@leftaroundabout從Windows控制檯複製和粘貼非常煩人,我可以理解,寧願截取屏幕截圖。 –