[GHC] #694: lawbreaker in HughesPJ

GHC trac at galois.com
Fri Feb 10 11:31:24 EST 2006


#694: lawbreaker in HughesPJ
-------------------------------+--------------------------------------------
    Reporter:  maeder at tzi.de   |        Owner:             
        Type:  bug             |       Status:  new        
    Priority:  normal          |    Milestone:  6.4.2      
   Component:  libraries/base  |      Version:  6.4.1      
    Severity:  normal          |     Keywords:             
          Os:  Unknown         |   Difficulty:  Easy (1 hr)
Architecture:  Unknown         |  
-------------------------------+--------------------------------------------
the law "empty is an identity for <> and $$" is currently broken by
 ie. isEmpty (empty<>empty) as Conal Elliot noted.

 Either the test isEmpty or the combinators <>, <+>, $$, $+$ need to be
 fixed. My suggested patch for the for 4 combinators caused an object code
 explosion (see ticket #490). I've also sent a simple patch for isEmpty
 that seems to be less optimal (as the reduction of a document may occur
 twice).

 I could supply another patch of the 4 combinators where only the base
 cases are swapped.
 This patch does not cause the explosion because the reordered base cases
 better fit to the left-associativity of the combinators. However,
 associativity does not help if one uses unfornate parentheses.

 Anyway, HughesPJ should be fixed somehow
 Cheers Christian

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


More information about the Glasgow-haskell-bugs mailing list