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]

Re: case-insensitivity and module paths



> I have problems with loading modules when case sensitivity is disabled.
> For example I have ~/Naos/librandom.so , ~/Naos is symlinked to
> ~/guile/apps/Naos, where ~/guile is in my GUILE_LOAD_PATH.
> With '(read-enable 'case-insensitive)' the following fails:
> (use-modules (apps Naos random))
>                    ^
> with an error message telling that there is no such module (apps naos random).
>                                                                  ^
> Is there a better workaround than renaming the directories and symlinks?

Part of the plan is to make the #{...}# symbol name syntax actually
preserve case, regardless of the setting of the case-sensitivity
flag.  So your users could write (use-modules (apps #{Naos}# random)).

However, I think you may want to consider renaming your module so that
people writing in standard R4RS can use your module nicely.

(I think that making symbols case-preserving but case-insensitive
isn't really possible, since R4RS requires (eq? 'foo 'Foo) to be #t,
and eq? is really supposed to detect when things are the same object.)