freenode/#clasp - IRC Chatlog
Search
9:54:41
Kevslinger
drmeister: the @property looked to me like it does exactly what our accessors can do. Is there somewhere nglview uses it that it’s important?
11:24:57
Bike
scymtym: that's fine, i've been slow anyway. i'll merge what i got today. mostly i just haven't tested it
11:32:24
drmeister
Kevslinger: I went back to using strings as widget names rather than symbols. I don't like to deviate too far from the way the Python code works for maintenance reasons.
11:33:59
drmeister
I also found that some classes were not being declared with (:metaclass traitlets:traitlet-class) and while previously this was allowed - now I get an error. I guess Bike tightened up the sanity checking.
11:34:29
Bike
i didn't, but if you changed something with that *clos-booted* variable that would cause that.
11:35:54
drmeister
I ended up subclassing most of the cl-jupyter-widgets to add a %ngl-name slot to them.
11:36:40
drmeister
The 'trajectory-player' in nglview needed that. They did the usual horrible Python thing of adding a slot at runtime.
11:55:37
drmeister
I made a bunch of changes to nglview - I'm checking them out on the train and I'll push as soon as I'm sure I haven't broken anything
12:56:21
Bike
scymtym: have you made those changes already? i see a few in additional conditions but no reporters
13:01:44
drmeister
Kevslinger: I pushed the changes to our cl-jupyter repo - we can visualize trajectories but the trajectory player controls don't get displayed.
13:02:36
drmeister
I haven't tried the Python player but the nglview github repo demos suggest that they player controls "just show up".
13:11:39
scymtym
Bike: no, i added one reporter locally because its absence kept causing a crash (i'm going to show in which context later today or tomorrow). i didn't push anything in that regard. sorry if i put this in a confusing way
13:26:43
Bike
i have somehow forgotten how condition reporters work, or at least i can't make them fire
13:27:00
Bike
acclimation:condition defines a :report instead of a print-object method, and i forget how everything interacts
13:29:44
Bike
it prints a stream and stuff which i think is from reader-error, so maybe the report on reader-error is taking over
13:30:26
Bike
i put acclimation:condition second because i didn't think it would matter, but i guess i can swap it
13:30:44
scymtym
i mean (define-condition ... (acclimation:condition reader-error)) vs. (define-condition ... (reader-error acclimation:condition))
13:40:50
Bike
mmmmm except the readtable code uses conditions that are in the reader code and that's bad dut dut dut reorganization....
13:49:27
scymtym
Bike: i'm planning to tackle that reorganization at some point. same for quasiquotation-related conditions. maybe ignore those for now?
13:51:01
Bike
invalid character names don't signal an error either... eh. guess i should leave this stuff
13:53:27
scymtym
for stuff like this, you can always file an issue. i will get to it eventually that way
14:38:23
scymtym
Bike: you can run tests with (map nil #'asdf:test-system '(:eclector :eclector-concrete-syntax-tree))
14:40:51
scymtym
find out for yourself :) i'm already fixing them, though. so no need to amend to pr
15:56:44
Bike
then have a funcallable standard class that incorporates source info and a name and whatnot. have generic functions be a subclass of that, and regular functions be a different subclass. have a closure subclass of regular functions
16:35:01
drmeister
Ah yes. All of the wrapper functions for C++ functions share a common base class TemplatedFunctionBase_O.
16:36:49
drmeister
I did that because I needed a common base class that has all the essential properties of a wrapper function class - which are all specialized C++ template classes
17:14:33
drmeister
Yeah - but the specialized C++ template classes for wrapper functions need a common base class.
17:14:34
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/core/header-templates/wrappers_functoids.pmp#L28
17:15:42
Bike
we should lose the bclasp closure class, using the stretchy closure class with the one slot being the environment
17:18:02
Bike
anyway, type inference with numbering doesn't seem to fit well into the kildall abstraction i have, so i'm contemplating rewriting it, again
17:19:36
drmeister
I think the entry point for an interpreted closure is a static function that calls the interpreter.
17:20:16
Bike
so it's passed the closure like normal, and it gets the form and environment out of it, and calls the interpreter with those? that's what i'd expect, then
17:37:37
drmeister
This is that entry function: https://github.com/clasp-developers/clasp/blob/dev/src/core/functor.cc#L264
17:38:39
drmeister
And yes - it works exactly as you describe other than the extra step of binding the arguments according to the interpreted closures lambda-list.
17:51:05
Bike
the thing amounts to a traverse of the CFG interlinked with a mapping of nodes onto Somethings, but nothing else is defined. the traverse directions, what the somethings are, nothin
18:48:59
drmeister
It makes loads of sense to get rid of InterpretedClosure_O and CompiledClosure_O - I'm ripping them out now.