@@ -60,45 +60,33 @@ import DCLabels (dcLabelExpToDCLabel)
6060data LibAccess = LibAccess Basics. LibName Basics. VarName
6161 deriving (Eq , Show ,Generic )
6262
63-
64- data JSOutput = JSOutput { libs :: [LibAccess ]
65- , fname :: Maybe String
66- , code :: String
67- , atoms :: [Basics. AtomName ]
68- } deriving (Show , Generic )
69-
70- instance Aeson. ToJSON Basics. LibName
63+ instance Aeson. ToJSON Basics. LibName
7164instance Aeson. ToJSON LibAccess
72- instance Aeson. ToJSON JSOutput
73-
74- ppLibAccess :: LibAccess -> PP. Doc
75- ppLibAccess (LibAccess (Basics. LibName libname) varname) = PP. braces $
76- PP. text " lib:" <+> (PP. doubleQuotes. PP. text) libname <+> PP. text " ," <+>
77- PP. text " decl:" <+> (PP. doubleQuotes. PP. text) varname
78-
79-
80- ppLibs :: [LibAccess ] -> PP. Doc
81- ppLibs libs = PP. brackets $
82- vcat $ PP. punctuate (text " ," )
83- $ map ppLibAccess (nub libs)
8465
8566jsLoadLibs = vcat $ map text [
8667 " this.libSet = new Set ()" ,
8768 " this.libs = []" ,
8869 " this.addLib = function (lib, decl) { if (!this.libSet.has (lib +'.'+decl)) { this.libSet.add (lib +'.'+decl); this.libs.push ({lib:lib, decl:decl})} }" ,
8970 " this.loadlibs = function (cb) { rt.linkLibs (this.libs, this, cb) }" ]
90-
91-
92- addOneLib (LibAccess (Basics. LibName libname) varname) =
93- let args = (PP. doubleQuotes. PP. text) libname <+> text " ," <+> (PP. doubleQuotes. PP. text) varname
94- in text " this.addLib " <+> PP. parens args
9571
9672addLibs xs = vcat $ nub (map addOneLib xs)
73+ where addOneLib (LibAccess (Basics. LibName libname) varname) =
74+ let args = (PP. doubleQuotes. PP. text) libname <+> text " ," <+> (PP. doubleQuotes. PP. text) varname
75+ in text " this.addLib " <+> PP. parens args
76+
77+
78+ data JSOutput = JSOutput { libs :: [LibAccess ]
79+ , fname :: Maybe String
80+ , code :: String
81+ , atoms :: [Basics. AtomName ]
82+ } deriving (Show , Generic )
83+
84+ instance Aeson. ToJSON JSOutput
9785
9886
9987data TheState = TheState { freshCounter :: Integer
10088 , frameSize :: Int
101- , sparseSlot :: Int
89+ , sparseSlot :: Int
10290 , consts :: Raw. Consts
10391 , stHFN :: IR. HFN }
10492
0 commit comments