on master help sign in
Switch to Data.Map.Strict in type inference
ed26ecaEvan Czaplicki
src/Type/Constrain/Effects.hs+1−1
@@ -2,7 +2,7 @@
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
3module Type.Constrain.Effects (constrain) where
3module Type.Constrain.Effects (constrain) where
4
4
5−import qualified Data.Map as Map
5+import qualified Data.Map.Strict as Map
6
6
7import qualified AST.Effects as Effects
7import qualified AST.Effects as Effects
8import qualified AST.Module.Name as ModuleName
8import qualified AST.Module.Name as ModuleName
src/Type/Constrain/Expression.hs+1−1
@@ -4,7 +4,7 @@ module Type.Constrain.Expression where
4
4
5import Control.Arrow (second)
5import Control.Arrow (second)
6import qualified Control.Monad as Monad
6import qualified Control.Monad as Monad
7−import qualified Data.Map as Map
7+import qualified Data.Map.Strict as Map
8import qualified Data.Text as Text
8import qualified Data.Text as Text
9import Data.Text (Text)
9import Data.Text (Text)
10
10
src/Type/Constrain/Pattern.hs+1−1
@@ -3,7 +3,7 @@ module Type.Constrain.Pattern (Info(..), joinInfos, infoToScheme, constrain) whe
3
3
4import Control.Arrow (second)
4import Control.Arrow (second)
5import qualified Control.Monad as Monad
5import qualified Control.Monad as Monad
6−import qualified Data.Map as Map
6+import qualified Data.Map.Strict as Map
7import qualified Data.List as List
7import qualified Data.List as List
8import Data.Text (Text)
8import Data.Text (Text)
9
9
src/Type/Constraint.hs+1−1
@@ -9,7 +9,7 @@ module Type.Constraint
9 )
9 )
10 where
10 where
11
11
12−import qualified Data.Map as Map
12+import qualified Data.Map.Strict as Map
13import Data.Text (Text)
13import Data.Text (Text)
14
14
15import qualified Reporting.Annotation as A
15import qualified Reporting.Annotation as A
src/Type/Environment.hs+1−1
@@ -13,7 +13,7 @@ module Type.Environment
13
13
14import qualified Control.Monad.State.Strict as State
14import qualified Control.Monad.State.Strict as State
15import qualified Data.List as List
15import qualified Data.List as List
16−import qualified Data.Map as Map
16+import qualified Data.Map.Strict as Map
17import qualified Data.Set as Set
17import qualified Data.Set as Set
18import Data.Text (Text)
18import Data.Text (Text)
19
19
src/Type/Inference.hs+1−1
@@ -3,7 +3,7 @@ module Type.Inference where
3
3
4import Control.Arrow (first, second)
4import Control.Arrow (first, second)
5import Control.Monad.Except (Except, forM, liftIO, runExceptT, throwError)
5import Control.Monad.Except (Except, forM, liftIO, runExceptT, throwError)
6−import qualified Data.Map as Map
6+import qualified Data.Map.Strict as Map
7import qualified Data.Set as Set
7import qualified Data.Set as Set
8import Data.Monoid ((<>))
8import Data.Monoid ((<>))
9import Data.Text (Text)
9import Data.Text (Text)
src/Type/Occurs.hs+1−1
@@ -2,7 +2,7 @@
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
3module Type.Occurs (occurs) where
3module Type.Occurs (occurs) where
4
4
5−import qualified Data.Map as Map
5+import qualified Data.Map.Strict as Map
6
6
7import Type.Type as Type
7import Type.Type as Type
8import qualified Type.UnionFind as UF
8import qualified Type.UnionFind as UF
src/Type/Solve.hs+1−1
@@ -4,7 +4,7 @@ module Type.Solve (solve) where
4
4
5import Control.Monad
5import Control.Monad
6import Control.Monad.Except (ExceptT, liftIO, throwError)
6import Control.Monad.Except (ExceptT, liftIO, throwError)
7−import qualified Data.Map as Map
7+import qualified Data.Map.Strict as Map
8import qualified Data.Text as Text
8import qualified Data.Text as Text
9import qualified Data.Vector as Vector
9import qualified Data.Vector as Vector
10import qualified Data.Vector.Mutable as MVector
10import qualified Data.Vector.Mutable as MVector
src/Type/State.hs+2−2
@@ -19,8 +19,8 @@ module Type.State
19
19
20import Control.Monad (forM_, liftM, liftM2)
20import Control.Monad (forM_, liftM, liftM2)
21import Control.Monad.Trans (MonadIO, liftIO)
21import Control.Monad.Trans (MonadIO, liftIO)
22−import qualified Data.Map as Map
22+import qualified Data.Map.Strict as Map
23−import Data.Map ((!))
23+import Data.Map.Strict ((!))
24import Data.Text (Text)
24import Data.Text (Text)
25import qualified Data.Vector.Mutable as MVector
25import qualified Data.Vector.Mutable as MVector
26
26
src/Type/Type.hs+1−1
@@ -25,7 +25,7 @@ module Type.Type
25import Control.Monad.State.Strict (StateT, liftIO)
25import Control.Monad.State.Strict (StateT, liftIO)
26import qualified Control.Monad.State.Strict as State
26import qualified Control.Monad.State.Strict as State
27import qualified Data.Char as Char
27import qualified Data.Char as Char
28−import qualified Data.Map as Map
28+import qualified Data.Map.Strict as Map
29import Data.Monoid ((<>))
29import Data.Monoid ((<>))
30import qualified Data.Text as Text
30import qualified Data.Text as Text
31import Data.Text (Text)
31import Data.Text (Text)
src/Type/Unify.hs+1−1
@@ -4,7 +4,7 @@ module Type.Unify (unify) where
4
4
5import Control.Monad (liftM2, when, zipWithM_)
5import Control.Monad (liftM2, when, zipWithM_)
6import Control.Monad.Except (ExceptT, lift, liftIO, throwError, runExceptT)
6import Control.Monad.Except (ExceptT, lift, liftIO, throwError, runExceptT)
7−import qualified Data.Map as Map
7+import qualified Data.Map.Strict as Map
8import qualified Data.Maybe as Maybe
8import qualified Data.Maybe as Maybe
9import Data.Text (Text)
9import Data.Text (Text)
10
10