Files
RustAst/examples/extreme_capture.myc
T
Michael Schimmel 1331aabbe1 Update benchmarks and adjust tests
This commit updates benchmark values in several example files to reflect
minor performance variations. It also includes adjustments to
integration
and unit tests to align with recent changes in the type checking and VM
logic, specifically concerning closures and TCO handling.
2026-02-19 23:54:53 +01:00

27 lines
730 B
Plaintext

;; Benchmark: 1.6us
;; Output: 36
(do
;; Excessive capture test
;; This script creates deep nesting where the inner-most lambda
;; grabs variables from every single outer scope.
(def excessive (fn [v1]
(do
(def v2 2)
(fn [v3]
(do
(def v4 4)
(fn [v5]
(do
(def v6 6)
(fn [v7]
(do
(def v8 8)
;; v1, v3, v5, v7 are parameters (captured as upvalues)
;; v2, v4, v6, v8 are locals (captured from outer scopes)
(+ v1 v2 v3 v4 v5 v6 v7 v8))))))))))
;; Execution: (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8) = 36
((((excessive 1) 3) 5) 7)
)