RosettaCodeData/Task/Nested-templated-data/Bracmat/nested-templated-data.bracmat
2023-07-01 13:44:08 -04:00

25 lines
525 B
Text

( get$("[
[[1, 2],
[3, 4, 1],
5]]",MEM,JSN)
: ?template
& (0.payload#0)
(1.payload#1)
(2.payload#2)
(3.payload#3)
(4.payload#4)
(5.payload#5)
(6.payload#6)
: ?payloads
& ( instantiate
= tmplt plds pld a b
. !arg:(?tmplt.?plds)
& ( !tmplt:#
& !plds:? (!tmplt.?pld) ?
& !pld
| !tmplt:%?a_%?b
& (instantiate$(!a.!plds))_(instantiate$(!b.!plds))
)
)
& out$(jsn$(instantiate$(!template.!payloads)))
);