RosettaCodeData/Task/Rep-string/Miranda/rep-string.miranda

16 lines
482 B
Plaintext

main :: [sys_message]
main = [Stdout (lay (map test tests))]
test :: [char]->[char]
test s = s ++ ": " ++ show (repstrings s)
tests :: [[char]]
tests = ["1001110011", "1110111011", "0010010010", "1010101010",
"1111111111", "0100101101", "0100100", "101", "11", "00",
"1"]
repstrings :: [*]->[[*]]
repstrings s = filter matching bases
where bases = [take n s | n<-[1..#s div 2]]
matching r = s = take (#s) (concat (repeat r))