Hello,

I realized today that the type for deleteBy in Data.List is too restrictive.
The code is:

deleteBy                :: (a -> a -> Bool) -> a -> [a] -> [a]
deleteBy _  _ []        = []
deleteBy eq x (y:ys)    = if x `eq` y then ys else y : deleteBy eq x ys

though the type deleteBy :: (b -> a -> Bool) -> b -> [a] -> [a] will do good
as well.

Is there a particular reason that the type has this restriction? Otherwise,
where can I post a suggestion to have it untightened?

Best regards,
Dan Rosén

references:
http://haskell.org/ghc/docs/latest/html/libraries/base-4.2.0.0/Data-List.html#v:deleteBy
http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.2.0.0/src/Data-List.html#deleteBy
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to