[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Prefix, not postfix (poll)
Marc Feeley wrote:
My feeling is that the colon character does not belong in symbols anyway
(either in the middle or at the end). It should be reserved as an infix
operator to denote a qualified reference to a module (i.e. foo:bar
should mean the thing called bar in the module foo). Many programming
languages use such a notation, and in fact many Scheme programs use this
notation for their own 90%-solution modules.
Kawa uses colon more generally as a "component-extraction" operator.
See http://www.gnu.org/software/kawa/PathExpressions.html
Basically the reader translates
expression:name
to:
($lookup$ expression 'name)
and then the $lookup$ operation does the appropriate thing depending on
the type of expression. This includes Java field and method lookup,
and namespace/package lookup. There are various compile-type
optimizations, plus some kludges for quoting, and for backwards
compatibility with code that uses colons in identifiers.
It's a more general and elegant solution (in my not-so-humble
opinion, of course) than the "JavaDot" notation used in some other
Java-based Scheme implementations.
--
--Per Bothner
per@bothner.com http://per.bothner.com/