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))