git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Use a fresh name.
commitf259d87f781a0323830747acef7c127785b9a848 authorjoneshf <jones3.hardy@gmail.com> dateFri 1 Aug 2014, 12:40 (12 years ago) parent0b6d007
1 file changed+4−2
src/Language/PureScript/Optimizer/Inliner.hs+4−2
src/Language/PureScript/Optimizer/Inliner.hs+4−2
@@ -30,6 +30,7 @@ import Language.PureScript.CodeGen.JS.AST
3030import Language.PureScript.CodeGen.Common (identToJs)
3131import Language.PureScript.Optimizer.Common
3232import Language.PureScript.Names
33+import Language.PureScript.Supply (freshName, evalSupply)
3334
3435import qualified Language.PureScript.Constants as C
3536
@@ -88,9 +89,10 @@ inlineCompose :: JS -> JS
8889inlineCompose = everywhereOnJS convert
8990 where
9091 convert :: JS -> JS
91− convert (JSApp (JSApp comp [f]) [g]) | isBackwardComp comp = JSFunction Nothing ["x"] (JSBlock [JSReturn (JSApp f [JSApp g [JSVar "x"]])])
92− convert (JSApp (JSApp comp [f]) [g]) | isForwardComp comp = JSFunction Nothing ["x"] (JSBlock [JSReturn (JSApp g [JSApp f [JSVar "x"]])])
92+ convert (JSApp (JSApp comp [f]) [g]) | isBackwardComp comp = JSFunction Nothing [var] (JSBlock [JSReturn (JSApp f [JSApp g [JSVar var]])])
93+ convert (JSApp (JSApp comp [f]) [g]) | isForwardComp comp = JSFunction Nothing [var] (JSBlock [JSReturn (JSApp g [JSApp f [JSVar var]])])
9394 convert other = other
95+ var = evalSupply 1 freshName
9496 isBackwardComp (JSApp (JSIndexer (JSStringLiteral comp) (JSVar prelude)) semi) = comp == (C.<<<) && prelude == C.prelude && isSemi semi
9597 isBackwardComp _ = False
9698 isForwardComp (JSApp (JSIndexer (JSStringLiteral comp) (JSVar prelude)) semi) = comp == (C.>>>) && prelude == C.prelude && isSemi semi