Files
RustAst/examples/sma.myc
T
Brummel 16af3ae9fc 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.
2026-03-26 15:07:48 +01:00

22 lines
646 B
Plaintext

;; Skip: work in progress — requires external RTL module (SMA not yet implemented)
#use rtl
(do
(def src (create-random-ohlc 42 200))
(macro printx [s] `(fn [x] (print ~s x)))
(pipe src print)
(pipe [(pipe [(.close src)] (SMA 20))] (printx "sma20="))
(pipe [(pipe [(.close src)] (SMA 5))] (printx "sma5="))
(pipe [(pipe [(.close src)] (SMA 100))] (printx "sma100="))
(macro cache [lookback type src] `(do (def data (series ~lookback ~type)) (pipe [~src] (fn [s] (do (push data s)))) data))
; (def bars (series 20 :float))
; (pipe [src] (fn [s] (do (push bars (.close s)))))
(cache 20 :float src)
)