595bcf09e5
The `PipelineNode` has been refactored into `StreamNode`. This commit updates the example files to reflect this change and also updates the `series` constructor to accept a lookback parameter. The `PipelineNode` was an artifact of a previous implementation and is no longer needed. The `StreamNode` is the appropriate type for representing the output of a pipe operation. The `series` function now requires a `lookback` argument to specify the maximum number of items to store. This makes the behavior of series more explicit and prevents accidental unbounded memory growth.
15 lines
375 B
Plaintext
15 lines
375 B
Plaintext
;; Output: 26.7
|
|
;; Benchmark: 1.4us
|
|
;; Benchmark-Repeat: 1406
|
|
(do
|
|
(def my_ticks (series 100 {:price :float :volume :int :msg :text}))
|
|
|
|
(push my_ticks {:price 10.5 :volume 100 :msg "A"})
|
|
(push my_ticks {:price 11.2 :volume 200 :msg "B"})
|
|
(push my_ticks {:price 15.5 :volume 300 :msg "C"})
|
|
|
|
(def prices (.price my_ticks))
|
|
|
|
(+ (prices 0) (prices 1))
|
|
)
|