Comments Wolfgang Corcoran-Mathe (01 Dec 2020 17:52 UTC)
|
||
Re: Comments
Vladimir Nikishkin
(02 Dec 2020 04:55 UTC)
|
||
Re: Comments
Wolfgang Corcoran-Mathe
(04 Dec 2020 03:38 UTC)
|
||
(missing)
|
||
(missing)
|
||
Re: Comments
Vladimir Nikishkin
(04 Dec 2020 04:22 UTC)
|
||
Re: Comments
Wolfgang Corcoran-Mathe
(06 Dec 2020 18:31 UTC)
|
Comments Wolfgang Corcoran-Mathe 01 Dec 2020 17:51 UTC
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