@@ -32,7 +32,7 @@ dupErr err x =
3232
3333duplicates :: [D.Declaration] -> [String]
3434duplicates decls =
35− map msg (dups (portNames ++ concatMap getNames defPatterns)) ++
35+ map msg (dups (portNames ++ concatMap Pattern.boundVarList defPatterns)) ++
3636 case mapM exprDups (portExprs ++ defExprs) of
3737 Left name -> [msg name]
3838 Right _ -> []
@@ -50,14 +50,13 @@ duplicates decls =
5050 D.Out name expr _ -> (name, [expr])
5151 D.In name _ -> (name, [])
5252
53− getNames = Set.toList . Pattern.boundVars
54−
55− exprDups :: E.LExpr -> Either String E.LExpr
53+ exprDups :: E.Expr -> Either String E.Expr
5654 exprDups expr = Expr.crawlLet defsDups expr
5755
5856 defsDups :: [E.Def] -> Either String [E.Def]
5957 defsDups defs =
60− case dups $ concatMap (\(E.Definition name _ _) -> getNames name) defs of
58+ let varsIn (E.Definition pattern _ _) = Pattern.boundVarList pattern in
59+ case dups $ concatMap varsIn defs of
6160 [] -> Right defs
6261 name:_ -> Left name
6362