libera/#sicl - IRC Chatlog
Search
11:54:07
beach
I think I finished phase 4. This phase is basically identical to phase 3, with the difference that objects in E4 are pure ersatz objects in that the class of a standard object in E4 is an (impure) ersatz object in E3. So the next phase will turn the objects in E4 into a cyclic graph by replacing class references by references to classes in E4.
11:56:25
beach
This modification requires some care to avoid metastability problems. At the very least, the function COMPUTE-DISCRIMINATING-FUNCTION in E4 and the functions it calls must be operational. I can't remember what else is necessary. Maybe classes need to be finalized I guess.
12:12:46
beach
On my (very slow) computer, the 4 phases now take around 45 seconds which is quite good.
14:19:52
beach
Well, we might not need any more environments. I can build the cyclic structure in E4. But there might be more than 2 phases left. The division into phases is a bit arbitrary after phase 4.
14:24:22
beach
yitzi: I forget. Lots of stuff needs to be loaded after the cyclic graph is created, the printer, the reader, the streams, the compiler, the package system, ...
14:26:18
beach
iska: I ran into some fundamental issues with the package system. I had assumed that host packages could be used during bootstrapping, and I discovered too late that some packages need to be defined differently in the host and in the target, in particular CLOSER-MOP.
14:27:29
beach
In the new bootstrapping procedure, I still use host symbols, but I use Parcl extrinsically, so the target symbols are host uninterned symbols, and the target package a symbol belongs to is defined by Parcl.