freenode/#sicl - IRC Chatlog
Search
6:32:36
MichaelRaskin
shka_: a lot of things pretend to code walk then do it by scanning that tree and get away with it for years… an implementation doing this is a rarer story, of course
7:27:17
no-defun-allowed
I found two things I'm not going to enjoy writing out bytecode: the .class format has a lot of structures I have to implement, including the constant pool, and for whatever reason, the format requires I give a maximum data stack length, even though it surely computes one verifying the bytecode.
7:29:24
no-defun-allowed
The former can be solved with a nice representation, and I think the latter can be kludged by just setting it to the maximum length, as the compiler will probably dispose of the stack anyway.
12:12:43
heisig
Oh, I don't mind if the HIR evaluator turns out as obsolete. I learned a lot while writing it.
12:22:40
beach
It is amazing to me how many things one (that would be me) might get "wrong", and it's only after a very long time that one (me again) realizes that there are ways of doing it that are much better. It is easy to think that one (yes, me again) is really stupid not to have thought about it in the first place, but I am thinking that it is only with experience that one (mhm) can figure out better ways.
12:23:23
beach
And I feel sorry for all those developers in industry I hear about on the YouTube presentations I listen to, who never get the time to correct their mistakes and improve the architecture of their systems .
12:28:36
beach
Today, I realized another advantage of the indirection from the new function FUNCTION-CELL to the environment function SICL-ENVIRONMENT:FUNCTION-CELL. During bootstrapping, I can define FUNCTION-CELL so that it can intercept requests to functions with certain names and return cells from a different environment.
12:28:37
beach
That way, I can control more precisely what each function calls. This new ability will simplify bootstrapping even more, and allow for even more "natural"-looking code.
12:30:23
beach
In the past, I had to invent intermediate functions such as (the rather ugly) FUNCTION-OF-METHOD that calls METHOD-FUNCTION in the final system, but that needed to have a different definition in some bootstrapping phases.
12:31:50
beach
It saves an indirection, but that's not the important part. The important part is that it forces the code to look "unnatural".
12:33:15
beach
Like splittist, I also wish for some shared whiteboard so that I could explain this a bit more, except that at this point, I wouldn't know what to draw on one. This happens to me a lot. The structure of something is quite clear in my head, but apparently not as a figure, because I am unable to draw it.