13dc6beb52
The tail call resolution logic was duplicated in `Environment::call` and `VM::run`. This commit extracts the tail call resolution logic into a single method `VM::resolve_tail_calls` and uses it in both places. Additionally, this commit adds support for series indexing as a form of tail call, allowing for direct access to series elements through the `series(index)` syntax. This is useful for back-referencing in time-series data. A new example `err.myc` is added to demonstrate basic series usage and error handling.
6 lines
85 B
Plaintext
6 lines
85 B
Plaintext
;; Output: 0
|
|
(do
|
|
(def history (series :float))
|
|
(push history 0.0)
|
|
(history 0)
|
|
) |