Initial comments on SRFI 269 Wolfgang Corcoran-Mathe (14 Jun 2026 01:43 UTC)
Re: Initial comments on SRFI 269 Andrew Tropin (19 Jun 2026 11:29 UTC)
Re: Initial comments on SRFI 269 Wolfgang Corcoran-Mathe (19 Jun 2026 18:16 UTC)
Re: Initial comments on SRFI 269 Wolfgang Corcoran-Mathe (19 Jun 2026 18:29 UTC)

Initial comments on SRFI 269 Wolfgang Corcoran-Mathe 14 Jun 2026 01:43 UTC

Hello Andrew & Ramin,

Thanks for your work on this SRFI.  I like the idea of separating test
description and execution very much.  It may be a battle to get
Schemers to use anything other than SRFI 64 (and the like), but I hope
SRFI 269 will succeed.

A few questions & comments:

1. Why is the parameter called 'test-runner*' and not 'test-runner'?

2. There is currently no assertion support for multiple values.  The
"general" form of 'is' is thus not general enough, and the "predicate"
form conflicts badly with multiple-value syntax ('let-values',
'call-with-values', etc.).  I'll have to study the protocol in greater
depth to come up with a suggestion of how to solve this, but it really
must be solved: multiple values are common in Scheme.  In several
places the SRFI also refers to "the value" returned by a user-provided
expression (which may return zero or more values).  In those places,
read "values".

3. Setting the multiple-value issue aside for the moment, I'd add that
'is' should not analyze the test expression.  One of my favorite of
Herman & Van Horn's macro-design principles[1] is "treat subterms as
atomic".  At the moment, the "general" and "predicate" forms of 'is'
overlap, with potentially surprising results.  (You can't tell, in
general, whether the first identifier of a Scheme expression denotes a
procedure or something else.)  If you want to capture the operator of a
procedure application, make it an additional macro argument.

In short, the form of assertions needs work.

That's what I have at the moment.  I'll keep studying the SRFI.

Thanks again,

Wolfgang

[1] https://www.cs.brandeis.edu/~dvanhorn/pubs/herman-vanhorn-scheme08.pdf

--
Wolfgang Corcoran-Mathe  <xxxxxx@sigwinch.xyz>