Should \source be replaced with "type-specific" directives? submodule stuff class Thing record Stuff If there's a distinction between classes and records, should they then have different names? * Additional file extension? E.g. "Thing.class.slul" But this could get incorrectly matches with Java .class files. * Case distinction, e.g. SomeClass.slul vs some_record.slul * Prefix letter like in Pascal, e.g. CSomeClass.slul vs RSomeRecord.slul But this will make letters "C" and "R" overfilled when sorting. * Suffix letter: SomeC.slul SomeR.slul Can this be done in a good way with "index files" instead of module headers? Yes, if either of thse: * the source files have different names. * there are separate index files * the index files contain the kind of source file (record type, class/object type or multiple types) Filename-based types and directories: * The directory part could be skipped (best solution?) * Or the directory could be prepended as some kind of namespace. * Or nested directories could be forbidden (except for submodule usage) Should modules be able to access each other? * They will probably need to in some cases. * Depending on the top-level module is probably a bad idea and should not be allowed. * Should there be internal module dependencies? - Perhaps a `intra_imports.index` file? or `cross_imports.index` or `submodule_imports.index` or `used_submodules.index` (best?) - Should the top-level module implicitly be able to use every module?