[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Prefix, not postfix (poll)

This page is part of the web mail archives of SRFI 88 from before July 7th, 2015. The new archives for SRFI 88 contain all messages, not just those from before July 7th, 2015.



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/