Crazy_Owl 15.05.2011 11:19 33403371041305455156778164

Посоветуйте, как нагенерить бесконечный список строк из алфавита, например ["a","b",..."Z", "aa", "ab", ... "ZZ", "aaa", "aab" ...] Наверняка это делается просто.

1. rtsome 15.05.2011 12:16

concat $ iterate (concat .map ((flip map) ['a'..'z'] .(flip (:)))) $ map (:[]) ['a'..'z']

2. rtsomertsome /1 15.05.2011 12:19

но это фигня

3. rtsomertsome /2 15.05.2011 12:35

import Control.Applicative
let q=['a'..'z']
concat.iterate ((:) <$> q <*>) $ map pure q

Do you really want to delete ?