tag:blogger.com,1999:blog-68273632805925329572024-02-08T08:24:51.703+02:00cat **/* | grep яAkshaalhttp://www.blogger.com/profile/05677582369584740657noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-6827363280592532957.post-82269892808557183932007-05-18T22:34:00.001+03:002009-02-22T16:07:28.208+02:00КомбинацииКазалось бы просто, но это заняло у меня два часа, чтобы написать такую функцию. Но теперь я знаю истинную природу вещей!<br /><pre>combr :: [[a]] -> [[a]]<br />combr [l] = map (\x -> [x]) l<br />combr (l : tl) = concat $ map (\ll -> map (:ll) l) $ combr tl<br /><br />print $ combr [[1,2], [3,4], [5,6,7]]<br /><br />[[1,3,5],[2,3,5],[1,4,5],[2,4,5],[1,3,6],[2,3,6],[1,4,6],<br /> [2,4,6],[1,3,7],[2,3,7],[1,4,7],[2,4,7]]</pre><ad2></ad2>Akshaalhttp://www.blogger.com/profile/05677582369584740657noreply@blogger.com0tag:blogger.com,1999:blog-6827363280592532957.post-88425479538791166802005-11-16T12:32:00.001+02:002009-02-22T16:48:47.537+02:00Patch для cabalНаконец-то мой патч, написанный и отправленный разработчику <a href="http://haskell.org/cabal/">Cabal</a>, два месяца назад, включен в darcs версию. Как приятно иногда вносить свой вклад в Open Source :). Пользоваться mplayer'ом, alsaplayer'ом, vim'ом, и осозновать, что и там есть твой код, пуская не всегда внушительный...<ad2></ad2>Akshaalhttp://www.blogger.com/profile/05677582369584740657noreply@blogger.com0