Opened 9 years ago

Closed 9 years ago

Last modified 6 years ago

#694 closed bug (fixed)

lawbreaker in HughesPJ

Reported by: maeder@… Owned by:
Priority: normal Milestone: 6.4.2
Component: libraries/base Version: 6.4.1
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Test Case:
Blocked By: Blocking:
Related Tickets: Differential Revisions:

Description

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

Attachments (1)

patch2 (1.2 KB) - added by maeder@… 9 years ago.
patch 4 combinators without object code bloat

Download all attachments as: .zip

Change History (5)

Changed 9 years ago by maeder@…

patch 4 combinators without object code bloat

comment:1 Changed 9 years ago by simonmar

  • Resolution set to fixed
  • Status changed from new to closed

patch applied; thanks.

comment:2 Changed 7 years ago by simonmar

  • Architecture changed from Unknown to Unknown/Multiple

comment:3 Changed 7 years ago by simonmar

  • Operating System changed from Unknown to Unknown/Multiple

comment:4 Changed 6 years ago by simonmar

  • difficulty changed from Easy (1 hr) to Easy (less than 1 hour)
Note: See TracTickets for help on using tickets.