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.
Perhaps instead of having a list of optimized nodes in a segment, I instead have a kind of linked list structure or list of combined operations. It would be very similar to what I have now anyway though.
Optimized program bits should be in another class instead so SSAProgram is not packed with more stuff. Program refreshing would not be needed either.
I believe the default interface I will use in k8 when attached to a console (this is before a bitmapped GUI) will be a file manager like commander. One could then execute a shell to run commands though.