Type family instance overlap accepted in ghci
This code works if I paste it line by line in ghci, but not if i try to load or compile it.
{-# LANGUAGE TypeFamilies #-}
data Rec a b = Rec {unRec :: Rec a b -> b}
class RecursiveFun f where type A a b :: *; recurse :: f (A a b) b -> b
instance RecursiveFun Rec where type A a b = a; recurse r = unRec r r
instance RecursiveFun (->) where type A a b = Rec a b; recurse f = f (Rec f)
Trac metadata
Trac field | Value |
---|---|
Version | 7.4.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | GHCi |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | exbb2@mail.ru |
Operating system | |
Architecture |