@@ -10,7 +10,6 @@ module AST.Type
10import Control.Arrow (second)
10import Control.Arrow (second)
11import Data.Binary
11import Data.Binary
12import qualified Data.Map as Map
12import qualified Data.Map as Map
13−import qualified Data.Set as Set
15import qualified AST.Module.Name as ModuleName
14import qualified AST.Module.Name as ModuleName
16import qualified AST.Variable as Var
15import qualified AST.Variable as Var
@@ -32,7 +31,6 @@ data Raw'
32 | RType Var.Raw
31 | RType Var.Raw
33 | RApp Raw [Raw]
32 | RApp Raw [Raw]
34 | RRecord [(String, Raw)] (Maybe Raw)
33 | RRecord [(String, Raw)] (Maybe Raw)
35− | REffects [A.Located ModuleName.Raw]
38data Canonical
36data Canonical
@@ -41,7 +39,6 @@ data Canonical
41 | Type Var.Canonical
39 | Type Var.Canonical
42 | App Canonical [Canonical]
40 | App Canonical [Canonical]
43 | Record [(String, Canonical)] (Maybe Canonical)
41 | Record [(String, Canonical)] (Maybe Canonical)
44− | Effects (Set.Set ModuleName.Canonical)
45 | Aliased Var.Canonical [(String, Canonical)] (Aliased Canonical)
42 | Aliased Var.Canonical [(String, Canonical)] (Aliased Canonical)
46 deriving (Eq, Ord)
43 deriving (Eq, Ord)
@@ -79,7 +76,7 @@ effect :: Var.Canonical -> ModuleName.Canonical -> String -> Canonical
79effect effectName moduleName tipe =
76effect effectName moduleName tipe =
81 (App (Type (Var.fromModule moduleName tipe)) [Var "msg"])
78 (App (Type (Var.fromModule moduleName tipe)) [Var "msg"])
82− (App (Type effectName) [Effects (Set.singleton moduleName), Var "msg"])
79+ (App (Type effectName) [Var "msg"])
@@ -107,9 +104,6 @@ deepDealias tipe =
107 App f args ->
104 App f args ->
108 App (deepDealias f) (map deepDealias args)
105 App (deepDealias f) (map deepDealias args)
114iteratedDealias :: Canonical -> Canonical
108iteratedDealias :: Canonical -> Canonical
115iteratedDealias tipe =
109iteratedDealias tipe =
@@ -156,9 +150,6 @@ dealiasHelp typeTable tipe =
156 App f args ->
150 App f args ->
157 App (go f) (map go args)
151 App (go f) (map go args)
164-- COLLECT LAMBDAS
155-- COLLECT LAMBDAS
@@ -196,11 +187,8 @@ instance Binary Canonical where
196 Record fs ext ->
187 Record fs ext ->
197 putWord8 4 >> put fs >> put ext
188 putWord8 4 >> put fs >> put ext
200− putWord8 5 >> put names
202 Aliased var args t ->
190 Aliased var args t ->
203− putWord8 6 >> put var >> put args >> put t
191+ putWord8 5 >> put var >> put args >> put t
206 do n <- getWord8
194 do n <- getWord8
@@ -210,8 +198,7 @@ instance Binary Canonical where
210 2 -> Type <$> get
198 2 -> Type <$> get
211 3 -> App <$> get <*> get
199 3 -> App <$> get <*> get
212 4 -> Record <$> get <*> get
200 4 -> Record <$> get <*> get
213− 5 -> Effects <$> get
214− 6 -> Aliased <$> get <*> get <*> get
201+ 5 -> Aliased <$> get <*> get <*> get
215 _ -> error "Error reading a valid type from serialized string"
202 _ -> error "Error reading a valid type from serialized string"