Can the sources.index file be removed? ====================================== Problems with `sources.index` files: * Scalability. But this could be solved by per-directory index files. See also `large_classes.txt` * Usability. It adds slightly to the learning curve. And it's an annoying additional step when adding a new class/file. Possibly avoidable issues: * Utility files: Are they really necessary? * Reduced paralellism: Can list `*.slul` and speculatively parse them (in the beginning, when not all cores are in use). Need to pause on error (and defer any warnings), since there could be files that aren't actually referenced. * Local classes/files vs imported classes. Could be solved by explicit imports of classes (maybe even of local classes, like Java?) Trickier issues: * Class extensions. All imported classes can be extended, meaning that those have to be searched for as well. That would be less efficient (if doing an `open` for each file), but it could be solved by instead listing `*.slul` first and building a hashmap (or even speculative/ parallel parsing) * How to specify that a class has entry points / is a service? - Maybe this information could go inside the file? - Require services to end with `*Entry.slul` ? (Or perhaps a service-dependent ending?) - Require an extension class for the service interface that is being implemented, and somehow reference the classes from there?