Стиль написания. (original) (raw)

Стиль написания. [Nov. 8th, 2012|02:28 pm]Лямбда - функциональное программирование
Previous Entry Flag Next Entry[**Tags**|haskell, чайник]Реализовал довльно простой алгоритм поиска дубликатов в больших массивах тектов.В двух словах, - абзац считается уникальным если нет другого такого хеша, котрый вычисляется как хеш суммы двух длиннейших предложений абзаца.Теперь вопрос - как этот алгоритм лучше всего записвать - https://gist.github.com/4031622Меня чисто эстетически настораживает такая запись:buildHashes txt = map (crc32.encode.concat.(take 2).sortSent.splitSent) (splitPar txt)Как бы вы это записали?
link Reply
Comments:
buildHashes = map (crc32 . encode . concat . take 2 . sortSent . splitSent) . splitParmain = readFile "l.txt" >>= mapM_ print . textHashsplitPar st = filter (not . null) $ split st "\n"sortSent = sortBy (comparing sls) where sls a = (- length a, a)-- в последней `base` лучше where sls a = (Down $ length a, a)Посмотрите, подойдёт ли вам библиотека http://hackage.haskell.org/package/split , прогоните через HLint и опубликуйте на http://codereview.stackexchange.com/ с тегом [haskell]Edited at 2012-11-08 11:43 am (UTC) map (hash . concat . longestSent 2) (splitPar txt) where hash = crc32 . encode longestSent n = take n . sortSent . splitSent Так эстетичнее?