on master help sign in
Rename Var.ADT to Var.Union
393337fEvan Czaplicki
src/AST/Variable.hs+4−4
@@ -129,7 +129,7 @@ openListing =
129data Value
129data Value
130 = Value !String
130 = Value !String
131 | Alias !String
131 | Alias !String
132− | ADT !String !(Listing String)
132+ | Union !String !(Listing String)
133 deriving (Eq,Ord,Show)
133 deriving (Eq,Ord,Show)
134
134
135
135
@@ -155,7 +155,7 @@ instance Pretty Value where
155 case portable of
155 case portable of
156 Value name -> P.text name
156 Value name -> P.text name
157 Alias name -> P.text name
157 Alias name -> P.text name
158− ADT name ctors ->
158+ Union name ctors ->
159 P.text name <> pretty (ctors { _explicits = map P.text (_explicits ctors) })
159 P.text name <> pretty (ctors { _explicits = map P.text (_explicits ctors) })
160
160
161
161
@@ -181,13 +181,13 @@ instance Binary Value where
181 case portable of
181 case portable of
182 Value name -> putWord8 0 >> put name
182 Value name -> putWord8 0 >> put name
183 Alias name -> putWord8 1 >> put name
183 Alias name -> putWord8 1 >> put name
184− ADT name ctors -> putWord8 2 >> put name >> put ctors
184+ Union name ctors -> putWord8 2 >> put name >> put ctors
185
185
186 get = do tag <- getWord8
186 get = do tag <- getWord8
187 case tag of
187 case tag of
188 0 -> Value <$> get
188 0 -> Value <$> get
189 1 -> Alias <$> get
189 1 -> Alias <$> get
190− 2 -> ADT <$> get <*> get
190+ 2 -> Union <$> get <*> get
191 _ -> error "Error reading valid import/export information from serialized string"
191 _ -> error "Error reading valid import/export information from serialized string"
192
192
193
193
src/Generate/JavaScript.hs+7−3
@@ -352,9 +352,13 @@ generate modul =
352 extract value =
352 extract value =
353 case value of
353 case value of
354 Var.Alias _ -> []
354 Var.Alias _ -> []
355+
355− Var.Value x | Help.isOp x -> []
356+ Var.Value x
357+ | Help.isOp x -> []
356− | otherwise -> [Var.varName x]
358+ | otherwise -> [Var.varName x]
359+
360+ Var.Union _ (Var.Listing ctors _) ->
357− Var.ADT _ (Var.Listing ctors _) -> map Var.varName ctors
361+ map Var.varName ctors
358
362
359 assign path expr =
363 assign path expr =
360 case path of
364 case path of
src/Parse/Module.hs+1−1
@@ -85,4 +85,4 @@ value = val <|> tipe
85 maybeCtors <- optionMaybe (listing capVar)
85 maybeCtors <- optionMaybe (listing capVar)
86 case maybeCtors of
86 case maybeCtors of
87 Nothing -> return (Var.Alias name)
87 Nothing -> return (Var.Alias name)
88− Just ctors -> return (Var.ADT name ctors)
88+ Just ctors -> return (Var.Union name ctors)
src/Transform/AddDefaultImports.hs+3−3
@@ -30,17 +30,17 @@ defaultImports =
30
30
31maybe :: Var.Value
31maybe :: Var.Value
32maybe =
32maybe =
33− Var.ADT "Maybe" Var.openListing
33+ Var.Union "Maybe" Var.openListing
34
34
35
35
36result :: Var.Value
36result :: Var.Value
37result =
37result =
38− Var.ADT "Result" Var.openListing
38+ Var.Union "Result" Var.openListing
39
39
40
40
41signal :: Var.Value
41signal :: Var.Value
42signal =
42signal =
43− Var.ADT "Signal" (Var.Listing [] False)
43+ Var.Union "Signal" (Var.Listing [] False)
44
44
45
45
46-- ADDING DEFAULT IMPORTS TO A MODULE
46-- ADDING DEFAULT IMPORTS TO A MODULE
src/Transform/Canonicalize.hs+5−5
@@ -107,16 +107,16 @@ resolveExports fullList (Var.Listing partialList open) =
107 case List.find (\(name, _ctors) -> name == alias) allAdts of
107 case List.find (\(name, _ctors) -> name == alias) allAdts of
108 Nothing -> notFound [alias]
108 Nothing -> notFound [alias]
109 Just (name, _ctor) ->
109 Just (name, _ctor) ->
110− return [Var.ADT name (Var.Listing [] False)]
110+ return [Var.Union name (Var.Listing [] False)]
111
111
112 getAdtExport (name, Var.Listing ctors open) =
112 getAdtExport (name, Var.Listing ctors open) =
113 case lookup name allAdts of
113 case lookup name allAdts of
114 Nothing -> notFound [name]
114 Nothing -> notFound [name]
115 Just (Var.Listing allCtors _)
115 Just (Var.Listing allCtors _)
116− | open -> return $ Var.ADT name (Var.Listing allCtors False)
116+ | open -> return $ Var.Union name (Var.Listing allCtors False)
117 | otherwise ->
117 | otherwise ->
118 case filter (`notElem` allCtors) ctors of
118 case filter (`notElem` allCtors) ctors of
119− [] -> return $ Var.ADT name (Var.Listing ctors False)
119+ [] -> return $ Var.Union name (Var.Listing ctors False)
120 unfoundCtors -> notFound unfoundCtors
120 unfoundCtors -> notFound unfoundCtors
121
121
122 notFound xs =
122 notFound xs =
@@ -141,7 +141,7 @@ splitValues mixedValues =
141 Var.Alias name ->
141 Var.Alias name ->
142 (values, name : aliases, adts)
142 (values, name : aliases, adts)
143
143
144− Var.ADT name listing ->
144+ Var.Union name listing ->
145 (values, aliases, (name, listing) : adts)
145 (values, aliases, (name, listing) : adts)
146
146
147
147
@@ -153,7 +153,7 @@ declToValue decl =
153 map Var.Value (P.boundVarList pattern)
153 map Var.Value (P.boundVarList pattern)
154
154
155 D.Datatype name _tvs ctors ->
155 D.Datatype name _tvs ctors ->
156− [ Var.ADT name (Var.Listing (map fst ctors) False) ]
156+ [ Var.Union name (Var.Listing (map fst ctors) False) ]
157
157
158 D.TypeAlias name _ tipe ->
158 D.TypeAlias name _ tipe ->
159 case tipe of
159 case tipe of
src/Transform/Canonicalize/Setup.hs+1−1
@@ -118,7 +118,7 @@ addValue moduleName interface env value =
118 Just (_,_) ->
118 Just (_,_) ->
119 return $ env { _adts = insert' x (_adts env) }
119 return $ env { _adts = insert' x (_adts env) }
120
120
121− Var.ADT x (Var.Listing xs open) ->
121+ Var.Union x (Var.Listing xs open) ->
122 case Map.lookup x (iAdts interface) of
122 case Map.lookup x (iAdts interface) of
123 Nothing -> notFound x
123 Nothing -> notFound x
124 Just (_tvars, ctors) ->
124 Just (_tvars, ctors) ->
src/Transform/Interface.hs+3−3
@@ -30,7 +30,7 @@ filterExports interface =
30 case value of
30 case value of
31 Var.Value x -> getType x
31 Var.Value x -> getType x
32 Var.Alias _ -> []
32 Var.Alias _ -> []
33− Var.ADT _ (Var.Listing ctors _) -> concatMap getType ctors
33+ Var.Union _ (Var.Listing ctors _) -> concatMap getType ctors
34
34
35 getType :: String -> [(String, Type.CanonicalType)]
35 getType :: String -> [(String, Type.CanonicalType)]
36 getType name =
36 getType name =
@@ -41,14 +41,14 @@ filterExports interface =
41 case value of
41 case value of
42 Var.Value _ -> []
42 Var.Value _ -> []
43 Var.Alias name -> get (Module.iAliases interface) name
43 Var.Alias name -> get (Module.iAliases interface) name
44− Var.ADT _ _ -> []
44+ Var.Union _ _ -> []
45
45
46 getAdts :: Var.Value -> [(String, Module.AdtInfo String)]
46 getAdts :: Var.Value -> [(String, Module.AdtInfo String)]
47 getAdts value =
47 getAdts value =
48 case value of
48 case value of
49 Var.Value _ -> []
49 Var.Value _ -> []
50 Var.Alias _ -> []
50 Var.Alias _ -> []
51− Var.ADT name (Var.Listing exportedCtors _) ->
51+ Var.Union name (Var.Listing exportedCtors _) ->
52 case Map.lookup name (Module.iAdts interface) of
52 case Map.lookup name (Module.iAdts interface) of
53 Nothing -> []
53 Nothing -> []
54 Just (tvars, ctors) ->
54 Just (tvars, ctors) ->