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

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to