[fix desugaring of irrefutable lambda bindings
John Meacham <john@repetae.net>**20100810053944
 Ignore-this: 5c70934cbe42169850481562cd5b20f3
] hunk ./src/FrontEnd/Desugar.hs 1
--- various desugaring routines
+    -- various desugaring routines
hunk ./src/FrontEnd/Desugar.hs 12
-import GenUtil
hunk ./src/FrontEnd/Desugar.hs 157
-    | all isLazyPat pats && not (any isHsPIrrPat pats) = do
+    | all isSimplePat pats  = do
hunk ./src/FrontEnd/Desugar.hs 228
-    f ((HsGenerator _srcLoc pat e):ss) | isLazyPat pat = do
+    f ((HsGenerator _srcLoc pat e):ss) | isSimplePat pat = do
hunk ./src/FrontEnd/Desugar.hs 289
--- failable - may fail to match
+-- failable - strict and may fail to match
hunk ./src/FrontEnd/Desugar.hs 292
+-- simple, a wildcard or variable
hunk ./src/FrontEnd/Desugar.hs 299
+    f (HsPBangPat (Located _ p)) = isFailablePat p
hunk ./src/FrontEnd/Desugar.hs 303
+isSimplePat p = f (openPat p) where
+    f HsPVar {} = True
+    f HsPWildCard = True
+    f _ = False
+
+