DISCLAIMER: These notes are from the defunct k8 project which precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26! The k8 project was effectively a Java SE 8 operating system and as such all of the notes are in the context of that scope. That project is no longer my goal as SquirrelJME is the spiritual successor to it.
Operations should have inputs and outputs and then I can setup a basic state on that without worrying about setting outputs at all.
I have right now Read and Write being relaxed when it comes to input and output and have it matched to the type. However it would probably be best to make it so that they require the exact type used.
I should also then just make Copy not relaxed because that would complicate the operation a bit.
I should bring back selectable compilers, ones that must be compatible with the KBF system.
I can make it much simpler too, just have a kind of dispatcher. Before I had a complex system which required architecture detection and such. Thinking of not having it, if an architecture is not supported then it will fail to build. However for the sake of splitting up sub-architectures there will be packages with markings for a compiler to be included if it is used. The marked package will only be included if it exists however. The standard binary stuff is still needed due to assembly bits however, so the kernel might have extra stuff it does not need. Otherwise, each new compiler which is added by someone will require that they rewrite the architecture support methods for every new compiler that exists.