Files
RustAst/examples/hof.myc
T
Michael Schimmel 98deb8f3fe Refactor VM evaluation to use macro
The `eval` and `eval_observed` methods in the `VM` struct were very
similar, with the primary difference being the call to the `VMObserver`
trait. This commit refactors these methods into a single macro,
`dispatch_eval!`, which reduces code duplication and improves
maintainability.

The `Value::TailCallRequest` variant was also updated to use `Box` for
its contents, which helps keep the `Value` enum size consistent.

Finally, the benchmarks in the `examples` directory have been updated to
reflect minor performance changes resulting from these code
modifications.
2026-02-18 02:01:27 +01:00

10 lines
165 B
Plaintext

;; Higher-Order Function Example
;; Benchmark: 8.9us
;; Output: 25
(do
(def apply (fn [f x] (f x)))
(def square (fn [x] (* x x)))
(apply square 5)
)