freenode/#clasp - IRC Chatlog
Search
17:39:29
karlosz
so we are at least an order of magnitude faster in terms of compiling real world programs
17:41:06
karlosz
if we make a change like reeanble inline declarations and see the compile time go up heavily we'll know what happened
17:44:15
karlosz
i guess we aren't really messing with the asts and cst-to-ast since hir is sharing those at the moment
17:45:12
karlosz
it would be nice to be able to mess with that stuff somewhat soon in the future though
17:57:37
Bike
deleting blocks if they have no predecessors is basically not enough, i wonder if something more sophisticated involving dominance is required
17:59:25
karlosz
and make sure that at the same time we note which blocks were removed from the iblocks slot
17:59:54
karlosz
essentially - find unreachable blocks, instead of GCing the dead code we still try to clean up the unreachable blocks
18:00:18
Bike
oh, yeah, i also changed refresh-local-iblocks so that if it finds unreachable blocks it cleans them up properly
18:01:09
karlosz
but yeah anytime theres a chance you couldve disconnected a portion of the graph you probably need to do a full dfs
18:01:44
karlosz
barring knowing more about the local graph structure around the piece you are disconnecting
18:02:49
karlosz
when you disconnect a portion of the graph, instead of running refresh iblocks immediately
18:03:15
karlosz
and it can be done on demand by the next thing that actually needs the correct reachable iblocks set
18:03:56
karlosz
its a bit of complexity but i think it could be worth it if we end up doing major graph surgery a lot
18:05:21
karlosz
so maybe caching that order would be preferred as its not any more costly to compute either
18:15:50
Bike
question: in the local call analysis, to check that the function is in call position, you do (or (eq use (callee use)) (not (member reader (rest (inputs use)))))
18:59:13
kpoeck
karlosz I tried to build ironclad with current clasp from master, and it does get stuck (and allocates 100 GB). I really would like to know if this all caused by inlining
19:06:08
karlosz
kpoeck: if you want to try it, you can pull from the bir branch of clasp and build it
19:13:20
Bike
well we have a verifier and a textual disassembler, so hopefully it'll be easier than with hir
21:00:02
Bike
another question: find-function-local-calls seems to delete a function if /any/ of its encloses are unused? that doesn't seem right
21:00:36
Bike
i'm trying to figure out a somewhat involved test failure that goes away if local call finding isn't done. i suspect interpolation is having problems
21:02:51
Bike
the problem i'm hitting is (lambda (a b c) (block b8 (let ((v1 (return-from b8 a))) (block b3 (flet ((%f10 () (return-from b3 -1)))))))) doesn't compile, saying the b3 catch is missing
21:03:21
Bike
it looks like the let-lambda is deleted, which is reasonable as it is not used, but it seems %f10 is not removed
22:32:08
karlosz
Bike: yeah we need better dead code handling strategies so not everything is just literred with unused-p
22:32:57
karlosz
you should only be allowed to remove a function from a module if its not enclosed and has no local calls
22:44:12
karlosz
well it would be cool to come up with an elegant approach that always makes sure that the graph is clean from instructions with no uses
22:46:35
Bike
i mean i'm just concerned with correctness right now. notes would be nice but this does not compile
23:00:28
karlosz
its just that the function got deleted but the code inside the function wasn't cleaned up
23:00:51
Bike
the inner function is still around so it has the unwind but the catch is gone, therefore death.
23:02:29
karlosz
deleting the enclose should just pull a trigger to delete the function which deletes everything in it
23:02:56
Bike
plus rmove-function-from-module calls clean-up-function, which just does (mapset nil #'clean-up-iblocks (iblocks f))
23:07:11
karlosz
i was also concerned that interpolation would interact badly but i think you covered that base by checking for local-calls
23:10:13
Bike
or maybe not enough, if the inner function is still around trying to refer to the outer one
23:11:03
Bike
mostly the miscellaneous tests, which have been remarkably good at ferreting this kind of problem out
0:37:30
drmeister
Those are different molecules made using our chemistry, approx the same amount of each.
0:37:52
drmeister
Note the 4th from the left and the 1st from the left - they are puffy - like aerogels.
0:41:17
drmeister
These and ~150 other molecules were synthesized in the last month using an application that I developed in Cando that designs the sequences and generates control files for the robotic synthesizers that made these molecules. It also generates a chemical formula database for each molecule that we use to assess how well each synthesis worked.
2:51:43
docl
I went ahead and pasted that to ##hplusroadmap -- lots of nanotech enthusiasts, some with practical experience. Hope you don't mind :) Automated chemistry with molecular building blocks is right up our alley.
2:52:40
docl
This has inspired me to take up lisp again. I'm finally using emacs halfway competently.
2:56:13
docl
I have a docker with cando running now. I get some errors in some of the demos, but I'm not sure how much of that is from stuff that has been fixed already.
3:03:44
lsneff
It is! Lots of smart people there. I'm there in an attempt to get smarter through osmosis.
3:06:42
yonkunas
docl: I am about to push a new image. Give me about 15 min and you can pull the new one. It should have a ton of fixes at least for Demo 3 thermodynamic integration. Which demos are you using? Let me know the errors you see and I can fix things up.
3:13:55
docl
yonkunas: thanks! I will install it. It was one of the first few demos that I noticed it in. I'll look it up
3:15:38
yonkunas
docl: It is there, go ahead and pull it down. Ok, yeah those first few demos have a lot of old code in them. I will look through them again and update.
3:33:32
docl
00 4201764ed19f thirdlaw/cando "/opt/clasp/bin/dock…" 5 seconds ago Created recursing_sanderson
3:33:35
docl
b736f2fd43a9 thirdlaw/cando "/opt/clasp/bin/dock…" 13 seconds ago Up 12 seconds 0.0.0.0:8888->8888/tcp competent_antonelli
3:37:17
drmeister
We've been focusing on some new, very technical demos for drug design. Some of the other demos we broke because of all the improvements we've been making. Bug reports are welcome.
3:38:16
drmeister
yonkunas: We should probably move the cando-demos into a cando-developers repo and then we could keep track of issues.
3:39:15
drmeister
Hmm, I don't think they are yet. They are the 03 demo and another in cando/extensions/cando/src/examples/thrombin-tirun