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 21 Sep 2026 18:55 UTC

On 21 Sep 2026, at 09:10, Andrew Tropin <xxxxxx@trop.in> wrote:

> Have a few more questions.
>
> (let ((metadata identity))
> (test "my test" ()
>   (metadata '((default . meta)))
>
>   (is #t)))
>
> will silently "remove" metadata from test. Is it expected behavior for
> scheme macro?

Yes.

> Do we need to warn user of the macro somehow if they do
> it?

No.

> Could you share some examples of similar macros in the wild?  They can
> help me to better understand how idiomatic scheme macros look like.
> Previously I thought that `(guix records)` were idiomatic, but it seems
> they are not.

The standard Scheme ‘cond’ and ‘case’ syntaxes work like this (the ‘else’ and ‘=>’ auxiliary syntax keywords), as do the auxiliary syntax keywords of R6RS define-record-type <https://r6rs.org/corrected/html/r6rs-lib/r6rs-lib-Z-H-7.html#node_sec_6.2>.

Daphne