git.iko.soy/rowtype-yoga/purescript-backend-optimizer
on main help sign in
Update Syntax.purs (#41)

chore: re-use `esArrowFunction` internally.

commit85a70a4376bd6b5ab7ae13a6ee1afc8974e06f9c authorYura Lazarev <Unisay@users.noreply.github.com> dateWed 22 Mar 2023, 17:52 (4 years ago) parent38608f2
1 file changed+5−5
backend-es/src/PureScript/Backend/Optimizer/Codegen/EcmaScript/Syntax.purs+5−5
backend-es/src/PureScript/Backend/Optimizer/Codegen/EcmaScript/Syntax.purs+5−5
@@ -262,10 +262,10 @@ build syn = case syn of
262262 build $ EsReturn Nothing
263263 EsArrowFunction as bs
264264 | Just (EsExpr _ (EsReturn Nothing)) <- Array.last bs ->
265− build $ EsArrowFunction as $ Array.dropEnd 1 bs
265+ esArrowFunction as $ Array.dropEnd 1 bs
266266 EsArrowFunction as [ block ]
267267 | Just bs <- inlineReturnBlock block ->
268− build $ EsArrowFunction as bs
268+ esArrowFunction as bs
269269 EsArrowFunction as bs -> do
270270 let Tuple s bs' = buildStatements bs
271271 EsExpr (alwaysPure s) $ EsArrowFunction as bs'
@@ -641,7 +641,7 @@ printBindingValue :: forall a. PrintOptions -> EsExpr -> Dodo.Doc a
641641printBindingValue opts val@(EsExpr (EsAnalysis s) _)
642642 | opts.pureAnns && not s.pure =
643643 snd $ print opts $ EsCall
644− ( build $ EsArrowFunction []
644+ ( esArrowFunction []
645645 [ build $ EsReturn $ Just val ]
646646 )
647647 []
@@ -834,13 +834,13 @@ esCurriedFunction args stmts = case Array.unsnoc args of
834834 Nothing ->
835835 esArrowFunction [] stmts
836836 Just { init, last } ->
837− foldr (\a -> build <<< EsArrowFunction [ a ] <<< pure <<< build <<< EsReturn <<< Just) (build (EsArrowFunction [ last ] stmts)) init
837+ foldr (\a -> esArrowFunction [ a ] <<< pure <<< build <<< EsReturn <<< Just) (esArrowFunction [ last ] stmts) init
838838
839839esBinding :: EsIdent -> EsExpr -> EsExpr
840840esBinding ident expr = build $ EsConst $ NonEmptyArray.singleton $ Tuple (EsBindingIdent ident) expr
841841
842842esLazyBinding :: EsExpr -> EsExpr
843−esLazyBinding = build <<< EsRuntime <<< EsBinding <<< build <<< EsArrowFunction [] <<< pure <<< build <<< EsReturn <<< Just
843+esLazyBinding = build <<< EsRuntime <<< EsBinding <<< esArrowFunction [] <<< pure <<< build <<< EsReturn <<< Just
844844
845845esAssignIdent :: EsIdent -> EsExpr -> EsExpr
846846esAssignIdent ident = build <<< EsAssign (build (EsIdent (Qualified Nothing ident)))