procrastination is a modular, zero-dependency library for Java 11 that provides:
* lazily evaluated, memoizing, purely functional data structures
* ad hoc pattern matching
* an extensible, reusable alternative to Java 8's Stream
* stack-safe tail-recursive lambda expressions via trampolines and fixed points
If you have JDK11 and a recent version of Maven installed, you can easily play around with this in jshell by cloning the repository, and from the root directory, running mvn compile and jshell procrastination.jsh.
I would be very grateful for any feedback.