This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

new --r5rs, --r6rs, --r7rs flags and more


I've added some options to improve compatibility with the
Scheme R5RS, R6RS, and (draft) R7RS standards.  The intent
is that the flags will disable Kawa extensions that are
incompatible with those standards.  (The flag does not aim to
disable all extensions, only incompatible extensions.)

This is definitely a work-in-progress, but at least now we
have a mechanism to select Scheme dialects.  So far all they do is:
(1) Disable the "colon operator", as well as keyword literals.
(2) If --r5rs is selected, enable case-folding of symbols.

(Another change I think would make sense is to change the default from
--no-full-tails to --full-tailcalls if -r5rs, --r6rs, or --r7rs is selected.
However, that's a more involved (though desirable) change.)

In a somewhat related change, the special tokens #!fold-case and
#!no-fold-case (from R6RS and R7RS) act like comments except they
enable or disable case-folding of symbols (in the remainder of the
containing input reader).  This used to be controllable with the
special variable symbol-read-case; it still is, but now that variable
is only checked when a new LispReader is created, not on each symbol read.
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]