[project @ 2005-03-01 05:49:43 by simonpj]
authorsimonpj <unknown>
Tue, 1 Mar 2005 05:49:49 +0000 (05:49 +0000)
committersimonpj <unknown>
Tue, 1 Mar 2005 05:49:49 +0000 (05:49 +0000)
commit6d36af4aff6e12afa50dae2fad3993c385f8081d
treebd7b9f0dae5980ea03d644ae21323af23e0cfdd8
parentb4dae163a4830e1984a656cdf66df957e840c77d
[project @ 2005-03-01 05:49:43 by simonpj]
Make desugaring of pattern-matching much more civilised.

Before this change we wrapped new bindings around the
right hand side; but that meant they ended up wrapped
in reverse order.  Now we accumulate the bindings
separately, in the eqn_wrap field of an EqnInfo.

This cures a desugaring bug encountered by Akos Korosmezey
immortalised as ds055
ghc/compiler/deSugar/DsMonad.lhs
ghc/compiler/deSugar/DsUtils.lhs
ghc/compiler/deSugar/Match.lhs
ghc/compiler/deSugar/MatchCon.lhs
ghc/compiler/deSugar/MatchLit.lhs