Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information