A library for type-safe, tractable lazy evaluation and late binding in Java. Useful for defining syntax-directed translations with visitors that look nearly identical to the semantic rules of their syntax-directed definitions.
An exercise from the Dragon Book is in the tests.
Given a description of a grammar for binary floating-point literals, encode a syntax-directed translation that can evaluate strings in the language.
-
Actively developed, but almost no documentation at the moment. Seems limited to just Traversables.
-
java.util.concurrent.CompletableFuture
Functions limited to arity 1 or 2. Push (eager) instead of pull (lazy) evaluation. Unfriendly API.