List functions - "Under" operations
Tomasz Zielonka
t.zielonka at students.mimuw.edu.pl
Fri Jan 16 11:03:21 EST 2004
On Fri, Jan 16, 2004 at 01:43:40AM -0800, Brandon Michael Moore wrote:
> Hello, and welcome me to the list
Welcome to the list! :)
> I think it would often be useful if the list functions with class
> constraints had versions paramaterized on a function mapping your element
> type into an instance of the classes, in addition to the "By" forms that
> take an implementation for the required class method.
>
> Almost all of the times I use the "By" functions follow that pattern:
> e.g.
> sortFoos :: [Foo] -> [Foo]
> sortFoos = sortBy (\x y -> compare (f x) (f y))
No need for so many new functions. Just write a function:
composeFGxGy :: (b -> b -> c) -> (a -> b) -> a -> a -> c
composeFGxGy f g x y = f (g x) (g y)
Then you can:
sortFoos = sortBy (composeFGxGy compare f)
> How does this sound?
And how does _this_ sound? ;)
Best regards,
Tom
--
.signature: Too many levels of symbolic links
More information about the Libraries
mailing list