isAnagram :: String -> String -> Bool
isAnagram xs ys
    | length xs    /= length ys    = False
    | sumAscii xs' /= sumAscii ys' = False
    | xs'          == ys'          = False
    | sort xs'     /= sort ys'     = False
    | otherwise                    = True
        where
            xs' = map toUpper xs
            ys' = map toUpper ys
            sumAscii = sum . map ord
isAnagram :: String -> String -> Bool
isAnagram xs ys
    | length xs    /= length ys    = False
    | sumAscii xs' /= sumAscii ys' = False
    | xs'          == ys'          = False
    | sort xs'     /= sort ys'     = False
    | otherwise                    = True
        where
            xs' = map toUpper xs
            ys' = map toUpper ys
            sumAscii = sum . map ord
isAnagram xs ys
    | length xs    /= length ys    = False
    | sumAscii xs' /= sumAscii ys' = False
    | xs'          == ys'          = False
    | sort xs'     /= sort ys'     = False
    | otherwise                    = True
        where
            xs' = map toUpper xs
            ys' = map toUpper ys
            sumAscii = sum . map ord