@@ -2,10 +2,6 @@
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
3module Generate.JavaScript.Name
3module Generate.JavaScript.Name
9 , toBuilder
5 , toBuilder
10 , fromIndex
6 , fromIndex
@@ -13,22 +9,18 @@ module Generate.JavaScript.Name
13 , fromGlobal
9 , fromGlobal
14 , fromCycle
10 , fromCycle
15 , fromKernel
11 , fromKernel
19 , makeLabel
14 , makeLabel
20 , makeTemp
15 , makeTemp
27import qualified Data.ByteString.Builder as B
21import qualified Data.ByteString.Builder as B
28import qualified Data.ByteString.Short as S
22import qualified Data.ByteString.Short as S
29−import qualified Data.List as List
30import Data.Monoid ((<>))
23import Data.Monoid ((<>))
32import qualified Data.Map as Map
24import qualified Data.Map as Map
33import qualified Data.Set as Set
25import qualified Data.Set as Set
34import qualified Data.Text as Text
26import qualified Data.Text as Text
@@ -50,39 +42,6 @@ newtype Name =
57− = Dev Target Debugger
58− | Prod Target ShortFieldNames
61−data Target = Client | Server
69−type ShortFieldNames =
73−isServer :: Mode -> Bool
76− Dev target _ -> isServerHelp target
77− Prod target _ -> isServerHelp target
80−isServerHelp :: Target -> Bool
82− case target of { Client -> False ; Server -> True }
86-- CONSTRUCTORS
45-- CONSTRUCTORS
@@ -127,16 +86,6 @@ fromKernel home name =
127 Name ("_" <> N.toBuilder home <> "_" <> N.toBuilder name)
86 Name ("_" <> N.toBuilder home <> "_" <> N.toBuilder name)
130−fromField :: Mode -> N.Name -> Name
131−fromField mode name =
134− Name (N.toBuilder name)
141-- TEMPORARY NAMES
90-- TEMPORARY NAMES
@@ -167,33 +116,6 @@ dollar =
170−-- SHORTEN FIELD NAMES
173−shortenFieldNames :: Map.Map N.Name Int -> ShortFieldNames
174−shortenFieldNames frequencies =
175− Map.foldr addToShortNames Map.empty $
176− Map.foldrWithKey addToBuckets Map.empty frequencies
179−addToBuckets :: N.Name -> Int -> Map.Map Int [N.Name] -> Map.Map Int [N.Name]
180−addToBuckets field frequency buckets =
181− -- TODO try using an IntMap for buckets
182− Map.insertWith (++) frequency [field] buckets
185−addToShortNames :: [N.Name] -> ShortFieldNames -> ShortFieldNames
186−addToShortNames fields shortNames =
187− List.foldl' addField shortNames fields
190−addField :: ShortFieldNames -> N.Name -> ShortFieldNames
191−addField shortNames field =
192− let rename = fromInt (Map.size shortNames) in
193− Map.insert field rename shortNames
197-- RESERVED NAMES
119-- RESERVED NAMES