[Feature request] Raw #symbol
s would not go through EQUS
expansion
#1605
Labels
Milestone
#symbol
s would not go through EQUS
expansion
#1605
It's too early to even consider deprecating or removing
EQUS
expansion (#905) -- we don't yet have user-defined functions or other replacements forEQUS
use cases. However, they can still be inconvenient -- you have to do"{foo}"
to get the value of your string symbolfoo
.ASMotor has a shorter way of doing that,
|foo|
. However, I wouldn't want to add new syntax, whether as delimiters, a prefix, or a suffix, since we may eventually remove the feature anyway, and since it's not significantly simpler than typing"{
}"
.However, we already support the
#
prefix for raw symbols. That was introduced to allow symbols that share a name with keywords, which is a very niche application (most of the time you can just use non-clashing names).I'd like to make raw symbols not undergo
EQUS
expansion. Note that the syntax can be used on any symbol, not just ones that clash with keywords. So you could dodo #foo
instead ofdb "{foo}"
, which saves three characters and is IMO a worthwhile savings to read and to write.In theory this would break someone's code if they were currently doing something like
def #purge equs "rst PurgeMyCache"
and then#purge
as an instruction macro. But I think it's clear that nobody is doing such a thing. :PThe text was updated successfully, but these errors were encountered: