8
我只是好奇,爲什麼我寫這個,解釋爲 「非法類型同義詞家庭」
instance (HzMonad , Data.Suitable.Suitable α, γ ~ ExprTyp α) => VarDecl γ where
var = varhz
這
instance (HzMonad , Data.Suitable.Suitable α) => VarDecl (ExprTyp α) where
var = varhz
-- error
Hz2/Language.hs:114:53:
Illegal type synonym family application in instance: ExprTyp α
In the instance declaration for `VarDecl (ExprTyp α)'
其中
varhz ::
(HzMonad , Data.Suitable.Suitable α) =>
String -> ExprTyp α -> (ExprTyp α)
是什麼,而不是反正呢?非常感謝。
我沒有能量(今晚)來輸入完整的答案,但簡單的答案是,這是另一個根深蒂固的假設類型級別事物被認爲是錯誤的例子家庭被添加到混合。代字號是一個類型相等斷言。 –
啊,我現在明白了,沒問題。謝謝你的提示。如何解決這個問題是另一個故事,我仍然試圖弄清楚。 – gatoatigrado