Some initial comments Daphne Preston-Kendal (04 Apr 2026 10:01 UTC)
Re: Some initial comments Andrew Tropin (07 Apr 2026 11:29 UTC)
Re: Some initial comments Daphne Preston-Kendal (29 Jul 2026 20:17 UTC)
Re: Some initial comments Vincent Manis (he/him) (29 Jul 2026 21:03 UTC)
Re: Some initial comments Wolfgang Corcoran-Mathe (01 Aug 2026 16:16 UTC)
Re: Some initial comments Andrew Tropin (13 Aug 2026 06:12 UTC)
Re: Some initial comments Andrew Tropin (13 Aug 2026 06:03 UTC)
Re: Some initial comments Daphne Preston-Kendal (19 Aug 2026 06:49 UTC)
Re: Some initial comments Andrew Tropin (02 Sep 2026 12:17 UTC)
Re: Some initial comments Daphne Preston-Kendal (07 Sep 2026 08:18 UTC)
Re: Some initial comments Andrew Tropin (09 Sep 2026 11:04 UTC)
Re: Some initial comments Andrew Tropin (20 Sep 2026 08:44 UTC)
Re: Some initial comments Daphne Preston-Kendal (20 Sep 2026 19:30 UTC)
Re: Some initial comments Andrew Tropin (21 Sep 2026 07:11 UTC)
Re: Some initial comments Daphne Preston-Kendal (21 Sep 2026 18:55 UTC)
Re: Some initial comments Andrew Tropin (28 Sep 2026 05:08 UTC)

Re: Some initial comments Daphne Preston-Kendal 20 Sep 2026 19:30 UTC

On 9 Sep 2026, at 13:04, Andrew Tropin <xxxxxx@trop.in> wrote:

> Could you draft a basic skeleton of the macro which recognizes metadata
> and non-metadata cases, please?

(define-syntax metadata (syntax-rules ())) ; this is your aux syntax keyword, export it

(define-syntax test
  (syntax-rules (metadata)
    ((_ descr (context) (metadata metadata-expr) body_0 body_1 ...)
     'case-with-metadata-and-context)
    ((_ descr () (metadata metadata-expr) body_0 body_1 ...)
     'case-with-metadata-only)
    ((_ descr (context) body_0 body_1 ...)
     'case-with-context-only)
    ((_ descr () body_0 body_1 ...)
     'case-with-neither)))

> Also, I would really appreciate if you could provide a sample,
> demonstrating a mentioned problem (and corresponding Scheme/environment
> info), so I can run it locally and ensure the final implementation won't
> suffer from it.

If you fill out the example I gave of how calling set-default-test-runner! in a library isn’t guaranteed to have any effect with some code to make it a useful test runner, then you should be able to observe on Chez Scheme that the set-default-test-runner! call doesn’t have any effect unless some identifier from the spiffing test runner library is actually invoked by the program (rather than depended on implicitly).

Likewise, a library (not a program, I don’t think) of tests defined in Chez Scheme will fail to compile with your approach to implementing matching ‘metadata’.

Daphne