I noticed that the *By functions (deleteBy, deleteFirstsBy, elemBy,
etc.) in the current on-line HTML library documentation have type signatures
which restrict the types beyond that required by the implementation.
For instance:

  elemBy, notElemBy       :: (a -> a -> Bool) -> a -> [a] -> Bool
  elemBy eq _ []          =  False
  elemBy eq x (y:ys)      =  x `eq` y || elemBy eq x ys

My recollection is that when I brought this up last on this mailing
list, public input ran in favor of not restricting the type signature.
(For instance
  elemBy, notElemBy       :: (a -> b -> Bool) -> a -> [b] -> Bool
)

I bring this up because I've written code using the more general type
signature.

Has this issue been decided one way or the other?

                mike gunter


P.S. I think there are minor errors in one of the definitions of
elemBy and the definition of deleteBy.



Reply via email to