New draft (#2) of SRFI 212: Aliases Arthur A. Gleckler (30 Jan 2021 22:23 UTC)
Re: New draft (#2) of SRFI 212: Aliases John Cowan (30 Jan 2021 22:47 UTC)
Re: New draft (#2) of SRFI 212: Aliases Lassi Kortela (30 Jan 2021 23:08 UTC)
Re: New draft (#2) of SRFI 212: Aliases Marc Nieper-Wißkirchen (31 Jan 2021 08:56 UTC)
Re: New draft (#2) of SRFI 212: Aliases Marc Nieper-Wißkirchen (31 Jan 2021 08:55 UTC)
Re: New draft (#2) of SRFI 212: Aliases Lassi Kortela (31 Jan 2021 09:10 UTC)
Re: New draft (#2) of SRFI 212: Aliases Marc Nieper-Wißkirchen (31 Jan 2021 09:22 UTC)
Re: New draft (#2) of SRFI 212: Aliases Per Bothner (31 Jan 2021 10:47 UTC)
Re: New draft (#2) of SRFI 212: Aliases Marc Nieper-Wißkirchen (31 Jan 2021 12:39 UTC)
Re: New draft (#2) of SRFI 212: Aliases Per Bothner (31 Jan 2021 17:04 UTC)
Re: New draft (#2) of SRFI 212: Aliases Marc Nieper-Wißkirchen (31 Jan 2021 17:35 UTC)

Re: New draft (#2) of SRFI 212: Aliases Per Bothner 31 Jan 2021 17:03 UTC

On 1/31/21 4:39 AM, Marc Nieper-Wißkirchen wrote:
> During the expansion process, identifiers have to be renamed due to hygiene. One theoretical model to understand this is that the expansion process maps identifiers to labels and that these labels are bound. In this model, the alias construct just causes an identifier to be mapped to an existing label.

"expansion process" and "renaming" and "theoretical model" are concepts relating
to language definition and reference manuals.  That should have minimal if any
influence on how you name user-level constructs. define-alias/alias is construct
that can be useful to a user who has no idea of the above-mentioned concepts,
so it should be named in a way that makes sense to such a user (as long as it
doesn't mess up their mental model).

A define or define-syntax creates an association between name and a location or
a transformer. An alias associates another name to an existing location or a transformer.

Renaming in the concept of macro expansion is tightly related to defining
aliases - and that is (sort-of) how hygiene is implemented in Kawa.

> If you have a model in mind that doesn't use this two-stage mapping of identifiers to their eventual meaning, please replace in my reasoning "binding" by a term that subsumes the meanings "location" and "transformer".

I would informally understand "binding" as the association
between a name and a location/transformer, not the location/transformer itself.

--
	--Per Bothner
xxxxxx@bothner.com   http://per.bothner.com/