Email list hosting service & mailing list manager

Proposed terminology, perhaps useful Daphne Preston-Kendal (16 Oct 2021 09:44 UTC)
Re: Proposed terminology, perhaps useful Marc Nieper-Wißkirchen (16 Oct 2021 12:56 UTC)
Re: Proposed terminology, perhaps useful Daphne Preston-Kendal (16 Oct 2021 13:17 UTC)
Re: Proposed terminology, perhaps useful Marc Nieper-Wißkirchen (16 Oct 2021 14:42 UTC)
Re: Proposed terminology, perhaps useful John Cowan (21 Oct 2021 22:29 UTC)

Re: Proposed terminology, perhaps useful Daphne Preston-Kendal 16 Oct 2021 13:17 UTC

On 16 Oct 2021, at 14:55, Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:

> To provide some useful input, it will certainly be helpful if you can explain *why* you want to give such a class of macros a particular name.

Mostly because I found it awkward in the documentation of syntax-keywords to refer to things like ‘procedure-like syntax’, or ‘“procedures”’ in scare quotes. And it occurred to me that there may be other legitimate uses of macros that could be procedures, which would end up with similarly awkward terminology.

Further, as mentioned, it may be helpful in a standard which includes such macros to say something like ‘(foo x y z) — syntax — This is just a periphrastic macro around the bar procedure.’ which would make clear that there is no performance benefit to using foo instead of bar.

> Moreover, it seems important on which semantic level you want this terminology to apply.

I don’t understand what you’re asking here. Could you clarify?

By the way, it occurred to me that ‘if’ could be considered a periphrastic macro if it is implemented in terms of a procedural version, since all it needs to be syntax for is to prevent the evaluation of the ‘wrong’ branch of its arguments, which lambda could just as well do. So (if test conseq alt) => ((procedural-if test (lambda () conseq) (lambda () alt))). Note the extra pair of parentheses, assuming that procedural-if returns the correct thunk rather than calling it itself.

(This is just a hypothetical, since there is no such procedural-if in Scheme.)

> Thanks,
>
> Marc

Daphne