[project @ 2002-11-21 09:36:03 by simonpj]
authorsimonpj <unknown>
Thu, 21 Nov 2002 09:36:04 +0000 (09:36 +0000)
committersimonpj <unknown>
Thu, 21 Nov 2002 09:36:04 +0000 (09:36 +0000)
commitf0f6913272d9475a6ac1b2a3cc59105c5756fba3
tree86af234e381b3c1618fd4f13a6151d8fd51ab029
parent063123a0a1b51609108aa4487894b78492411fb1
[project @ 2002-11-21 09:36:03 by simonpj]
-------------------------------
Fix and tidy the desugaring of
pattern-matching in do-notation
-------------------------------

In the reorgansiation of HsPat, failureFreePat had become incorrect (due to
a catch-all case that caught a constructor that should have been matched).  So
pattern-match failure in do-notation wasn't handled right.

As it turned out, DsExpr.dsDo could be made much simpler and more elegant
by using matchSimply instead of matchWrapper, and this had the side benefit
of removing the last call to HsPat.failureFreePat.  So it's gone!
ghc/compiler/deSugar/DsExpr.lhs
ghc/compiler/hsSyn/HsPat.lhs