freenode/#clasp - IRC Chatlog
Search
14:45:46
Bike
so with the find-class macro there's two things - we need a get-cell that creates a cell if it doesn't exist, and we need to be able to detect that a cell doesn't have a class in it. we could probably just put NIL in the cell or something
14:46:03
Bike
actually you have it so that (setf (find-class 'foo) nil) removes the cell entirely, which probably isn't the best way to do it i think
14:48:39
Bike
technically that means we could get an accumulation of useless cells, but it seems unlikely to happen
14:49:01
Bike
if it did happen we could GC them (with them being kept alive by any code find-class-ing those names)
14:49:52
drmeister
I see your point(s) - so I should change (setf (find-class 'foo) nil) to leave the cell in there.
15:05:49
drmeister
Kevslinger: Are you online? If you are around can you come see me? Or check Slack.
16:34:30
drmeister
Bike: Regarding the cleavir changes. Should I submit a pull request to your fork of sicl and you can look it over, fix it up and then submit that to beach?
17:09:06
Bike
beach: oh yeah, about the predicate thing- did you mean just clasp changing its typep-for-classes to use generic functions, or explicitly writing out generic functions in the cleavir source? the latter is what drmeister is talking about
17:17:24
drmeister
Bike: I can't submit a pull request to your fork of sicl because I'd have to have my own fork of sicl.
17:20:24
drmeister
There are two commits - one with the predicates and use of predicates and a second where I added :size 1024 :rehash-size 4.0 to the map-instructions-xxx hash-tables.
17:21:16
drmeister
I confess - I couldn't tell because of everything else I did. You could drop those ones and I can experiment with it a bit.
18:21:53
drmeister
I did look at how much rehashing there was before and after. After - about half as much
18:23:56
drmeister
I can’t do anything at the implementation level because I can’t tell these hash tables from others.