Re: Functional random data streams Marc Nieper-Wißkirchen 11 May 2020 19:48 UTC

Am Mo., 11. Mai 2020 um 21:30 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
>
> Yes, I agree, modulo a few points.
>
> I already have a pre-SRFI 158bis at <https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/MoreGenerators.md>.  I have just added generator->stream and stream->generator to this.

Excellent!

> I do not agree that one should go into SRFI 41bis and another into SRFi 158bis, for two reasons: (a) we don't put all foo->list procedures into SRFI 1bis, and (b) doing so would create a circular dependency, not in this case but in many cases.  For example, stream->lseq would require the SRFI 127bis to depend on SRFI 41, and lseq->stream would require SRFI 41bistttttttttttttttttt to depend on SRFI 127.  It is better to have datatypes interoperate using bog-standard object types like lists, vectors, and procedures.

That makes a lot of sense!

The more dependencies a library has, the more costly it will be to
include it into a program. Thanks to things like `eval`, a Scheme
linker is often not able to throw out seemingly unused parts of a
library.