freenode/#sicl - IRC Chatlog
Search
11:43:26
beach
Instead, it should refer to the standard functions such as FDEFINITION, fboundp, MACRO-FUNCTION, etc.
11:43:56
beach
If no standard function exists, such as FUNCTION-CELL, we need to invent it, which I did in this particular case.
11:44:35
beach
These standard functions will be defined as closures in the production environment, and they will close over the environment and call the Clostrum function.
11:45:36
beach
The reason for this rule is that user code should not have access to the Clostrum functions in the default environment. Only some privileged environment will have such privilege.
11:46:53
beach
Plus, this new rule is what is going to make it possible to create a Clostrum environment as a SICL object during bootstrapping, and to store create bindings in that environment to the other SICL objects created during bootstrapping.
11:47:15
beach
This was one of the conundrums I was unable to solve in the previous bootstrapping procedure.
12:35:59
Bike
beach: right now clasp doesn't refer to the sicl repo at all - just s-expressionists/Cleavir - so you're good on that front
12:57:36
beach
More tasks: CL:SYMBOL-VALUE, CL:BOUNDP, and CL:MAKUNBOUND should call functions with that name in SICL-RUN-TIME. For example, CL:SYMBOL-VALUE should close over the global value cell and the global unbound value and it should call SICL-RUN-TIME:SYMBOL-VALUE with those two arguments and the symbol name. Currently, CL:SYMBOL-VALUE passes the Clostrum environment to the equivalent run-time function.
13:00:22
beach
The AST evaluator and the HIR evaluator share some stuff like *CALL-STACK*. These modules useful only for bootstrapping, so maybe they should be located in a place that makes that fact more obvious. The structure of the call stack is shared between those two and the bootstrap backtrace inspector.
13:01:04
beach
Perhaps the bootstrap backtrace inspector can be factored so that the GUI part is usable in the production system. If so, the stack-inspection part may have to be factored out.
13:02:49
beach
There is probably code in several Test/ directories that I haven't adapted to Clostrum, so this needs to be done.
13:04:28
beach
The system SICL-EXTRINSIC-ENVIRONMENT should be eliminated. But it is used by the Test code for LOAD-TIME-VALUE hoisting.
13:06:43
beach
Since I have started using package-local nicknames, this might be a good opportunity to use more of them in various places, if for nothing else to make package prefixes shorter.
13:07:22
beach
Perhaps there should even be a SICL-wide convention. Like I started using ENV for SICL-ENVIRONMENT in the bootstrapping procedure.
13:09:26
beach
And stuff like sicl-evaluation-and-compilation and sicl-data-and-control-flow is pretty long. But then, those might not be used very much as package prefixes.
13:10:55
beach
In summary then, there are lots of tasks like that, and I would very much appreciate some help with them. I myself need to concentrate on the last phases of bootstrapping.