Generators The Way I Want Them Generated is a Common Lisp System I undertook to create purely out of curiosity. Specifically, I wanted to see how I might generate permutations of possibly very large vectors, one at a time. I had no practical ambition in mind. As such, GTWIWTG is not very fast - it is, however quite good at generating sequences of billions of members without killing your machine's memory. Now... whether or not you'll ever reach the billionth member of your huge sequence is another story. GTWIWTG is, again, a bit slow.
After sampling a few cleverer approaches to generators in the Common Lisp ecosystem, I decided to write my own, less clever, system. While the prior art in this domain is generally very well done, I found most of it difficult to debug. As a result, GTWIWTG became a well documented, straightforward, and perhaps even naive approach to lazy sequence generation.
I have also written a tutorial.
link ←