From d05b13d840578f123644aedb2b4f2b3fc1237657 Mon Sep 17 00:00:00 2001 From: Brandon Lucas Date: Wed, 18 Feb 2026 21:05:23 -0500 Subject: [PATCH] fix: JS backend compiles print() to console.log() Bare `print()` calls in Lux now emit `console.log()` in JS output instead of undefined `print()`. Fixes BUG-006. Co-Authored-By: Claude Opus 4.6 --- Cargo.lock | 2 +- src/codegen/js_backend.rs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 2690349..7271d06 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -770,7 +770,7 @@ dependencies = [ [[package]] name = "lux" -version = "0.1.0" +version = "0.1.1" dependencies = [ "lsp-server", "lsp-types", diff --git a/src/codegen/js_backend.rs b/src/codegen/js_backend.rs index 9aa23ef..29b9f8b 100644 --- a/src/codegen/js_backend.rs +++ b/src/codegen/js_backend.rs @@ -1066,6 +1066,10 @@ impl JsBackend { let arg = self.emit_expr(&args[0])?; return Ok(format!("String({})", arg)); } + if ident.name == "print" { + let arg = self.emit_expr(&args[0])?; + return Ok(format!("console.log({})", arg)); + } } let arg_strs: Result, _> = args.iter().map(|a| self.emit_expr(a)).collect();