[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