@@ -1,6 +1,7 @@
11{-# OPTIONS_GHC -Wall #-}
22module Transform.Check (mistakes) where
33
4+import qualified Control.Arrow as Arrow
45import qualified Data.List as List
56import qualified Data.Maybe as Maybe
67import qualified Data.Set as Set
@@ -44,10 +45,11 @@ duplicates decls =
4445 unzip [ (pat,expr) | D.Definition (E.Definition pat expr _) <- decls ]
4546
4647 (portNames, portExprs) =
47− unzip $ flip map [ port | D.Port port <- decls ] $ \port ->
48+ Arrow.second Maybe.catMaybes $ unzip $
49+ flip map [ port | D.Port port <- decls ] $ \port ->
4850 case port of
49− D.Out name expr _ -> (name,expr)
50− D.In name expr _ -> (name,expr)
51+ D.Out name expr _ -> (name, Just expr)
52+ D.In name expr _ -> (name, expr)
5153
5254 getNames = Set.toList . Pattern.boundVars
5355