If I have a F<A, B>
, how can I convert an existing Ord<A>
into an Ord<B>
?
For example:
public class Foo {
public String name;
}
F<Foo, String> f = new F<Foo, String>() {
public String f(Foo foo) {
return foo.name;
}
};
Ord<String> stringOrd = Ord.stringOrd;
Ord<Foo> fooOrd = ???
The answer was in the API for the taking. comap
:
Ord<Foo> fooOrd = Ord.stringOrd.comap(new F<Foo, String>() {
public String f(Foo foo) {
return foo.name;
}
});