Per Bothner wrote:
> One reason for using a single name is that I'm interested in
> experimenting with alternative syntaxes, including use of infix
> operators. [...]
I fail to see why a new operator, GENERALIZED-MUTATE (say), could not
meet your needs just as well. You can already define
GENERALIZED-MUTATE as a macro over SET! in your translator's preamble
for the target code. If you decide it's a good thing to use the same
syntax for both identifier and structure mutation, you can then extend
GENERALIZED-MUTATE's macro. Why does the chosen name have to be SET!
and nothing else?
Note that I am *not* being critical of either an infix syntax, or of a
conflated mutator, or of anything else. I just want to know why that
one name, which already has a fixed syntax and semantics in standard
Scheme. After all, if your source language has := rather than SET!
(which would likely be a poor choice of name in a traditional infix
syntax, since `!' may well mean something else), then your translator
can pick any old name it wishes in the target language.
'shriram