freenode/#clasp - IRC Chatlog
Search
13:23:21
shiho
drmeister, Lisp closed when I run (energy:minimize *agg*). It was no problem before updating...
13:52:47
drmeister
I'm trying to pull everything together today. fastgf, generic function dispatch passing just the method arguments list and next methods, bind-va-list
14:05:39
beach
If the only applicable method is a slot accessor, you can do the access directly in the discriminating function without calling an effective method. But it requires some trickery as I recall.
14:05:40
drmeister
Yes - but the special circumstances where the optimization is allowed isn't recognized yet.
14:06:57
drmeister
I think all the trickery is in place - and the discriminating function compiler will generate special code for them.
14:06:58
drmeister
https://github.com/drmeister/clasp/blob/funclos/src/lisp/kernel/cmp/cmpfastgf.lsp#L564
14:07:20
drmeister
https://github.com/drmeister/clasp/blob/dev/src/lisp/kernel/cmp/cmpfastgf.lsp#L564
14:07:35
Bike
currently a generic function call takes like seven frames to get to the method from the generic, for non fastgf reasons, which is obviously not good
14:08:00
drmeister
Bike and I have to sit down and figure out where to figure out when and where we can insert these: 'core:optimized-slot-reader and 'core:optimized-slot-writer outcomes.
14:08:34
Bike
might have to look at effective method computation to make sure that if there's only one method it's used as the effective
14:09:16
Bike
have defmacro in one environment, compile defmacro defun, load that fasl in another environment with no defmacro, still works
14:12:15
Bike
you'd think after making as many repls as i have i'd remember that slime doesn't do well with completions in them, but no
14:13:43
drmeister
Bike: (bind-va-list lambda-list va-list-args . forms) is taking the place of (apply (lambda lambda-list . forms) va-list-args) - right?
17:09:32
specbot
ensure-generic-function-using-class: http://metamodular.com/CLOS-MOP/ensure-generic-function-using-class.html
20:26:59
drmeister
Clasp generates a lot of anonymous function objects - do other Common Lisp's have so many LAMBDA's?
20:27:21
drmeister
It sounds like a stupid question - but damn - there are a lot of lambdas in the backtrace.
20:29:02
drmeister
I added the core:lambda-name declaration years ago - with the hopes that I would name lambdas to avoid this - that didn't work out.
20:49:48
drmeister
The first thing above it that I could track was REGISTER-METHOD-WITH-SPECIALIZERS
20:55:40
drmeister
I thought it was some weird low-level problem - but that was a perfectly reasonable error except for the anonymous lambda part.
20:58:56
Bicyclidine
since you moved to fastgf and there's less stuff in C++, i can probably get into it now