In perl.modules, you wrote: >Hullo. I ask the module naming gods for advice.
BOW, SUPPLICANT! >Here is my goat. Ewww. We don't know *where* it's been. You did at least keep it away from Greg, didn't you? >I'm about to finish writing a module which parsers Java .class files >and reports the structure of the file by returning an object >containing all information in the file: constants, methods, actual JVM >bytecode etc. The module will eventually expose JVM bytecodes and, >well, things to make a Perl / Parrot JVM implementation possible. > >The Classfile is strictly part of the JVM and not of Java, so my best >guess so far is JVM::ClassFile. I'm not a big fan of modules named >..Parser, as surely everything does that these days (that's worse >than having XML:: everything). However, JVM:: is a new namespace >(there's already Jvm though, should I use that instead?). > >OK, basically, my question is: Is JVM::ClassFile ok? Seems moderately reasonable to me at first glance, but let's go digging. The Jvm module you mention is a single module, not a hierarchy. And it's not in the modules list, which means it's not an "approved" name, for what that's worth. There is already a Java:: ... why isn't it under Language:: with all the other languages? (well, with *some* of the other languages). There's also an Inline::Java::JVM, for what it's worth. IMO, Java should be under Language::Java, but that's unlikely to happen at this point. However, wherever the Java modules are, I believe that your module belongs with them. Sure, the JVM is separate to the Java language, but there's such a strong connection between the two that it doesn't seem to be worth two toplevel namespaces. So I'd say that your module should be Java::JVM::Classfile. K.