freenode/#clasp - IRC Chatlog
Search
1:06:50
drmeister
I was a busy boy - destroying all of Clasp's multithreaded compilation capabilities.
1:35:15
drmeister
Rather, I'm making the *thread-local-builtins-module* special variable thread local and initialized to NIL and then loading it lazily.
2:23:41
drmeister
Also - I realized I'd left debugging in bclasp on - turning that off for timing...
2:33:45
drmeister
I think this will fix the problem with multithreaded slime - but I haven't tested it yet with cclasp.
3:13:56
drmeister
(defclass foo () ((arga :initarg :arga :accessor arga) (argb :initarg :argb :accessor argb)))
4:25:25
drmeister
::notify Bike We aren't taking full advantage of these new fastgf optimized slot accessors. ECL's std-class-optimized-accessors are still using hash tables. This is revealed by profiling allocation of CLOS objects.
10:36:50
drmeister
::notify kpoek There are instructions about a symbolic link that you may need to use on OS X to get rid of those missing header file messages: https://github.com/drmeister/clasp/wiki/Clasp-0.5-Build-Instructions
12:42:08
Colleen
Bike: drmeister said 8 hours, 41 minutes ago: cclasp works with slime in :spawn mode - we are back in business.
12:42:08
Colleen
Bike: drmeister said 8 hours, 16 minutes ago: We aren't taking full advantage of these new fastgf optimized slot accessors. ECL's std-class-optimized-accessors are still using hash tables. This is revealed by profiling allocation of CLOS objects.
12:52:30
beach
I would like to make the following changes to Generate-AST, CST-to-AST, and AST-to-HIR:
12:52:43
beach
First, Generate-AST and CST-to-AST should not enter the AST corresponding to a variable into the environment. Instead, it should enter an instance of a new class, that we may call VARIABLE and which is not an AST (so it has no source information).
12:52:49
beach
Next, Generate-AST and CST-to-AST should create a new AST for each variable reference, and instead of the name of the variable, the AST should contain a reference to the unique VARIABLE instance. That way, each reference to a variable has its own source location.
12:52:50
beach
To make that work, some changes need to be made to AST-to-HIR, but I think they are fairly limited. It looks like FIND-OR-CREATE-LOCATION needs to be altered so that it uses the VARIABLE to look up the location, rather than using the AST directly.
12:54:51
beach
I should have said: Generate-AST and CST-to-AST should create a new instance of a LEXICAL-AST for each lexical variable reference.
12:57:25
beach
Unfortunately, this change will break all the CST-to-AST tests that I so painstakingly created. :(
12:58:08
beach
But the change is necessary so that we can keep correct source location for each variable reference.
12:58:32
Bike
I think right now we just put... symbols? cleavir env info? in lexical asts, so having dedicated variables makes more sense to me
12:59:43
Bike
so, in the paper i didn't see reference to when fastgf could be applied. can it only be used on direct instances of standard-generic-function, or is it just that for indirect instances we can only make a dispatching tree out of what we get from calls to compute-applicable-methods-using-classes?
13:02:33
beach
The MOP does not allow the result of compute-applicable-methods to be cached as I recall.
13:03:03
Bike
but we can do something like that for standard-generic-function since it's standard and methods can't be defined etc.
13:05:28
Bike
because it would just be caching on the actual objects, which wouldn't recur so much, i guess. a user could define a compute-applicable-methods method that uses identities different from classes or eql specializers.
13:06:42
Bike
anyway, the other thought i had was that it might make sense to compile effective methods directly into the discriminating function. i think that's /allowed/ anytime since nothing seems to state effective methods have to be functions and they aren't accessible, and i think it could be a good idea because most of the time they're pretty simple. any thoughts? i looked through sicl and it doesn't seem to do this.