[View] [Edit] [Lock] [References] [Attachments] [History] [Home] [Changes] [Search] [Help]
[S8] Implementing a BootSector
Methods to check/implement when subclassing BootSector
- (class side) #supportsLanguage:
- version
- multilineComment: and lineComment:
- startupExpression
- initialDefinition
- this is the place to create/load initial requirements and support libraries
- nilDefinition
- smalltalkDefinition
initialDefinition
At his point we need to grant all requirements to create the smalltalk system.
In some languages we implement here some structures to manage S8 classes, metaclases and objects.
nilDefinition
In some languages we can use native variables for nil (e.g. NULL, None, etc); and we can implement the definittion as asignment at this point; and later also define an instance of UndefinedObject to replace the initial definition.
After Boot we need nil to be a S8 object, an instance of UndefinedObject to let the system refine/modify/add behavior of nil.
smalltalkDefinition
smalltalk is defined here to implement core functionality.
It must provide a lookup mechanism for global objects; and also must be an instance of SystemDictionary.
In most cases it is a long implementation with core functionality. It will be completed while creating/loading the image of the system.