IntroductionAssuming a Forth language compilier has been written. The extension of nibz to objects proceeds as follows. - Redefine all 16 opcodes for class object.
- Decide on the ->P default of object.
- Use lists to implement mutable stack with no destroy on SWAP etc.
- Define the DI operation as a factor union disjoint
- Define the BO operation as a factor intersection (with SU mux applied, picked for best effect (List head tail << anyone?)
- Define the SU operation as a regular combination of DI and SO
- Define -1 as fully complete object
- Define new words for object creation and combination
- Define encapsulated machine word/cell
- Meta-compile
- Run it
It is important to distinguish between a null object which is incomplete, and a void object which is a complete empty object. This allows processing to skip void objects in sumations, etc. as x+void=x, where as x+null=null, and f(void)=void. Note that f(null)=null. The difference only occurs with functions of more than one variable. DetailsThere are no further details at present. The language will be known as sixten.
|