[GHC] #9453: The example for GHC Generics is kinda broken

GHC ghc-devs at haskell.org
Sun Aug 17 19:56:09 UTC 2014


#9453: The example for GHC Generics is kinda broken
-------------------------------------+-------------------------------------
       Reporter:  Feuerbach          |                   Owner:
           Type:  bug                |                  Status:  new
       Priority:  normal             |               Milestone:
      Component:  Documentation      |                 Version:  7.8.2
       Keywords:                     |        Operating System:
   Architecture:  Unknown/Multiple   |  Unknown/Multiple
     Difficulty:  Unknown            |         Type of failure:
     Blocked By:                     |  None/Unknown
Related Tickets:                     |               Test Case:
                                     |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------
 From
 http://www.reddit.com/r/haskell/comments/2douzn/problem_with_popular_ghcgenerics_example/:

     The popular GHC.Generics serialization example at
 http://www.haskell.org/ghc/docs/latest/html/users_guide/generic-
 programming.html#idp25226064 illustrates how to serialize a sum datatype
 (a :+: b), with a 0 bit representing a and a 1 bit representing b.
     However, consider a :+: b :+: c.
     If the compiler treats this as (a :+: b) :+: c, then a is 00, b is 01,
 c is 1.
     If it's a :+: (b :+: c), then a is 0, b is 10, c is 11.
     The compiler's decision, even though (as I understand it) consistent
 for any given compile, could differ later.
     The manual, at http://hackage.haskell.org/package/generic-
 deriving-1.6.3/docs/Generics-Deriving-Base.html#g:9 states not to depend
 on the ordering, which the example does.

 I think this is a valid concern, and the manual should be at least updated
 to discuss this problem.

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


More information about the ghc-tickets mailing list