diff --git a/ir.py b/ir.py index 48797a9..bbf5fd9 100644 --- a/ir.py +++ b/ir.py @@ -183,7 +183,10 @@ class LetBinding: def codegen(self) -> str: rhs_cg = self.rhs.codegen_named(self.lhs) if isinstance(self.rhs, MonoFunc) else self.rhs.codegen() - return f'({self.lhs}=>{self.body.codegen()})({rhs_cg})' + if self.body == Variable(self.lhs): + return rhs_cg + else: + return f'({self.lhs}=>{self.body.codegen()})({rhs_cg})' @dataclass class Application: