Search
Tuesday, 20th of March 2018, 20:59:12 UTC
21:44:09
drmeister
I'm getting pretty fed up with travis. They've increased the time clasp can use to 180 min - the build crashed at 2h30m and I can't see the log.
22:57:10
shiho
drmeister: (fep::read-am1-charges *feps*) works.
22:59:40
shiho
Can I do something today?
23:00:07
drmeister
Do you mean can you do something more today?
23:00:32
drmeister
This is enough - I can finish up the am1-bcc charge calculating code.
1:56:33
Bike
well i sketched out how to do the make instance thing with (setf find-class) and all
1:56:39
Bike
abandoning most pretense of portability for it, unfortunately
2:01:27
Bike
having the things depend on the environment also sucks, but i guess that's just what make-instance does
2:12:40
drmeister
I'm a bit lost - I make-instance and (setf find-class)?
2:31:51
Bike
the static gfs thing i was talking about when i left
2:31:56
Bike
it inlines (make-instance 'foo ...)
2:32:11
Bike
but in order to keep up with changes to classes and methods and stuff, it has to do a bunch of weird things
2:32:23
Bike
and if it's (make-instance 'foo ...), that has to work properly after (setf (find-class 'foo) ...)
2:34:26
drmeister
Do you have it figured out then? It sounds like a hard problem to handle changing the class.
2:35:20
Bike
it means i need to put a hook in (setf find-class) is the thing
2:35:36
Bike
obviously doable for clasp, but i was originally writing this thing to be as implementation independent as i could mmanage
2:36:38
Bike
anyway, it means no hash tables
2:37:08
Bike
a standard make instance is car, a couple funcalls, core:allocate-new-instance, a couple si:instance-set
2:37:15
Bike
so it should actually be faster now
2:39:01
drmeister
I'm not telling you to change what you are doing but here's a crazy idea. What if you compiled (make-instance 'foo ...) to (if (= (instance-stamp (find-class 'foo)) <somestamp>) (fast-make-instance-foo ...) (make-instance 'foo ...)) ?
2:39:44
Bike
the trick is what happens when foo is then redefined
2:40:35
drmeister
Yeah - my idea would drop back to the slow code from then on. More clever things would make the fast path reconfigurable - like compiling a new fast-make-instance-foo.
2:41:16
Bike
well, that's basically what i'm doing
2:41:18
drmeister
But if you've got a way -great - tell me about it on Friday.
2:41:41
Bike
the part that really makes it different from fastgf is that the body depends not just on the class, but on the keyword arguments
2:41:47
Bike
which differ by call site
2:42:05
Bike
i can imagine ways to do it more fastgfly, but i haven't tried it
2:42:22
Bike
that would have the advantage of working when the class isn't constant
2:49:44
drmeister
I'm looking forward to it.
4:37:26
beach
Good morning everyone!
6:21:48
drmeister
https://i.imgur.com/Q9D79HV.png
6:22:40
drmeister
That's a net across "chemical space".
Wednesday, 21st of March 2018, 8:59:12 UTC