On Sun, Jan 06, 2008 at 12:55:28AM +0100, Juerd Waalboer wrote: : Personally I'm hoping for some extra abstraction in module filenames, to : allow UTF-8 module names with ASCII filenames.
Already specced. From S02: In the abstract, Perl is written in Unicode, and has consistent Unicode semantics regardless of the underlying text representations. And from S11: The internal API for package names is always case-sensitive, even if the library system is hosted on a system that is not case-sensitive. This implies either some sort of name mangling capability or storage of intermediate products into a database of some sort. In any event, the actual storage location must be encapsulated in the library system such that it is hidden from all language level naming constructs. (Provision must be made for interrogating the library system for the actual location of a module, of course, but this falls into the category of introspection.) Note also that distributions need to be distributed in a way that they can be installed on case-insensitive systems without loss of information. That's fine, but the language-level abstraction must not leak details of this mechanism without the user asking for the details to be leaked. It should probably mention Unicode there as well, but the principle is already expressed in terms of case-sensitivity. Larry