preliminary comments Peter McGoron 03 May 2026 19:48 UTC

1. In "random port states":

    > SRFI 27 allows random-source states to be manipulated as opaque
objects, which does most of the job — you can save the sate of a SRFI 27
source and restore it later, **although the SRFI doesn’t guarantee that
states support an equivalence relation or have datum representations**.

    SRFI 27 requires that states have "external representations," so the
bolded sentence is incorrect.

    Also "sate" -> "state".

2. "An error is signaled" the SRFI should have a predicate for these errors.

3. "random-port-state" This should specify if it shares state or is
newly allocated.

4. SRFI 27 also exposes procedures to generate integers and inexact
reals. Generating integers from bytes is straightforward, but inexact
reals are more difficult and implementation specific.

    If you don't want to include an inexact real generating interface,
then I think pointing the reader towards

    1. Taylor Campbell's [0,1] algorithm:
https://mumble.net/~campbell/2014/04/28/uniform-random-float
    2. Frédéric Goualard's work on drawing floating point numbers in
arbitrary intervals: https://hal.archives-ouvertes.fr/hal-03282794v2

will be helpful.

5. If I pass "initializer" to a crypto port, will it just get ignored?

-- Peter McGoron