[ 1 swap dup 0 = iff drop done [ 2dup = iff [ 2drop 1 ] done 2dup > iff [ 2drop 0 ] done 2dup dip 1+ recurse unrot over - recurse + ] ] is partitions ( n --> n ) say "Partitions of 0 to 29" cr 30 times [ i^ partitions echo sp ]