libera/#sicl - IRC Chatlog
Search
9:54:27
beach
Major progress. The bootstrapping procedure now finishes with generation of Cluster "assembly" turned on. There are still things to be defined for it to work at run time, and there is still at least one Cluster instruction missing, so I haven't turned on the Cluster assembly pass yet.
9:55:08
beach
I think we need a macro or a function for defining SICL simple functions where the body is Cluster instruction.
9:55:46
beach
Then we can use that operator for things like system calls and other stuff that requires access to registers and such.
10:02:03
beach
Since very little code will be written using such an operator, it can be very simple. They body can just be a list of Cluster commands.
10:30:50
beach
Also, generating Cluster assembly doesn't significantly increase bootstrapping time it seems.
12:37:44
beach
Actually, maybe a separate operator is not necessary, and it would in fact make some things harder. It is easy enough to create a list of Cluster commands and call Cluster to turn it into a byte vector. And creating a SICL simple function from that is just a matter of calling MAKE-INSTANCE. So by using just Common Lisp for it, we get a free "macro assembler" in that we can use Common Lisp loops and other abstractions to create the