Thanks to Vladimir for putting this SRFI together. Combing through
all of SICP's forms for the primitive, unspecified ones must have
been a lot of work, and this SRFI seems to have determined the
essentials. I have a few short comments.
(1) The comments in the examples for `runtime' and `random' suggest
that these procedures print values, which doesn't seem to be intended.
The `runtime' example also shows the procedure returning a
floating-point value, whereas it is specified to return an integer.
(2) Does `runtime' need to return the "system uptime"? If it
provides a different integer seed on successive calls, isn't that
enough for this SRFI's purposes?
(3) In the example for parallel-execute, read "May assign to x any
of the following" for "May assign x to any of the following".
(4) Is there a rationale for recommending that stream-null? and
the-empty-stream be defined as null? and (), respectively?
(5) Since the stream implementation is contrasted with that of
SRFI 41, it might be worth mentioning that 41's (even) stream-cons
will *not* work as an implementation of cons-stream.
(6) (very minor) The formatting of the streams section is cramped
and probably could be improved with some paragraph tags.
(7) Whether this test passes is non-deterministic based on the
specification of `runtime':
(check (> (- (runtime) (runtime)) 0) => #t)
It failed during my CHICKEN test run, which is unsurprising, given
that the sample implementation uses current-second. The comparison
here is made even more questionable if `runtime' returns an inexact
integer (as does the sample implementation).
(8) The sample implementation needs to import (scheme time) for
current-second.
(9) The (scheme small) subset imported by the sample implementation
seems to chibi-scheme specific. Perhaps it should be replaced with
(scheme base) for portability.
With the exception of the non-deterministic `runtime' test mentioned
above, all the included tests pass on CHICKEN+r7rs.
Best regards,
--
Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>
"It from bit." --John Wheeler