HN user

jargonjustin

6 karma
Posts0
Comments3
View on HN
No posts found.
Streams in Java 8 12 years ago

Java's Comparator type is more general (you don't necessarily need to project the type for comparison) and an existing abstraction. It's not hard to introduce a combinator to transform the representation as a library, as in:

    countries.sorted(by(x -> x.population)).limit(3).map(x -> x.name)
where `by` looks something like:
    <S, T> Comparator<T> by(Projection<S, T> projection);

    interface Projection<S, T> {
       Comparable<S> project(T value);
    }

It's solving a rather different problem than cron, but it's a problem that many people first attempt to use cron to solve. It's a replacement not in the sense of being a better cron, but as solving a problem for which cron is often used inappropriately.