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()}'