freenode/#clasp - IRC Chatlog
Search
18:34:17
attila_lendvai2
drmeister: hi! it's nothing urgent, but when you are in an appropriate phase you could look at the build refactor PR and see if you see anything objectionable. especially regarding the building of extensions/ that I couldn't test. the commit messages should be enough, unless you catch something fishy
18:35:30
attila_lendvai2
ACTION has flashed libreboot bios on his thinkpad x200 and is watching a movie now
18:35:31
drmeister
attila_lendvai2: Great! Thanks! I'll be able to look at it tomorrow. I'm traveling and heading straight to a dinner when I land tonight.
18:36:55
drmeister
shiho: The latest cando/clasp build fine. I think it would be a fine idea to pull it and start it building when you head home tonight.
18:39:37
drmeister
I think what allocate_class does could be rolled into the other allocator method.
18:42:38
Bike
what i don't get is that it takes two classes as arguments (one of them is "this"), and uses one for the creator but the other for the rest
18:44:47
drmeister
Which method takes two classes? allocate_class has the implicit "this" yes and it takes a metaClass.
18:45:50
drmeister
It uses the metaClass to set the _Class of the instance and the stamp of the new class (Instance_O instance).
18:48:49
Bike
but allocate_class is called from C++, rather than CL like the rest, so i'm less flexible with it.
18:49:37
drmeister
It might be a good idea to put a sanity check that checks if metaClass == newClass->_Class right after Instance_sp newClass = this->CLASS_get_creator()->creator_allocate();
18:49:55
drmeister
But I'm pretty sure that slots aren't allocated until newClass->initializeSlots(...) is called
18:51:09
Bike
well, assuming InstanceCreator_O::creator_allocate() is the normal one, it doesn't set anything
18:52:25
Bike
the first thing i noticed was that allocate-instance does a subclassp check on everything, and then allocate_raw_instance checks for class-ness again
18:55:18
drmeister
I have to board the plane - but I'll put a break in allocate_class and see what newClass looks like freshly created by the creator_allocate. I also want to find the creator_allocate code - I'm not quite sure where it is.
18:55:54
drmeister
Then I can figure out if it's redundant. If _Class is set by the creator then we can get the stamp and if so - then we don't need to pass the metaClass - right?
19:00:21
Bike
basically what i've been doing is: 1) separating funcallable instance from instance (having different allocators instead of checking in them, and such) 2) eliminating all the stuff clasp does when allocating classes that should be done in the CL initialization 3) removing instance-sig-set and doing that in the allocator instead
19:00:45
Bike
an object is coherent if it has a class, a rack, and a sig. if it's missing one of those lisp shouldn't be seeing it
20:10:19
DVSSA
I seem to be having issues getting my cando & jupyter to play well together, could someone maybe provide some insight?
20:11:14
DVSSA
Run a script similar to https://www.irccloud.com/pastebin/8Zs3bX9M/ (only AWS credentials replaced with mine)
20:11:22
DVSSA
Edit ~/cl-jupyter/install-cl-jupyter.py to point to my clasp (/out/clasp/bin/cclasp_boehm)
20:12:40
DVSSA
I have tried creating a symbolic link in ~/quicklisp/local-projects to ~/Development/clasp/extensions/cando/src/lisp/
20:14:25
DVSSA
(where I found build-cando.asd and setup-cando.asd) but when I try start a clasp image and run (ql:quickload "build-cando") I get nothing
20:29:38
DVSSA
So I can now load (within slime & jupyter) (ql:quickload "build-cando") and it seems to work.
20:34:29
DVSSA
I can also load "build-clasp-jupyter", from what I can see the differences between the two is when i run (list-all-packages) the dif between the two is #<CANDO-USER> #<CLEXT.QUEUE> #<NGLV> #<PYTHREAD>
20:35:07
DVSSA
But when I try run an example I got from drmeister's docker images I get the following
20:39:14
Colleen
attila_lendvai: drmeister said 7 hours, 10 minutes ago: Thank you - I'll be able to take a look at it tomorrow.
20:42:10
DVSSA
attila_lendvai: I tried that but I'm not sure that is what it's supposed to be, the code is a copy-paste from drmeisters docker and he uses it like that
20:42:43
attila_lendvai
DVSSA: probably in his context it didn't make a difference, but it does in your package
20:43:30
attila_lendvai
DVSSA: you seem to be new to lisp, right? read up on packages, http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html
20:44:20
attila_lendvai
what happens is that symbols are read in the current package. a package is a collection of symbols, possibly imported from other packages. basically a namespace...
20:44:56
attila_lendvai
unprefixed symbols are read in the current package -- that is. if you prefix it, then the current package is irrelevant
21:00:14
Bike
probably drmeister's code is in some other package. maybe there's in-package in the files somewhere, dunno.
22:00:20
Bike
drmeister: a hinta bout what "The dispatch function has two selectors with different outcomes" would be helpful, because i'm pretty clueless
22:13:52
drmeister
two selectors with different outcomes is bad - I think it means the generic function dispatch is building the dispatch tree and it got to a point where it was going to add an outcome and there was one already there.
22:15:37
drmeister
But I think it means that the call history has two entries with the same key but different outcomes (really bad) - or the same outcome (and then the two entries are only redundant - but still bad). The keys in the call history should always be unique.
22:21:08
drmeister
While I was on the plane I started working on getting Maxima to work in Clasp - wow - it goes to town on symbol properties.
23:09:30
Bike
the underlying issue is probably that i messed up whatever magical process gives boot classes stamps
23:09:30
Colleen
Bike: drmeister said 51 minutes, 38 seconds ago: - I just put some stuff in the log for you.
23:19:24
Bike
the last problem i fixed as that nothing in lisp actually initialized the specializer call history slot
23:25:57
drmeister
I’m at some life sciences dinner - there’s 1300 people here and they are making speeches and giving out awards.