12345678910111213141516171819202122232425262728 |
- (
- #comment
- (let config (DataSource 'config))
- (let res_sink (DataSink 'result))
- (let vt3 (VariantType (TupleType (DataType 'String) (DataType 'String) (DataType 'String))))
- (let vt2 (VariantType (TupleType (DataType 'String) (DataType 'String))))
- (let v0 (Variant (String 'aaa) '0 vt3))
- (let v1 (Variant (String 'bbb) '1 vt3))
- (let v2 (Variant (String 'ccc) '2 vt3))
- (let list (AsList v0 v1 v2))
- (let handler0 (lambda '(x) (Concat (String '0-) x)))
- (let handler1 (lambda '(x) (Concat (String '1-) x)))
- (let handler2 (lambda '(x) (Concat (String '2-) x)))
- (let remap (lambda '(x) (Visit x '0 (lambda '(x) (Variant x '1 vt3)) '1 (lambda '(x) (Variant x '2 vt3)) '2 (lambda '(x) (Variant x '0 vt3)))))
- (let def (lambda '(x) (Visit x '0 (lambda '(x) (Variant (Apply handler0 x) '0 vt3)) v1)))
- (let reduce (lambda '(x) (Visit x '0 (lambda '(x) (Variant x '0 vt2)) '1 (lambda '(x) (Variant x '0 vt2)) '2 (lambda '(x) (Variant x '1 vt2)))))
- (let world (Write! world res_sink (Key) (Map list (lambda '(x) (Visit (Apply remap x) '0 handler0 '1 handler1 '2 handler2))) '('('type))))
- (let world (Write! world res_sink (Key) (Map list (lambda '(x) (Visit (Apply def x) '0 handler0 '1 handler1 (String 'def)))) '('('type))))
- (let world (Write! world res_sink (Key) (Map list (lambda '(x) (Visit (Apply def x) '0 handler0 (String 'def)))) '('('type))))
- (let world (Write! world res_sink (Key) (Map list (lambda '(x) (Visit (Apply reduce x) '0 handler0 '1 handler1))) '('('type))))
- (let world (Commit! world res_sink))
- (return world)
- )
|