From ccd89dfa539b7e64ecfc1376bd4412e1ee59095b Mon Sep 17 00:00:00 2001 From: giles Date: Sat, 11 Apr 2026 13:06:28 +0000 Subject: [PATCH] Compiler: letrec for skip-annotations in compile-define Self-referencing local function used let instead of letrec, causing JIT failures: "VM undefined: skip-annotations" when compiling any define with type annotations (:effects, :as). Retranspile needed to eliminate JIT fallback warnings from the OCaml binary. Co-Authored-By: Claude Opus 4.6 (1M context) --- lib/compiler.sx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/compiler.sx b/lib/compiler.sx index 606353a0..02912708 100644 --- a/lib/compiler.sx +++ b/lib/compiler.sx @@ -728,7 +728,7 @@ (and (not (empty? rest-args)) (= (type-of (first rest-args)) "keyword")) - (let + (letrec ((skip-annotations (fn (items) (if (empty? items) nil (if (= (type-of (first items)) "keyword") (skip-annotations (rest (rest items))) (first items)))))) (skip-annotations rest-args)) (first rest-args)))))