12345678910111213141516171819202122 |
- (
- #comment
- (let res_sink (DataSink 'result))
- (let mr_source (DataSource 'yt 'plato))
- (let x (Read! world mr_source (Key '('table (String 'Input))) '('key 'subkey 'value) '()))
- (let world (Left! x))
- (let table1 (Right! x))
- (let init (lambda '(x parent) '(parent (StrictFromString (Member x 'value) 'Uint32))))
- (let update_min (lambda '(x y parent) '(parent (AggrMin (StrictFromString (Member x 'value) 'Uint32) (Nth y '1)))))
- (let save (lambda '(x) x))
- (let load (lambda '(x) x))
- (let merge_min (lambda '(x y) (AggrMin x y)))
- (let finish (lambda '(x) (Nth x '1)))
- (let min (AggregationTraits (ListItemType (TypeOf table1)) init update_min save load merge_min finish (Null)))
- (let resAll (Aggregate table1 '() '('('minvalue min))))
- (let world (Write! world res_sink (Key) resAll '('('type))))
- (let resKey (Aggregate table1 '('key) '('('minvalue min))))
- (let sortedOutput (Sort resKey (Bool 'false) (lambda '(x) (Member x 'key) )))
- (let world (Write! world res_sink (Key) sortedOutput '('('type))))
- (let world (Commit! world res_sink))
- (return world)
- )
|