12
有人可以解釋爲什麼下面的代碼會導致GHC 8.0.1在編譯時永遠循環,或者這是一個錯誤嗎?GHC 8.0.1掛起。解釋或編譯器錯誤?
{-# LANGUAGE TypeFamilyDependencies #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE AllowAmbiguousTypes #-}
main = return $ f (Just 'c')
data D1 x
data D2
type family TF x = t | t -> x
type instance TF (D1 x, a) = Maybe (TF (x, a))
type instance TF (D2,()) = Char
f :: TF (x, a) ->()
f _ =()
我不知道,但'TypeFamilyDependencies'的文檔讓我擔心他們還沒有準備好黃金時段。他們有不自然的限制,不能與我坐在一起;如果開發商錯過了一席之地,我不會感到震驚。 – dfeuer
如果它永遠循環,那絕對是一個錯誤 – jberryman