From 2238d363e51b3814e6595ea1d9743de94dabb9b5 Mon Sep 17 00:00:00 2001 From: Emi Simpson Date: Fri, 15 Mar 2024 19:54:48 -0400 Subject: [PATCH] Generate slightly smaller code for switch and let --- ir.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ir.py b/ir.py index 034e35e..a284162 100644 --- a/ir.py +++ b/ir.py @@ -162,7 +162,7 @@ class LetBinding: def codegen(self) -> str: rhs_cg = self.rhs.codegen_named(self.lhs) if isinstance(self.rhs, Function) else self.rhs.codegen() - return f'(({self.lhs}) => {self.body.codegen()})({rhs_cg})' + return f'({self.lhs}={rhs_cg},{self.body.codegen()})' @dataclass class Application: @@ -288,7 +288,7 @@ class Switch: def codegen(self) -> str: switching_on_code = self.switching_on.codegen() return ':'.join( - f'{switching_on_code}==={val}?({branch.codegen()})' + f'{switching_on_code}=={val}?({branch.codegen()})' for val, branch in self.branches.items() ) + f':{self.fallback.codegen()}'