Textonyms: Difference between revisions

Content added Content deleted
m (→‎{{header|Haskell}}: Tidied (version using traverse with Data.Map))
Line 919: Line 919:
(head . show <$> [2 ..])
(head . show <$> [2 ..])
(words "abc def ghi jkl mno pqrs tuv wxyz")
(words "abc def ghi jkl mno pqrs tuv wxyz")


--------------------------- TEST ---------------------------
--------------------------- TEST ---------------------------
Line 929: Line 928:
codeGroups = groupBy (on (==) snd) . sortOn snd $ encodings
codeGroups = groupBy (on (==) snd) . sortOn snd $ encodings
textonyms = filter ((1 <) . length) codeGroups
textonyms = filter ((1 <) . length) codeGroups
ambiguous = take 5 $ sortBy (flip (comparing length)) textonyms
[ambiguous, longer] =
longer = take 5 $ sortBy (flip (comparing (length . snd . head))) textonyms
[take 5 . flip sortBy textonyms] <*>
((flip . comparing) <$> [length, length . snd . head])
[wa, wl] = maximum . map (length . snd . head) <$> [ambiguous, longer]
[wa, wl] = maximum . map (length . snd . head) <$> [ambiguous, longer]
mapM_ putStrLn $
mapM_ putStrLn $
Line 945: Line 945:
fmap (showTextonym wa) ambiguous ++
fmap (showTextonym wa) ambiguous ++
["", "5 longest:"] ++ fmap (showTextonym wl) longer
["", "5 longest:"] ++ fmap (showTextonym wl) longer


------------------------- DISPLAY --------------------------
------------------------- DISPLAY --------------------------