# This program tests rt/suspend.s procedure main() local line, alpha, n alpha := "abcd" n := 3 write(meander(alpha,n)) end procedure meander(alpha,n) local result, t, i, c, k i := k := *alpha t := n - 1 result := repl(alpha[1],t) while c := alpha[i] do { if find(result[-t:0] || c,result) then i -:= 1 else {result ||:= c; i := k} } return result end