RosettaCodeData/Task/Permutations/Tailspin/permutations-8.tailspin
2024-10-16 18:07:41 -07:00

23 lines
559 B
Text

perms templates
findPerms source
@ set [1..$@perms::length];
1 -> # !
when <|..0> do VOID
when <|$@perms::length..> do
$@perms !
$ - 1 -> # !
when <|?($@($) matches <|$@perms::length~..>)> do
@perms([$@perms::last, $..~$@perms::last]) set $@perms($..)...;
@($) set $;
$ - 1 -> #!
otherwise
@perms([$@($), $]) set $@perms([$, $@($)])...;
@($) set $@($) + 1;
$ + 1 -> # !
end findPerms
@ set [1..$];
$findPerms !
end perms
alpha is ['ABCD'...];
[4 -> perms -> '$alpha($)...;' ] !