25 lines
649 B
Plaintext
25 lines
649 B
Plaintext
[ false swap
|
|
dup size 1 > if
|
|
[ [] temp put
|
|
dup size factors
|
|
-1 split drop
|
|
witheach
|
|
[ 2dup split drop
|
|
dip [ over size swap / ]
|
|
dup temp replace
|
|
swap of over = if
|
|
[ drop not
|
|
temp share
|
|
conclude ] ]
|
|
temp release ] swap ] is rep$ ( $ --> $ b )
|
|
|
|
[ dup rep$ iff
|
|
[ say 'The shortest rep-string in "'
|
|
swap echo$
|
|
say '" is "' echo$
|
|
say '".' ]
|
|
else
|
|
[ say 'There is no rep-string for "'
|
|
nip echo$ say '".' ]
|
|
cr ] is task ( $ --> )
|