У меня определена функция
maybeToList :: (a -> Maybe a) -> a -> [a]
maybeToList f x = x : maybe [] (maybeToList f) (f x)
Эта функция кажется настолько очевидной, что я не могу поверить, что она не является стандартной. Определен ли он в каком-то модуле (я уже проверил Data.Maybe)?
maybeToList
не лучшее имя, учитывая, что вData.Maybe
уже есть функция с таким именем, а именноmaybeToList = maybe [] (:[])
.unfoldStream
или что-то еще? - person luqui   schedule 06.12.2012