freenode/#clasp - IRC Chatlog
Search
12:10:27
drmeister
stassats: No - he did great - he gave a great lightning talk on the cl-jupyter-widgets.
12:14:31
drmeister
stassats: Thanks for helping me a couple of nights ago - I got the ForeignData_O object to do what I was trying to do (incorrectly) with strings.
12:15:19
drmeister
I got binary data shipping between the kernel and the browser and after fixing a few more bugs I was able to animate molecular dynamics in the nglview widget.
12:15:48
drmeister
Unfortunately there were three copies of the structure on the browser side and only one animated and so it looked like a mess.
12:16:16
drmeister
I dropped down to using my backup demo that ran from a docker image - those are bullet proof.
12:16:59
drmeister
It took me another six hours of debugging over the Atlantic to track down the two bugs that were shipping two extra structures to the browser.
13:14:25
drmeister
I'm heading in now - should be in by 10:00am - but I have to go visit some people first.
13:29:24
drmeister
I've got widget.lisp<nglview> and widget.py<nglview> up side-by-side and I'm checking all the references to 'player'.
15:58:48
Bike
i think it's because map-instructions-by/with-owner maps over a hash table in whatever order, and the stuff in the table has different identities each time, and stuff
16:15:14
Bike
the dot output of hir is neat, but i think i'm at the point of wanting something text based, so that i can look at functions with more than a few lines...
16:27:20
heisig
Bike: I recently wrote an extensible Cleavir-to-Graphviz protocol based on CL-DOT (https://github.com/marcoheisig/Cleavir-Development/blob/master/Code/Graphviz). If you want, I could try to add a class COMPACT-CLEAVIR-GRAPH.
16:28:15
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cleavir/setup.lisp#L408
16:31:06
drmeister
It will do HIR and MIR won't it? MIR is just HIR with some instructions removed and others put in their place.
16:33:22
drmeister
But the idea was to group together the procedures and then the basic blocks within them and then spool out the instructions.
16:35:01
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cleavir/mir.lisp#L119
16:47:18
drmeister
I've thought for a while that it would be useful to generate CFG's (context flow graphs?) for HIR/MIR by grouping instructions as basic blocks and treating the basic blocks as nodes. It would let us render readable graphs that contain an order of magnitude more instructions.
16:47:59
Bike
i looked at that some, but what i wanted was to be able to click on a block to expand the instructions out, and i wasn't sure about that
16:48:45
drmeister
Why do you lose the inputs and outputs? Those are just variable arguments to the instructions.
16:48:46
Bike
i wonder if there's some incantation that would make dot render basic blocks (which we specify) as straight lines
16:49:40
drmeister
But if we convert the HIR/MIR to a text form with basic blocks - then it looks like llvm-ir with different instructions.
16:50:31
drmeister
Throw in some syntax highlighting/coloring and I think it would be very illuminating.
16:52:29
Bike
i was making decent progress on debugging this cst thing but then "There was an unhandled exception - do something about it" so i think... i will do something else now
17:27:43
scymtym
you could also render basic blocks as larger nodes with table/record-style labels such that instructions are table-rows