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) <noreply@anthropic.com>
This commit is contained in:
@@ -728,7 +728,7 @@
|
|||||||
(and
|
(and
|
||||||
(not (empty? rest-args))
|
(not (empty? rest-args))
|
||||||
(= (type-of (first rest-args)) "keyword"))
|
(= (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 (fn (items) (if (empty? items) nil (if (= (type-of (first items)) "keyword") (skip-annotations (rest (rest items))) (first items))))))
|
||||||
(skip-annotations rest-args))
|
(skip-annotations rest-args))
|
||||||
(first rest-args)))))
|
(first rest-args)))))
|
||||||
|
|||||||
Reference in New Issue
Block a user