freenode/#sicl - IRC Chatlog
Search
12:07:29
beach
The other thing I should do is this: Currently, all my first-class global environments are host objects, and so are the data structures that they contain for organizing classes, functions, types, etc. But ultimately, I am going to need a first-class global environment represented as a SICL object, i.e. with a header and a rack. And it would be preferable if I can create that in the host before I create the final executable file.
12:08:18
beach
So in a first-class global environments, I should load files containing definitions of a first-class global environment and its accessor functions.
12:09:08
beach
I should then create an instance of that class, and use that instance to contain all the final code to be used to create the executable file.
12:10:13
beach
Many of the objects in that last environment could be directly imported from the last of the first-class global environments represented as host objects, I hope.
12:17:07
beach
The other thing that had me baffled for a long time was how to "tie the knot", i.e. how to make the class of objects (including classes) in environment En be classes also in En and not in En-1 as is the case during bootstrapping.
12:20:03
beach
Under normal circumstances, accessor generic functions do not consult the class object of their arguments. They consult the stamp in the instance. So if everything is finalized, satiated, etc., then it should not really matter what the "class" slot of the header refers to. Therefore, I should be able to alter that slot without changing the way the code works.
12:20:29
beach
The other thing I need to do is to modify some of the definitions that I introduced during bootstrapping.
12:21:21
beach
For example, I have a FIND-METACLASS function, that, under normal circumstances, should just call FIND-CLASS. But during bootstrapping, it is defined to look for the class in En-1.
12:22:12
beach
Otherwise, the rest of the code just calls accessors to get the job done, so as long as the accessors work correctly, then there should be no problem.