@@ -1,16 +1,19 @@
11{-# OPTIONS_GHC -Wall #-}
22module Transform.SafeNames (metadataModule) where
33
4−import Control.Arrow (first, (***))
4+import Control.Arrow (first, (***))
5+import Data.List (intercalate)
6+
7+import qualified Data.Set as Set
8+import qualified Parse.Helpers as PHelp
9+
510import SourceSyntax.Expression
611import SourceSyntax.Location
712import SourceSyntax.Module
813import SourceSyntax.Pattern
9−import qualified Data.Set as Set
10−import qualified Parse.Helpers as PHelp
1114
1215var :: String -> String
13−var = dereserve . deprime
16+var = intercalate "." . map (dereserve . deprime) . PHelp.splitDots
1417 where
1518 deprime = map (\c -> if c == '\'' then '$' else c)
1619 dereserve x = case Set.member x PHelp.jsReserveds of
@@ -69,4 +72,4 @@ metadataModule modul =
6972 , datatypes =
7073 let makeSafe (name,tvars,ctors,ds) = (var name, tvars, map (first var) ctors, ds)
7174 in map makeSafe (datatypes modul)
72− }
75+ }