14 lines
391 B
Haskell
14 lines
391 B
Haskell
import qualified Data.Text.IO as T
|
|
import qualified Data.Text as T
|
|
|
|
import Data.List (group, sort, sortBy)
|
|
import Data.Ord (comparing)
|
|
|
|
frequentWords :: T.Text -> [(Int, T.Text)]
|
|
frequentWords =
|
|
sortBy (flip $ comparing fst) .
|
|
fmap ((,) . length <*> head) . group . sort . T.words . T.toLower
|
|
|
|
main :: IO ()
|
|
main = T.readFile "miserables.txt" >>= (mapM_ print . take 10 . frequentWords)
|