@@ -49,6 +49,7 @@ import Data.Function (on)
49import Data.List (sortBy, groupBy)
49import Data.List (sortBy, groupBy)
50import Data.Maybe (fromMaybe)
50import Data.Maybe (fromMaybe)
51import Data.Time.Clock
51import Data.Time.Clock
52+import Data.Foldable (for_)
52import Data.Traversable (traverse)
53import Data.Traversable (traverse)
53import Data.Version (showVersion)
54import Data.Version (showVersion)
54import qualified Data.Map as M
55import qualified Data.Map as M
@@ -140,7 +141,6 @@ make :: forall m. (Functor m, Applicative m, Monad m, MonadReader Options m, Mon
140 -> m Environment
141 -> m Environment
141make MakeActions{..} ms = do
142make MakeActions{..} ms = do
142 (sorted, graph) <- sortModules $ map importPrim ms
143 (sorted, graph) <- sortModules $ map importPrim ms
144 toRebuild <- foldM (\s (Module _ moduleName' _ _) -> do
144 toRebuild <- foldM (\s (Module _ moduleName' _ _) -> do
145 inputTimestamp <- getInputTimestamp moduleName'
145 inputTimestamp <- getInputTimestamp moduleName'
146 outputTimestamp <- getOutputTimestamp moduleName'
146 outputTimestamp <- getOutputTimestamp moduleName'
@@ -150,6 +150,7 @@ make MakeActions{..} ms = do
150 _ -> S.insert moduleName' s) S.empty sorted
150 _ -> S.insert moduleName' s) S.empty sorted
152 marked <- rebuildIfNecessary (reverseDependencies graph) toRebuild sorted
152 marked <- rebuildIfNecessary (reverseDependencies graph) toRebuild sorted
153+ for_ marked $ \(willRebuild, m) -> when willRebuild (lint m)
153 (desugared, nextVar) <- runSupplyT 0 $ zip (map fst marked) <$> desugar (map snd marked)
154 (desugared, nextVar) <- runSupplyT 0 $ zip (map fst marked) <$> desugar (map snd marked)
154 evalSupplyT nextVar $ go initEnvironment desugared
155 evalSupplyT nextVar $ go initEnvironment desugared