git.iko.soy/rowtype-yoga/purescm
on bytevector help sign in
Update purescript-backend-optimizer (#137)
commit583aa153bce2cb1aafc61b7cfa611e83044f841a authorJustin Garcia <purefunctor@gmail.com> dateWed 17 May 2023, 21:36 (3 years ago) parentf90c2ab
4 files changed+7−9
spago.yaml+2−2 src/PureScript/Backend/Chez/Convert.purs+1−1 src/PureScript/Backend/Chez/Printer.purs+3−5 src/PureScript/Backend/Chez/Syntax.purs+1−1
spago.yaml+2−2
@@ -47,8 +47,8 @@ workspace:
4747 registry: 20.0.1
4848 extra_packages:
4949 backend-optimizer:
50− git: https://github.com/JordanMartinez/purescript-backend-optimizer
51− ref: add-ty-con-info
50+ git: https://github.com/aristanetworks/purescript-backend-optimizer
51+ ref: c11f1e9f411ebbb4045734f7429578972836d60c
5252 dependencies:
5353 - aff
5454 - ansi
src/PureScript/Backend/Chez/Convert.purs+1−1
@@ -201,7 +201,7 @@ codegenExpr codegenEnv@{ currentModule } s = case unwrap s of
201201 let
202202 goPair :: Pair NeutralExpr -> Tuple ChezExpr ChezExpr
203203 goPair (Pair c e) = Tuple (codegenExpr codegenEnv c) (codegenExpr codegenEnv e)
204− S.Cond (goPair <$> b) (codegenExpr codegenEnv <$> o)
204+ S.Cond (goPair <$> b) (codegenExpr codegenEnv o)
205205
206206 EffectBind _ _ _ _ ->
207207 codegenEffectChain codegenEnv s
src/PureScript/Backend/Chez/Printer.purs+3−5
@@ -10,7 +10,6 @@ import Data.Array.NonEmpty (NonEmptyArray)
1010import Data.Array.NonEmpty as NEA
1111import Data.Array.NonEmpty as NonEmptyArray
1212import Data.Bifunctor (bimap)
13−import Data.Foldable (foldMap)
1413import Data.Maybe (Maybe(..), maybe)
1514import Data.Newtype (un)
1615import Data.String (Pattern(..), Replacement(..))
@@ -95,7 +94,7 @@ escapeIdentifiers lib = lib
9594 escapeExpr = case _ of
9695 Identifier i -> Identifier $ escapeIdent i
9796 List exprs -> List $ map escapeExpr exprs
98− Cond b o -> Cond (map (bimap escapeExpr escapeExpr) b) (map escapeExpr o)
97+ Cond b o -> Cond (map (bimap escapeExpr escapeExpr) b) (escapeExpr o)
9998 Let recursive bindings expr ->
10099 Let recursive (map (bimap escapeIdent escapeExpr) bindings) $ escapeExpr expr
101100 Lambda args expr -> Lambda (map escapeIdent args) $ escapeExpr expr
@@ -318,7 +317,7 @@ printLambda args expr =
318317 (D.words [ D.text $ scmPrefixed "lambda", printList $ D.words $ map D.text args ])
319318 $ printChezExpr expr
320319
321−printCond :: NonEmptyArray (Tuple ChezExpr ChezExpr) -> Maybe ChezExpr -> Doc Void
320+printCond :: NonEmptyArray (Tuple ChezExpr ChezExpr) -> ChezExpr -> Doc Void
322321printCond branches fallback = do
323322 let
324323 b' :: Array (Doc Void)
@@ -326,8 +325,7 @@ printCond branches fallback = do
326325 printBrackets $ D.words [ printChezExpr cond, printChezExpr expr ]
327326
328327 o' :: Doc Void
329− o' = fallback # foldMap \x ->
330− printBrackets $ D.words [ D.text $ scmPrefixed "else", printChezExpr x ]
328+ o' = printBrackets $ D.words [ D.text $ scmPrefixed "else", printChezExpr fallback ]
331329
332330 printNamedIndentedList (D.text $ scmPrefixed "cond")
333331 $ D.lines
src/PureScript/Backend/Chez/Syntax.purs+1−1
@@ -92,7 +92,7 @@ data ChezExpr
9292 | Bool Boolean
9393 | Identifier String
9494 | List (Array ChezExpr)
95− | Cond (NonEmptyArray (Tuple ChezExpr ChezExpr)) (Maybe ChezExpr)
95+ | Cond (NonEmptyArray (Tuple ChezExpr ChezExpr)) ChezExpr
9696 | Let Boolean (NonEmptyArray (Tuple String ChezExpr)) ChezExpr
9797 | Lambda (Array String) ChezExpr
9898