> In other words - locations of posittional parameters aren't subject of
> hyegene; we don't
> import a procedure with its argument swapped, for example. Keyword
> arguments are just
> another way of specifying parameters, it's less about names.
This is a good analogy, unless I've missed something. If the numbers of
positional arguments had to be written explicitly:
(foo 1 "first positional value"
2 "second positional value"
3 "third positional value"
abc: "value of keyword arg abc"
def: "value of keyword arg def")
Then it wouldn't matter that 1, 2 and 3 are not hygienic either. Like
the keywords, they are just markers. Isn't hygiene only a concern when
the identifier is used as a variable instead of a marker? (In other
words: If he identifier resolves to something else, it can resolve to
the wrong thing if we don't have hygiene. Since markers don't resolve to
anything else, there is no possibility of confusion.)