This is the mail archive of the guile@cygnus.com mailing list for the guile project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
forcer <forcer@mindless.com> writes:
> guile> (define FOO 1)
> guile> FOO
> 1
> guile> (read-enable 'case-insensitive)
> (keywords #f case-insensitive positions)
> guile> FOO
> ERROR: In expression foo:
> ERROR: Unbound variable: foo
> ABORT: (misc-error)
>
> This means that guile *won't* see any variables that were defined
> upper-case *bevore* setting it case-insensitive.
Not exactly. You just have to use the special syntax for using
upper case (or mixed case) symbols. I believe it's supposed to be
#{...}#, which should behave as:
guile> (define FOO 1)
guile> FOO
1
guile> (read-enable 'case-insensitive)
(keywords #f case-insensitive positions)
guile> #{FOO}#
1
> This also applies to all predeclared variables (SOL_SOCKET, etc.)
Yes, those should probably be changed to lower case so that they're
easily & obviously accessible in general. It'd be best if all
pre-defineds are in the same case & (read-enable 'case-insensitive)
automatically maps to that case - i.e. - make everything upper case &
make read-enable map symbols to upper case, or make everything lower
case & make read-enable map to lower case.
--
Harvey J. Stein
BFM Financial Research
hjstein@bfr.co.il