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)
|
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/