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

Re: Question with binding



Here's my $0.02, from R(3.5)RS (apologies if it's already been posted by
someone else):

2.1	Identifiers

	[.....]

	Identifiers have several uses within Scheme programs:

	+ Certain identifiers are reserved for use as syntactic keywords
	  (see below)

====>	+ Any identifier that is not a syntactic keyword may be used as a
====>	  variable

	[.....]

	The following identifiers are syntactic keywords, and should not be
	used as variables:

		=>	do	or
		and	else	quasiquote
		[.....]

+ is NOT defined as a syntactic keyword, and hence can (IMHO) be bound to
just about anything, even (gasp!) an integer.  Whether a particular
implementation chooses to allow such a re-binding, though, is really the
decision of the implementor.

Btw, if any of you think this could cause major headaches, try reading
"Oaklisp: an Object-Oriented Scheme with First Class Types" [Lang &
Pearlmutter, OOPSLA '86 Proceedings].  As the title implies, even data types
can be re-defined!!

----------------------------------------------------------------------------
Adrian Ho a.k.a. The Cybermat Rider	  University of California, Berkeley
laba-4he@web.berkeley.edu		(WEB Evans, Home of The CS Freakies)
Disclaimer:  Nobody takes me seriously, so is it really necessary?