git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
More generated names tweaks
73a8b52Andy Arvanitis
src/CodeGen/IL/Common.hs−3
@@ -174,9 +174,6 @@ string = "string"
174arrayLengthFn :: Text
174arrayLengthFn :: Text
175arrayLengthFn = "Length"
175arrayLengthFn = "Length"
176
176
177−tcoLoop :: Text
178−tcoLoop = "ᵗᶜloop"
179−
180freshName' :: MonadSupply m => m Text
177freshName' :: MonadSupply m => m Text
181freshName' = do
178freshName' = do
182 name <- freshName
179 name <- freshName
src/CodeGen/IL/Optimizer/TCO.hs+8−5
@@ -1,4 +1,4 @@
1−module CodeGen.IL.Optimizer.TCO (tco) where
1+module CodeGen.IL.Optimizer.TCO (tco, tcoLoop) where
2
2
3import Prelude.Compat
3import Prelude.Compat
4
4
@@ -11,19 +11,22 @@ import CodeGen.IL.Common
11
11
12import qualified Language.PureScript.Constants as C
12import qualified Language.PureScript.Constants as C
13
13
14+tcoLoop :: Text
15+tcoLoop = "__tco_loop"
16+
14tco :: AST -> AST -> AST
17tco :: AST -> AST -> AST
15tco mn = everywhere convert where
18tco mn = everywhere convert where
16 tcoVar :: Text -> Text
19 tcoVar :: Text -> Text
17− tcoVar arg = "ᵗ" <> arg
20+ tcoVar arg = "__tco_var_" <> arg
18
21
19 copyVar :: Text -> Text
22 copyVar :: Text -> Text
20− copyVar arg = "ᶜ" <> arg
23+ copyVar arg = "__copy_" <> arg
21
24
22 tcoDone :: Text
25 tcoDone :: Text
23− tcoDone = "ᵗᶜdone"
26+ tcoDone = "__tco_done"
24
27
25 tcoResult :: Text
28 tcoResult :: Text
26− tcoResult = "ᵗᶜresult"
29+ tcoResult = "__tco_result"
27
30
28 convert :: AST -> AST
31 convert :: AST -> AST
29 convert fn@(Function ss (Just name) args _)
32 convert fn@(Function ss (Just name) args _)
src/CodeGen/IL/Printer.hs+2
@@ -30,7 +30,9 @@ import Language.PureScript.Crash
30import Language.PureScript.Names (Ident, runIdent)
30import Language.PureScript.Names (Ident, runIdent)
31import Language.PureScript.Pretty.Common
31import Language.PureScript.Pretty.Common
32import Language.PureScript.PSString (PSString, decodeString, mkString)
32import Language.PureScript.PSString (PSString, decodeString, mkString)
33+
33import CodeGen.IL.Common
34import CodeGen.IL.Common
35+import CodeGen.IL.Optimizer.TCO (tcoLoop)
34
36
35import qualified Language.PureScript.Constants as C
37import qualified Language.PureScript.Constants as C
36
38