[project @ 2005-04-04 15:54:50 by simonpj]
authorsimonpj <unknown>
Mon, 4 Apr 2005 15:54:50 +0000 (15:54 +0000)
committersimonpj <unknown>
Mon, 4 Apr 2005 15:54:50 +0000 (15:54 +0000)
More wibbles to HsSyn changes

ghc/compiler/deSugar/Match.hi-boot-6
ghc/compiler/hsSyn/HsPat.lhs

index 51e1589..df806ec 100644 (file)
@@ -20,7 +20,7 @@ matchSimply
 
 matchSinglePat
        :: CoreSyn.CoreExpr
-       -> DsMonad.DsMatchContext
+       -> HsExpr.HsMatchContext Name.Name
        -> HsPat.LPat Var.Id
         -> TcType.TcType
        -> DsMonad.MatchResult
index 4d64a46..322549b 100644 (file)
@@ -271,7 +271,7 @@ isLitPat other                      = False
 
 isIrrefutableHsPat :: LPat id -> Bool
 -- This function returns False if it's in doubt; specifically
--- on a ConPatIn it doesn't know th size of the constructor family
+-- on a ConPatIn it doesn't know the size of the constructor family
 -- But if it returns True, the pattern is definitely irrefutable
 isIrrefutableHsPat pat
   = go pat
@@ -281,14 +281,14 @@ isIrrefutableHsPat pat
     go1 (WildPat _)       = True
     go1 (VarPat _)        = True
     go1 (VarPatOut _ _)   = True
-    go1 (LazyPat _)       = True
+    go1 (LazyPat pat)     = True
     go1 (ParPat pat)      = go pat
     go1 (AsPat _ pat)     = go pat
     go1 (SigPatIn pat _)  = go pat
     go1 (SigPatOut pat _) = go pat
-    go1 (ListPat pats _)  = all go pats
     go1 (TuplePat pats _) = all go pats
-    go1 (PArrPat pats _)  = all go pats
+    go1 (ListPat pats _)  = False
+    go1 (PArrPat pats _)  = False      -- ?
 
     go1 (ConPatIn _ _) = False -- Conservative
     go1 (ConPatOut (L _ con) _ _ _ details _)