Advertisement
Guest User

Untitled

a guest
Oct 13th, 2015
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.48 KB | None | 0 0
  1. module Anagram (anagramsFor) where
  2.  
  3. import Data.List (sort)
  4. import Data.Char (toLower)
  5.  
  6. anagramsFor :: String -> [String] -> [String]
  7. anagramsFor word candidates = filter (isAnagram word) candidates
  8.  
  9. isAnagram :: [Char] -> [Char] -> Bool
  10. isAnagram word candidate
  11. | isOwnAnagram = False
  12. | otherwise = normalize word == normalize candidate
  13. where normalize word' = sort $ lower word'
  14. lower word' = map toLower word'
  15. isOwnAnagram = lower word == lower candidate
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement