Markus Triska placed here in public domain some code worth to study:
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Prolog stream/lazy list demonstration
Written 2005 by Markus Triska (triska@gmx.at)
Public domain code.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
The title of the document (prost, for Prolog streams) maybe make the document a bit difficult to find, but make sense.
Quoting from the above:
Here, "stream" is used in the sense of "sequence", "delayed list",
"lazy list" etc. as in Structure and Interpretation of Computer
Programs, not in the sense of a Prolog input/output stream.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…