Refactor Examples to use assert_eq

This commit updates all example files to use `assert_eq!` for verifying
output, replacing the previous `Output:` comments. This change makes the
examples more robust and self-testing.

The benchmark results in some examples have also been slightly adjusted,
reflecting minor performance variations after the refactoring.

Additionally, a runtime panic handling mechanism has been introduced in
the VM for function calls, which improves error reporting for unexpected
panics.
This commit is contained in:
2026-03-26 15:07:48 +01:00
parent 0088a644eb
commit 16af3ae9fc
40 changed files with 313 additions and 235 deletions
+6 -7
View File
@@ -1,6 +1,5 @@
;; Benchmark: 2.1us
;; Benchmark-Repeat: 966
;; Output: <StreamNode>
;; Benchmark: 2.7us
;; Benchmark-Repeat: 749
(do
;; Set the random seed to match the existing test output exactly
@@ -12,13 +11,13 @@
;; The candle generator reacting to the ticker
(def last-close 100.0)
(def src1
(pipe [ticker]
(fn [_]
(do
; Matches Rust: (rng.f64() - 0.5) * 2.0
(def change (* (- (random) 0.5) 2.0))
(def change (* (- (random) 0.5) 2.0))
(def open last-close)
(def high (+ open (abs (* (random) 2.0))))
(def low (- open (abs (* (random) 2.0))))
@@ -44,6 +43,6 @@
)
)
)
my_indicator
(assert-eq :StreamNode (type-of my_indicator))
)