freenode/#clasp - IRC Chatlog
Search
0:41:10
drmeister
::notify Bike I'm wondering about what the rack of a generic function looks like. We moved the call history into the rack didn't we?
2:33:07
Bike
happy thanksgiving and georgian/abkhazian/indian constitution day and mongolian republic day and like twelve catholic feast days
2:33:07
Colleen
Bike: drmeister said 1 hour, 51 minutes ago: I'm wondering about what the rack of a generic function looks like. We moved the call history into the rack didn't we?
2:34:55
Bike
but yeah all the generic function stuff is in the rack now. funcallable instances only have this stuff https://github.com/clasp-developers/clasp/blob/master/include/clasp/core/funcallableInstance.h#L81-L85 and, honestly, i'd like to lose the interpreted calls count if possible
2:35:24
Bike
so the generic function slots are defined in lisp: https://github.com/clasp-developers/clasp/blob/master/src/lisp/kernel/clos/hierarchy.lsp#L130-L177
2:37:15
drmeister
So I build a specializer profile with T only in the position of the argument that we specialize on (usually the first but I think it can be others) and I build up a call history using the class we are specializing on and every base class.
2:38:03
Bike
i think the method combination, method class, and methods will be sort of impossible to build in iboehm
2:38:20
Bike
however they only really matter if there's a dispatch miss, which isn't really a sensible concept for these particular functions anyway
2:38:55
drmeister
I don't think I need the method combination or method class - the methods will be simplified I think.
2:40:09
Bike
i think bypassing said machinery would be fine, since they're a special case, but that's how it is
2:40:57
Bike
worst case, you could make these things funcallable instances with some bespoke instance function, and then mutate them into generic functions in fixup.lsp
2:44:02
Bike
we have kind of a lot of subclasses of Function_O and it's confusing and i'd like to lose as many of them as possible