(no subject)
Aug. 4th, 2011 08:56 amВдохновившись rss-лентой, написал вчера реализацию RLE на Haskell (одна строчка), напрочь забыв про span (т.е. через takeWhile и dropWhile). Надо, надо перечитать документацию по стандартным библиотекам. Да и IO потренировать не мешало бы, а то чувствую себя собакой - все понимаю, а сказать ничего не могу могу писать только код без side-эффектов.
(no subject)
Jul. 6th, 2010 11:54 ammf criteria operator list = filter criteria (map operator list)
превращается... превращается в
mf = (. map) . (.) . filter
// me добрался почитать про tacit programming в вики
Update: прочувствовал, что composition operator - он тоже из той же (страшной) сказки:
Prelude> :t (.)
(.) :: (b -> c) -> (a -> b) -> a -> c
превращается... превращается в
mf = (. map) . (.) . filter
// me добрался почитать про tacit programming в вики
Update: прочувствовал, что composition operator - он тоже из той же (страшной) сказки:
Prelude> :t (.)
(.) :: (b -> c) -> (a -> b) -> a -> c
(no subject)
May. 28th, 2010 09:18 pm
и кстати да, читая свежий Haskell Communities and Activities Report, я не могу не согласиться с авторами комикса :)
поиск функций по типу
May. 20th, 2010 10:00 pmПочитав RWH, начинаешь думать немного по-другому - забыл совершенно название функции, берущей список и вставляющей между всеми его элементами заданный элемент. Пришлось пойти логическим путем - у функции два аргумента: первый типа a, второй типа [a]. Возвращает тоже [a].
Т.е. тип функции: a -> [a] -> [a]
Первый же матч в Hoogle: функция intersperse.
Удобно...
p.s. Оно ещё и обратный порядок аргументов понимает.
Update: чуть скорректировал ссылки на матч и поисковик :)
Т.е. тип функции: a -> [a] -> [a]
Первый же матч в Hoogle: функция intersperse.
Удобно...
p.s. Оно ещё и обратный порядок аргументов понимает.
Update: чуть скорректировал ссылки на матч и поисковик :)