freenode/#clasp - IRC Chatlog
Search
13:10:22
beach
The code is not evolving very fast, but I recently completed a fairly complete specification of the garbage collector.
13:17:07
beach
An alternative would have to be significantly better for me to switch. For one thing, I can't see myself working without the abbrev processor and flyspell mode.
13:18:37
frgo
Last time I did create a tex text was in 1991... Si I was wondering if there is something else than emacs available these days.
13:23:00
Shinmera
At least with the new engines like LuaTeX you can use custom fonts and lots of other things that erase some of the pain.
13:23:38
frgo
Well, in 1991, for me, LaTeX was A Good Thing. The only environment that was able to typeset and print my diploma thesis text the way it was supposed to look.
13:24:52
beach
You were lucky. I find that if I want to deviate from the default way of formating things, it is nearly impossible.
13:26:56
frgo
Good coincidence - wanted to talk to you about Deeds barking when being loaded intom AllegroCL.
13:30:54
frgo
That may well be. What's special for LW? Just the fact that the whole section needs to be available at read tome?
13:35:36
Shinmera
Weirdly enough I've gotten a good share of emails from people that tried to use one of my libraries with LW/ACL and it just didn't work out of the box and required special massaging
13:36:53
frgo
As you're saying: MOP isn't the same beast for all of them. But we have (and you are using) Closer to MOP.
13:39:22
frgo
ah - now that begs the question what else there was... I am about to settle for either LW or ACL for a commercial product. I tend to go with ACL as I am also planning to use Franz' AllegroGraph database.
13:52:10
kpoeck
@frgo: Why not try our allegro and lispworks. I'd assume they both give a a free, non-crippeled version for a limit amount of time
13:53:03
frgo
I do have a commercial license for both. I actually am right into the process of /trying/ ;-)
13:56:32
Shinmera
I don't know if LW changed their free version but it used to be ludicrously out of date
13:56:59
kpoeck
Back to clasp: I changed 1 signature of a function in random.cc and now 111 files in bclasp and 417 files in cclasp are recompiling
14:00:02
frgo
Yep - but the LW people will give out a timelocked trial vervion if you ask them and are able to describe a commercial intent / chance for buying a license.
14:01:13
frgo
kpoeck: Re WAF: No, not really. I did read the code about a year ago and gave up for the simple reason of python spaghetti code
14:06:33
frgo
I'm an emacs kid - so, 99% of the time I use it from emacs (slime). But there are cases where I switch to the IDE of AllegroCL - mostly class browsing and the source stepping functionality.
15:23:57
beach
I learned Emacs in around 1980 or so. It has been an investment that has paid off many times over.
15:54:14
beach
karlosz: I don't think you need liveness information when you do a total inlining. If you do a partial one, you might pass dead arguments without a liveness analysis.
15:55:09
karlosz
im am currently trying to work on getting instruction ownership and location ownerships to be incrmentally recalculated
15:59:27
karlosz
i was thinking it would be enough to just add each cloned instruction mapped to the caller function's enter
15:59:56
karlosz
but having to copy functions to and worrying about local ownerships is a little hairy
16:00:32
beach
Or you can hold off until you inlined a complete function. Only the ownerships of instructions to be inlined are required.
16:06:48
drmeister
Bike: I changed a bunch of &rest parameters that were ignored to core:&va-rest in clos.
16:09:27
drmeister
Furthermore - if all that happens to the &rest parameter is it is used in the tail of an APPLY - switch to &va-rest.
16:10:18
drmeister
Beyond that it gets a little dicey - it's slightly more expensive to iterate over a &va-rest list multiple times than it is to iterate over a regular list
16:14:38
Bike
i knew a guy once whose keyboard just inserted random characters at random times. so he was just garbled all the time
16:14:49
beach
karlosz: Like I said, if you do inlining from innermost and out, then you can do the full inlining, then recompute ownership, etc.
16:16:21
Bike
i had decided we couldn't do innermost functions first, but maybe that was due to my bad criterion...
16:16:23
karlosz
beach: what about location-ownerships? it seems that those would need to be recomputed, especially iwhen inlining enclose instructions, since those copy entire functions
16:22:09
karlosz
i see. then the only sticking point is inlining children before parents in the function-dag. Bike, what was the reason you decided that can't be done? and im not sure whether recomputing ownership once everything gets inlined is better. just map-local0instructions over the caller? seems less efficient is the owner is big and the callee is small
16:28:55
Bike
as you've probably noticed, the code for determining what to inline is the worst part of the system
16:42:16
karlosz
OK. I managed to recompute ownership information and pass self build with csts. Didn't rely on the fact that it does full-inlining so it should work for partial inlining too. compile time dropped from around ~120 sec to ~100 sec. Thats less than i expected. will do some profiling
16:47:09
karlosz
yep, so the ownership stuff is gone from the profile but now the dag and destinee stuff is hot up there
16:50:05
karlosz
the fact that there are so many calls to inline-one-0instruction relative to the number of forms compiled (841) worries me. was this not a problem for ast inlining?
16:51:03
Bike
well, it copied every ast too, and the number of asts would definitely outstrip the number of forms
16:51:56
karlosz
and conservative estimate of ast to hir instruction ratio - maybe 1:3? so 3x. not good, but not too bad either
16:54:29
karlosz
oh, i see. you mean the stuff with copy-function-(recur)? will try innermost dag traversal too then
16:56:11
Bike
if en enclose instruction is copied, its entire CODE will be as well, but then maybe that code will be inlined later, so, multiple copying
17:21:27
frgo
Off topic: Shinmera: https://github.com/Shinmera/deeds/commit/e1acc49a6e8c44414af0090c09ccf06ed8a74ffd Wow - I didn't remember we had that topic already.
17:22:31
Shinmera
Also remember that all my stuff is on-topic in #shirakumo, though I don't think anyone herem inds.
18:48:13
karlosz
what's amazing though is that %progv is 71.35% of the time. that might just be an artifcat of the profiler though
18:55:04
karlosz
https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Dominance/dominance.lisp#L102
18:55:44
karlosz
its hard to judge whether it is doing extra work with all the functions there though
18:56:27
Bike
i suppose you could have full-inlining-pass print the ORIGIN of the ENTER it's inlining
18:59:47
karlosz
is there any way to vizualize HIR above the instruction level? say just to graph the function dag
19:02:18
karlosz
the terminology still confuses me a bit though. the dag file uses tree and dag interchangably, but which is it? i haven't seen any enter-instructions which are referred to by more than one caller but the dag terminology makes me think otherwise
19:04:11
karlosz
the word Tree is still written multiple times in the comment starting the file function dag
21:22:32
nivpgir
I just finished compiling boost from source, how do I tell waf to use my compiled libs?
21:28:14
drmeister
nivpgir: Wait - your build is getting farther. It's linking the executable iclasp-boehm and running aclasp
21:32:32
drmeister
I don't understand what your link is doing - there is no mention of boost other than the error.
21:33:04
drmeister
It's trying to link a dynamic library. Why it has a problem with _ZZN5boost13serialization16singleton_module8get_lockEvE4lock - I have no idea.
21:33:42
drmeister
Can you run: file /home/nivpgir/gits/clasp/build/boehm/fasl/aclasp-boehm-bitcode/src/lisp/kernel/tag/start.o