
21 Oct
2006
21 Oct
'06
11:19 a.m.
Hello, I have this function here:
endsWith :: Eq a => [a] -> [a] -> Bool endsWith suffix list | lengthDifference < 0 = False | otherwise = (drop lengthDifference list) == suffix where lengthDifference = (length list) - (length suffix)
Would this be the preferred function argument order? Or is the reverse (ie. endsWith list suffix) better? I like being able to say "abc" `endsWith` "c", but I also like to be able to say map (endsWith 't') ["cat", dog"] but I can't have both. By the way, is there a better way to write this function to be clearer and more efficient? Thanks -John