Birisi, aşağıdaki kodun neden GHC 8.0.1'in neden derlenmesinde döngü oluşturduğunu açıklayabilir mi, yoksa bu bir hata mıdır?GHC 8.0.1 kilitleniyor. Açıklama veya derleyici hatası?
{-# 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 _ =()
Hiç bir fikrim yok, ancak 'TypeFamilyDependencies' belgelerine sahip olmaları beni ilk zamana hazır olmadıklarından korkuyor. Benim yanımda oturamayan doğal olmayan kısıtlamalar var; Geliştiriciler bir noktayı kaçırırsa şok olmazdım. – dfeuer
Sonsuza dek döngüsüyse kesinlikle bir hata – jberryman