Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions lib/Language/PureScript/Backend/Lua/Optimizer.hs
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,11 @@ optimizeExpression = foldr (>>>) identity rewriteRulesInOrder

rewriteRulesInOrder ∷ [RewriteRule]
rewriteRulesInOrder =
[ pushDeclarationsDownTheInnerScope
, removeScopeWhenInsideEmptyFunction
-- 'pushDeclarationsDownTheInnerScope' is deliberately not applied: it moved
-- let-bound work from partial application into every call of the returned
-- function, losing sharing and delaying errors. It is to be superseded by
-- an IR-level float-in pass (issue #136).
[ removeScopeWhenInsideEmptyFunction
, reduceTableDefinitionAccessor
]

Expand Down
12 changes: 6 additions & 6 deletions test/ps/output/Golden.ArrayOfUnits.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand All @@ -122,12 +122,12 @@ M.Effect_Console_logShow = function(dictShow)
end
end
return (function()
local arr = {
[1] = M.Data_Unit_foreign.unit,
[2] = M.Data_Unit_foreign.unit,
[3] = M.Data_Unit_foreign.unit
}
return function()
local arr = {
[1] = M.Data_Unit_foreign.unit,
[2] = M.Data_Unit_foreign.unit,
[3] = M.Data_Unit_foreign.unit
}
local _ = M.Data_Foldable_foldr(M.Data_Foldable_foldableArray)(M.Control_Semigroupoid_semigroupoidFn.compose(function( a )
return function(b)
return M.Control_Apply_apply(M.Effect_applicativeEffect.Apply0())(((M.Effect_applicativeEffect.Apply0()).Functor0()).map(function( )
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.ArrayPatternMatch.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
4 changes: 2 additions & 2 deletions test/ps/output/Golden.BugListGenericEq.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down Expand Up @@ -170,8 +170,8 @@ M.Golden_BugListGenericEq_Test_eqList = function(dictEq)
eq = function(x)
return function(y)
return (function()
local from = M.Golden_BugListGenericEq_Test_genericList.from
return function(dictGenericEq)
local from = M.Golden_BugListGenericEq_Test_genericList.from
return function(x1)
return function(y1)
return M.Data_Eq_Generic_genericEqPrime(dictGenericEq)(from(x1))(from(y1))
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.CharLiterals.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.DerivedFunctor.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
4 changes: 2 additions & 2 deletions test/ps/output/Golden.GenericEqTwoTypes.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ M.Data_Eq_Generic_genericEqConstructor = function(dictGenericEq)
}
end
M.Data_Eq_Generic_genericEq = function(dictGeneric)
local from = dictGeneric.from
return function(dictGenericEq)
local from = dictGeneric.from
return function(x)
return function(y)
return M.Data_Eq_Generic_genericEqPrime(dictGenericEq)(from(x))(from(y))
Expand Down Expand Up @@ -130,8 +130,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.HelloPrelude.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = (M.Effect_monadEffect.Bind1()).bind
return function(f)
local bind = (M.Effect_monadEffect.Bind1()).bind
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
10 changes: 5 additions & 5 deletions test/ps/output/Golden.Issue37.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand All @@ -69,15 +69,15 @@ M.Golden_Issue37_Test_discard = function(dictBind)
end
return {
baz = (function()
local Bind1 = M.Effect_monadEffect.Bind1()
local pure = M.Control_Applicative_pure(M.Effect_monadEffect.Applicative0())
return function(f)
local Bind1 = M.Effect_monadEffect.Bind1()
local pure = M.Control_Applicative_pure(M.Effect_monadEffect.Applicative0())
return M.Golden_Issue37_Test_discard(Bind1)(f)(function()
return M.Control_Bind_bind(Bind1)(pure({
[1] = (function()
local Bind11 = M.Effect_monadEffect.Bind1()
local discard1 = M.Golden_Issue37_Test_discard(Bind11)
return function(fn1)
local Bind11 = M.Effect_monadEffect.Bind1()
local discard1 = M.Golden_Issue37_Test_discard(Bind11)
return M.Control_Bind_bind(M.Effect_monadEffect.Bind1())(fn1)(function( )
return discard1(fn1)(function()
return discard1(fn1)(function() return fn1 end)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.LongDoBlock.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.LongExceptBind.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ end
M.Control_Monad_Except_Trans_applyExceptT = function(dictMonad)
return {
apply = (function()
local bind = M.Control_Bind_bind((M.Control_Monad_Except_Trans_monadExceptT(dictMonad)).Bind1())
return function(f)
local bind = M.Control_Bind_bind((M.Control_Monad_Except_Trans_monadExceptT(dictMonad)).Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.LongStackBind.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ M.Data_Functor_map = function(dict) return dict.map end
M.Control_Applicative_pure = function(dict) return dict.pure end
M.Control_Bind_bind = function(dict) return dict.bind end
M.Control_Monad_ap = function(dictMonad)
local bind = M.Control_Bind_bind(dictMonad.Bind1())
return function(f)
local bind = M.Control_Bind_bind(dictMonad.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.LongStateBind.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ end
M.Control_Monad_State_Trans_applyStateT = function(dictMonad)
return {
apply = (function()
local bind = M.Control_Bind_bind((M.Control_Monad_State_Trans_monadStateT(dictMonad)).Bind1())
return function(f)
local bind = M.Control_Bind_bind((M.Control_Monad_State_Trans_monadStateT(dictMonad)).Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.MaybeChain.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.ProfunctorDictLens.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
2 changes: 1 addition & 1 deletion test/ps/output/Golden.StringCodePoints.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -442,8 +442,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand Down
4 changes: 2 additions & 2 deletions test/ps/output/Golden.TailRecM2Shadow.Test/golden.lua
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ end)
M.Effect_Lazy_applyEffect = PSLUA_runtime_lazy("applyEffect")(function()
return {
apply = (function()
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(f)
local bind = M.Control_Bind_bind(M.Effect_monadEffect.Bind1())
return function(a)
return bind(f)(function(fPrime)
return bind(a)(function(aPrime)
Expand All @@ -80,8 +80,8 @@ M.Control_Monad_Rec_Class_bind = M.Control_Bind_bind(M.Effect_bindEffect)
M.Control_Monad_Rec_Class_pure = M.Control_Applicative_pure(M.Effect_applicativeEffect)
M.Golden_TailRecM2Shadow_Test_add = M.Data_Semiring_foreign.intAdd
M.Golden_TailRecM2Shadow_Test_sumFrom = function(dictMonadRec)
local pure = M.Control_Applicative_pure((dictMonadRec.Monad0()).Applicative0())
return function(b)
local pure = M.Control_Applicative_pure((dictMonadRec.Monad0()).Applicative0())
return function(n)
return dictMonadRec.tailRecM(function(o)
if (function()
Expand Down
Loading