[GHC] #1772: GHC doesn't like 'inline' type function applications

GHC trac at haskell.org
Thu Oct 11 17:45:15 EDT 2007


#1772: GHC doesn't like 'inline' type function applications
--------------------------------------+-------------------------------------
  Reporter:  jpbernardy               |          Owner:         
      Type:  bug                      |         Status:  new    
  Priority:  normal                   |      Milestone:  6.8.1  
 Component:  Compiler (Type checker)  |        Version:  6.9    
  Severity:  normal                   |       Keywords:         
Difficulty:  Unknown                  |             Os:  Unknown
  Testcase:                           |   Architecture:  Unknown
--------------------------------------+-------------------------------------
 {{{
 {-# LANGUAGE TypeFamilies #-}

 import Prelude hiding (foldl, foldr, foldl1, foldr1, mapM_, sequence_,
                 elem, notElem, concat, concatMap, and, or, any, all,
                 sum, product, maximum, minimum)
 import Data.Monoid

 type family Element t

 class Foldable t where
         foldMap :: Monoid m => (Element t -> m) -> t -> m

         foldr :: (Element t -> b -> b) -> b -> t -> b
         -- foldr :: Element t ~ a => (a -> b -> b) -> b -> t -> b
         foldr f z t = appEndo (foldMap (Endo . f) t) z
 }}}
 GHC chokes on the above module. If the signature of foldr is replaced by
 the commented one, GHC is happy. It seems to me that the two expressions
 should be equivalent.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1772>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list