Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Anagram (anagramsFor) where
- import Data.List (sort)
- import Data.Char (toLower)
- anagramsFor :: String -> [String] -> [String]
- anagramsFor word candidates = filter (isAnagram word) candidates
- isAnagram :: [Char] -> [Char] -> Bool
- isAnagram word candidate
- | isOwnAnagram = False
- | otherwise = normalize word == normalize candidate
- where normalize word' = sort $ lower word'
- lower word' = map toLower word'
- isOwnAnagram = lower word == lower candidate
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement