Dragaera

Evolving language

Mark A Mandel mam at theworld.com
Wed Aug 21 18:49:30 PDT 2002

	[Jot]
#>#>very particular sort of meaning.  But programming languages are
#>#>very, very strictly defined.  Unlike natural language, programming
#>#>languages very rarely possess symbols that have simultaneous
#>#>meanings depending on the context.  How does a compiler handle
#>#>ambiguity?  It doesn't.  We define the rules so there is no
#>#
#>#Counterexample:
#>#
#>#sendmail.cf -> $:
#>#(as well as any number of other $ variables)

	[Mark M]
#>Is that a counterexample? Variables have, well, variable meanings, but
#>in any context -- at runtime -- only one of them will be in effect.
#
#>I'm putting this as a question rather than an assertion because I don't
#>know the language of this construction. But am I right here?

	[Jot, round 2]
#The example I'm thinking of (which doesn't make sense in context,
#but was valid when I was playing with this was):
#
#$:		$: $:
#
#In which all three $:'s meant different things.

Oh, sure. Contextual distinction. In Perl, the '#' character begins a
comment, but '$#foo', iirc, is an assignable variable meaning the
highest subscript value in the array @foo.

-- Mark A. Mandel