RosettaCodeData/Task/Tree-from-nesting-levels/Quackery/tree-from-nesting-levels.quackery
2023-07-01 13:44:08 -04:00

33 lines
708 B
Text

[ stack ] is prev ( --> s )
[ temp take
swap join
temp put ] is add$ ( x --> )
[ dup [] = if done
0 prev put
$ "' " temp put
witheach
[ dup prev take -
over prev put
dup 0 > iff
[ times
[ $ "[ " add$ ] ]
else
[ abs times
[ $ "] " add$ ] ]
number$ space join add$ ]
prev take times
[ $ "] " add$ ]
temp take quackery ] is nesttree ( [ --> [ )
' [ [ ]
[ 1 2 4 ]
[ 3 1 3 1 ]
[ 1 2 3 1 ]
[ 3 2 1 3 ]
[ 3 3 3 1 1 3 3 3 ] ]
witheach
[ dup echo say " --> "
nesttree echo cr cr ]