preliminary comments Peter McGoron (31 Aug 2026 13:12 UTC)
Re: preliminary comments HernĂ¡n Ibarra Mejia (01 Sep 2026 09:37 UTC)

preliminary comments Peter McGoron 31 Aug 2026 13:09 UTC

1. The MathML should be replaced with HTML <var>s, which are easier to
render on older/simpler browsers.

2. > To constitute a monad, these procedures are required to satisfy
some requirements, known as the monad laws, see any category theory
textbook.

    I think it would be very useful to spell out the monad laws in
Scheme notation.

3. Is `define/m` a definition form (i.e. can it be intermixed with some
other definition forms, like define-syntax?) If not, then it should be
renamed to something like `let/m`.

4. Is it possible to add a way to bind multiple values? For example,
having `define-values/m` which is when bind passes N values to the
procedure returned by the @ procedure, instead of 1.

5. > the variable _ should not appear in the body of the lambda.

    This is a little confusing, as it seems to allow but discourage _
appearing. I think "the variable _ is fresh" is simpler.

6. > The do/m syntax can be interpreted as follows

    Is this can as in "are allowed to?" How normative is this definition?

7. > An SRFI-280-conformant implementation must report an error if a use
of do/m does not syntactically conform to the grammar above

    I think this should be relaxed. An implementation might want to add
their own syntactic forms to the grammar. It would be possible with
identifier properties to allow user extension, too.

8. In the sample implementation, `define/m` and `return/m` should be
exported from the library.

-- Peter McGoron