ordinary_dump_builtin.bend
bendvy-ecs-core@0.1.0.1 · 19 lines · 0 definitions
1import Base
2# Built-in transparent payloads need no caller-authored display adapter.
3def u32(value:U32) -> U32 & String:
4 +value=value
5 (value,U32.show(value))
6def bool(value:Bool) -> Bool & String:
7 +value=value
8 (value,Bool.show(value))
9def leaf(result:U32 & String) -> Array<U32> & String:
10 match result:
11 case (value,text):(ALeaf{value},"leaf:" ++ text)
12def node(left:Array<U32> & String,right:Array<U32> & String) -> Array<U32> & String:
13 (left,a)=left
14 (right,b)=right
15 (ANode{left,right},"node(" ++ a ++ "," ++ b ++ ")")
16def array(value:Array<U32>) -> Array<U32> & String:
17 match value:
18 case ALeaf{value}:leaf(u32(value))
19 case ANode{left,right}:node(array(left),array(right))