Opened 11 years ago

Closed 10 years ago

Last modified 8 years ago

#61 closed defect (fixed)

Desugaring pattern matches with guards is broken

Reported by: benl Owned by: benl
Priority: blocker Milestone:
Component: Source Desugarer Version: 0.1.2
Keywords: Cc:

Description

For this program:

main () = f (1, 2)
 
f :: (Int, Int) -> ()
f (a, b) | a == b	= putStr "yep"
f (a, b)		= putStr "no

We get a pattern matching failure instead of "nope".

After the desugarer appends two cases from the two equations for 'f', it still needs to merge the common tuple match.

Test is T61-GuardDesugar

Change History (4)

comment:1 Changed 11 years ago by benl

  • Owner set to benl
  • Status changed from new to assigned

comment:2 Changed 11 years ago by benl

  • Version set to 0.1.2

comment:3 Changed 10 years ago by anonymous

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

comment:4 Changed 8 years ago by benl

  • Milestone 0.1.3 deleted

Milestone 0.1.3 deleted

Note: See TracTickets for help on using tickets.