[CM] vertical tab in scheme

Bill Schottstaedt bil@ccrma.Stanford.EDU
Sat, 20 Jul 2002 05:01:34 -0700


In the r5rs.html (the Scheme Spec) "Language Changes" section,
I find this:

> `|' is reserved for possible future extensions.

I have been using `|' to distinguish xm|xg|gl-module scheme names from
the corresponding C entity.  To change it is just a macro in the C
code, but a major (incompatible) find/replace in scheme.  What to do?
We could simply delete the "|", using the same name in both languages,
but that means that there will be predefined functions with names such
as "x", "y", "state", and so on (these are struct field accessors).

The section on identifier names says they have to start with
either an alphabetic (a..z) or one of !$%&*/:<=>?^_~
(odd that "+" isn't included.)

I don't like any of these, so here's what I'm leaning toward: remove
the "|" from all the non-struct-field names, and prefix the fields
with ".".  I have an enormous sed script that can be run over *.scm to
make this change.  This would still leave X_isms like "QLength",
"None", "KeyPress", "Above" etc, but Guile is case-sensitive, so
perhaps these are acceptable.

Any better ideas?

Once this is resolved, I think I'll bump the version to 6.0.