| This library can be used to generate values (for example, new names)
without the need to thread state. This means that functions that
need to generate new values only need a supply object as an argument,
and they do not need to return a new supply object as a result.
This decreases the number of data-dependencies in a program, which
makes it easier to exploit parallelism.
The technique for generating new values is based on the paper
''On Generating Unique Names''
by Lennart Augustsson, Mikael Rittri, and Dan Synek.
|