[GHC] #13465: Foldable deriving treatment of tuples is too surprising

GHC ghc-devs at haskell.org
Tue Mar 21 20:25:57 UTC 2017


#13465: Foldable deriving treatment of tuples is too surprising
-------------------------------------+-------------------------------------
           Reporter:  dfeuer         |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:  8.4.1
          Component:  Compiler       |           Version:  8.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  Other
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 {{{
 *> :set -XDeriveFoldable
 *> data Foo a = Foo ((a,a),a) deriving Foldable
 *> length ((1,1),1)
 1
 *> length $ Foo ((1,1),1)
 3
 }}}

 I think the right thing is probably to refuse to derive `Foldable` if
 components of a tuple other than the last one may contain the type
 variable we're looking for.

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


More information about the ghc-tickets mailing list