freenode/#clasp - IRC Chatlog
Search
0:20:25
Bike_
i think modifying the reader as it is now is going to be too much of a pain. but, i can enforce that reader macros are functions rather than symbols, and bind all the control variables, so everything else should be fine with environments
0:37:06
drmeister
I'm going back to the asdf example because it seems a little easer to understand than my example.
0:37:20
drmeister
Is there any other way to change the class of an object other than 'change-class'?
0:37:53
drmeister
Because there are only two 'change-class' calls in ASDF and I put print statements in front of them both and they aren't triggering - but the bug is.
0:40:57
drmeister
So - just make an instance of a class with a slot that is left unbound and try to access that unbound slot?
2:03:37
Bike
one stamp is for cell-error, and one is for unbound-slot, the former defines the slot, and the latter is a subclass
2:04:24
drmeister
opt-class is the class that I stored in the optimized-slot-reader object that stores the optimization info.
3:10:37
beach
I thought you had abandoned trying to implement first-class global environments in Clasp, given that it is not very costly to just start a process for each user.
3:11:51
Bike
for one, even if i did that, it would still have unrestricted access to the filesystem and such
3:14:11
beach
I am pleased that you are working on it, because I think you will figure out lots of issues that would otherwise pop up later on in my SICL development.
3:15:16
Bike
CLOS is going to be annoying though, i can understand a little more now why you go through like four environments
3:18:42
beach
Yeah, CLOS is complicated that way. Recently, I have considered converting some of the generic functions to ordinary functions to avoid some of the problems with simultaneous but different mappings from names to objects.
3:19:42
beach
I have nothing concrete yet, but when I start contemplating SICL bootstrapping again, I will keep that option in mind if I get into trouble.
3:24:36
beach
Yeah, that's not the problem I had in mind. It is possible that, in the same bootstrapping phase, I need two different definitions of some function, called by two different generic functions. I might be able to fix that problem by inlining two different versions of the function and converting at least one of the generic functions to an ordinary function.
3:31:24
beach
The problem is that, in each bootstrapping phase, I use some classes created by the previous phase, and those are often "the same" classes, i.e. the MOP hierarchy of classes, but represented differently in each phase. In phase 1, they are ordinary host classes. In phase 2, they are host non-class instances. In phase 3, they are host header/rack combinations. I often need to call different versions of things like allocate-instance or