libera/#sicl - IRC Chatlog
Search
13:51:28
pjb
beach: don't you have "built-in-functions" that are not (cannot be) implemented using sicl?
13:52:44
beach
Well, the native function can always be implemented. It is just a matter of generating the right machine code. But some such functions can not be executed during bootstrapping in the host.
13:53:32
beach
But now I have a host object in there, and if it ever becomes the argument of a SICL generic function, its stamp is going to be asked for.
13:54:15
beach
What I do now is that I fake it, i.e., I configure the HIR evaluator to give me the unique number of a SICL class representing functions.
13:55:40
beach
What I am suggesting instead, is to use a HEADER object, which is a host object that is used as header for all SICL objects, and which is a host FUNCALLABLE-STANDARD-OBJECT, and instead of IMPORT-ing the host function, turn it into the same kind of object that represented SICL functions.
13:56:14
pjb
Yes. like with built-in-function, there's some wrapper to make them look like native functions.
13:57:40
beach
Yes, and this wrapper can be dealt with by the dispatch machinery during bootstrapping, thereby avoiding a special case in the HIR evaluator.
14:01:25
beach
heisig: In the HIR evaluator, in the method specialized to ENCLOSE-INSTRUCTION, why must ENTER-FN be assigned to after the thunk has been made?