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