www.parrot.org | Parrot 1.6.0 "half-pie" released: The JIT is dead! | Testing priorities: Exception and MultiSub
Set by moderator on 20 September 2009.
00:00 Whiteknight joined
darbelo I have a STRING with {flags = 128335236, _bufstart = 0x3, _buflen = 0, strstart = 0x87cc8bdc "", bufused = 18416, strlen = 581689504, hashval = 3485389480, encoding = 0x2ab7d7e, charset = 0x22abfa54 00:02
}
does that make sense?
_bufstart = 0x3 looks wrong to me.
Whiteknight is wrong 00:12
darbelo Okay, then something's wonky in the parrot strings subsystem. 00:13
... and it's interactions with the io subsystem. 00:14
dalek rrot: r41458 | jkeenan++ | branches/library_files:
Create a branch to explore solutions for trac.parrot.org/parrot/ticket/1061.
00:16
darbelo Am I correct that a well-formed strin will have (Buffer_bufstart(s) == s->strstart) ? 00:28
s/strin/STRING/
dalek kudo: 729722a | (Solomon Foster)++ | src/setting/Complex.pm:
Add Complex trig functions not currently shadowed by Parrot complex functions.
00:33
kudo: 3afb78d | (Solomon Foster)++ | src/setting/ (2 files):
Change from-radians to work on self rather than a passed parameter.
purl dalek: that doesn't look right
kudo: 7a33068 | (Solomon Foster)++ | src/setting/Any-num.pm:
Add Any.atan2.
chromatic Hm, making PMC- and STRING- specific marking functions has the potential to improve branch prediction dramatically. 00:39
Whiteknight getting rid of all those if(PMC_IS_NULL()) calls?
no, i guess he didn't get rid of them, just moved them. nevermind
chromatic Getting rid of the PObj_is_PMC_TESTs.
Austin Why is that wonky? 00:40
Whiteknight wonky?
chromatic It's not wonky, but it confuses the processor's branch predictor.
It also causes a huge number of I1 cache misses.
I cut out 3/4 of the I1 cache misses for the oofib.pir benchmark by exploiting the two marking functions instead of one. 00:41
Try this patch with an optimized build. 00:43
nopaste "chromatic" at 72.87.39.97 pasted "Icache Optimizations in Marking" (57 lines) at nopaste.snit.ch/18053 00:44
Whiteknight just avoiding the extra *mark_PObj_alive calls on all strings would be a huge benefit 00:47
00:47 Austin joined
Whiteknight forget cache optimizations 00:47
purl Whiteknight, I didn't have anything matching cache optimizations
Whiteknight that's cause you're retarded, purl
purl Whiteknight: huh?
chromatic The fun part is realizing that you can *always* remark a STRING as alive. Doing the check and avoiding the remark is silly. 00:48
(with respect to cache writes and COW and... yes, but we don't take advantage of those now)
Whiteknight chromatic: so just commit that patch. looks sane to me 00:49
not necessarily, checking whether the flag is set first prevents a writethrough to main memory 00:50
chromatic Sure, but we're very likely triggering a cache miss even reading it. 00:51
I'd also like to hide the PMC_metadata branch in Parrot_gc_mark_PMC_alive_fun behind the PObj_is_special_PMC_TEST flag and move the marking into mark_special. 00:53
One fewer unlikely test and branch.... 00:54
00:54 TiMBuS joined
Whiteknight I would like to merge mark_special into Parrot_gc_mark_PMC_alive_fun. Creates opportunity to simplify things and prevents an extra function call 00:55
00:55 darbelo left
Whiteknight combine that with removing all the next_for_GC stuff and do the marking immediately while we have the PMC in the cache already to examine it 00:55
chromatic mark_special can be static and inline. 00:56
Whiteknight once we get rid of all the priority marking nonsense, there isn't a lot left of that function to keep 00:57
chromatic Agreed. 00:58
Whiteknight and all PMCs are "special" now, so that whole branch can really be flattened out
at least, that I am aware
dalek rrot: r41459 | chromatic++ | trunk/src/debug.c:
[PDB] Moved two assignments to remove stack variables that give warnings about
rrot: r41460 | chromatic++ | trunk (2 files):
[GC] Improved Parrot_gc_mark_PMC_alive() and Parrot_gc_mark_STRING_alive() such

which means avoiding costly branch prediction misses in Parrot_gc_mark_PObj_alive(). As well, in the -DNDEBUG case, these macros can prevent unnecessary calls for live PMCs and *inline* the STRING marking directly, avoiding the need for function calls. This produced 71.749% fewer icache misses in the oofib.pir benchmark.
ttbot Parrot trunk/ r41460 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/104513.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 01:02
chromatic Well that's a downer.
Whiteknight what's a downer? 01:03
purl a downer is probably at hyperarchive.lcs.mit.edu/HyperArchi...downer.hqx OR ftp://ftp.amug.org//pub/info-mac/cmp/downer.hqx
chromatic The ttbot report.
Whiteknight I wonder if some compilers are going to handle the "do if() x; while(0); syntax correctly" 01:05
01:13 s1n joined 01:14 Whiteknight joined
Whiteknight okay, that GC fix froze up miniparrot so hard that is crashed my entire computer 01:14
so...that's a downer 01:15
chromatic Yep, here too. 01:16
It's the normal case.
Infinite recursion?
purl Infinite recursion is probably not TorgoX's friend NOT TorgoX's FRIEND!!!
chromatic I think I found it. 01:22
Whiteknight w00t 01:25
finding it is fundamental
chromatic Yep, that's it. 01:26
Testing the right fix now.
Committing. 01:29
dalek rrot: r41461 | chromatic++ | trunk (2 files):
[GC] Fixed PMC marking in debugging builds by unilaterally moving the

Parrot_gc_mark_PMC_alive_fun().
01:30
Whiteknight my coretest time is up significantly 01:37
I don't remember when was the last time I tried it, probably a few days ago 01:38
chromatic Faster or slower?
Whiteknight but I was at 37s consistently last time, and 44s consistently right now
no idea why
that's like 20% worse 01:39
chromatic It'd be nice to bisect that a bit.
Whiteknight yeah, would be
chromatic Whoa, Rakudo's "Hello, world!" is some 30.28% faster since my most recent profile. 01:40
Oh, I remember why. I was benchmarking GC tunings. 01:41
It's about 4.26% faster than my best one now.
Whiteknight r41451 and r41452 don't look like they should have affected trunk 01:42
chromatic How about r41441?
Whiteknight urg, it's going to take forever to get back there 01:47
01:55 rhr joined
Whiteknight r41440 was same speed: ~44s 02:03
41441 was same
chromatic Okay, good. 02:04
Hm, not so good actually. That should have improved things.
32 or 64 bit?
Whiteknight 64 02:05
chromatic Okay.
Double the size of the initial pools in the patch for r41441.
Whiteknight those pool sizes should not be calculated using the sizeof() anything 02:07
chromatic I want to align them to page sizes.
Whiteknight right, so just make it x*pagesize
not x*pagesize/sizeof(bullshit)
chromatic I can't think of a downside to that. Agreed. 02:08
Whiteknight it's getting past my bedtime though, so I'll have to try it tomorrow 02:12
goodnight
02:24 japhb joined
dalek ose: r153 | Austin++ | wiki/Cian (2 files):
Wiki updates
02:25
02:35 janus joined
dalek ose: r154 | Austin++ | wiki/CianLanguageBasics.wiki:
Edited wiki page through web user interface.
02:35
02:53 Andy joined 02:54 rg1 joined 03:00 rhr joined 03:05 tetragon joined
dalek rrot: r41462 | chromatic++ | trunk/examples/benchmarks/oofib.pir:
[examples] Sped up oofib benchmark by 28.957%.
03:51
rrot: r41463 | chromatic++ | trunk/src/pmc/fixedstringarray.pmc:
[PMC] Optimized FixedStringArray's set_number_keyed_int() and

creation; this improves the array_access.pir benchmark performance by 13.28%.
rrot: r41464 | chromatic++ | trunk/src/pmc/fixedstringarray.pmc:
[PMC] Optimized FixedStringArray to avoid expensive conversions to and from

array_access.pir benchmark by a further 30.235%.
03:54
mikehh messages 03:56
04:11 Andy joined
dalek ose: r155 | Austin++ | trunk/ (36 files):
Moved utility classes to library root dir
04:45
rrot: r41465 | mikehh++ | trunk/include/parrot/gc_api.h:
codetest failures - indented preprocessor directives and space between parens
04:56
05:20 kyle_l5l left, kyle_l5l_ joined
mikehh All tests PASS (pre/post-config, smoke, fulltest) at r41465 - Ubuntu 9.04 amd64 05:54
partcl r744 builds on parrot r41465 - make test PASS (smolder #28048) - ubuntu 9.04 amd64 05:55
rakudo (729722a) builds on parrot r41465 - make test / make spectest (up to 28400) PASS - Ubuntu 9.04 amd64
06:05 uniejo joined
dalek rrot: r41466 | mikehh++ | trunk/config/gen/makefiles/root.in:
additional test for make fulltest (and make cover) and fix comment
06:16
06:29 iblechbot joined
treed Does anybody here remember Vera Lynn? 06:59
chromatic Does anybody here hate the implementation of the Class PMC? 07:02
treed I'm not a big fan. 07:04
But... mostly because I can't subclass it from PIR.
chromatic It's fairly ugly. 07:05
It's also inefficient. 07:06
treed Inefficient is the Object Model as I've created it in Cardinal, largely because I can't subclass the PMC.
Each class has a parrot class and a metaclass.
And the metaclass also has a parrot class.
And each of those has a parent class.
I haven't even begun on eigenclasses. 07:07
Shit's *nasty*.
szbalint does anyone hate it? I bet it's not hard to find devs to gang up on old and lonely facets of code :)
chromatic At least Ruby is cleaner than Perl... okay, sorry. I can't keep a straight face here.
moritz ;-) 07:08
treed Cleaner than Perl5, sure.
chromatic Wow. Vestigial variables in this code. 07:09
treed had to actually start using P5 at work.
Banged my head against the desk for a whole afternoon.
Fortunately, Tene's awesome.
07:23 donaldh joined 07:25 fperrad joined
chromatic treed, do you ever have problems with "Object must be created by a class." exceptions? 07:30
treed In what? 07:34
purl IN EXCELSIS DEO
treed I don't recall having seen that before. 07:35
chromatic Just curious about the subclass of Class problems. 07:36
Austin I've hit that one a few times. I think it was while I was getting my brain around the whole class vs. object distinction. 07:37
treed I can't recall what the error was.
Tene might know. 07:41
I think I actually started doing Cardinal Classes as has-a under the general assumption that subclassing PMCs has problems.
Tene actually tested it after he found that out, IIRC.
And found that there are, indeed, problems with subclassinc parrot;Class. 07:42
chromatic I'm not surprised. 07:44
08:02 JimmyZ joined
JimmyZ Is parrot.org down? 08:02
chromatic Looks like it. 08:03
dukeleto 'ello 08:30
08:30 payload joined
dukeleto it was getting hammered by search engines this morning, i think someone contact osu support 08:31
yet another reason for git
chromatic Except I can't dcommit.
dukeleto chromatic: you are thinking git-svn
chromatic True. 08:32
dukeleto chromatic: if we were on git, everyone could still currently commit to their local branches, until the master repo came up
we have a GitObjections page, should we have a WhyGitIsAwesome page? 08:33
everyone could also pull in each others branches that were hosted on other git mirrors
the main repo doesn't stop any development with git, because a "main repo" is only by convention 08:34
s/the main repo/the main repo going down/
chromatic: i have euler_bench setup to test every released version of parrot against each other. 1.6.0 has the fasted interpreter load time, by about 3x than 0.9.0 08:36
chromatic That measures only startup? 08:37
dukeleto chromatic: we have an euler problem 000 that measures interpreter startup, i will give you the raw numbers in a sec 08:38
1.3.0-1.6.0 are all about the same time to start up 08:39
chromatic HEAD should be faster.
dukeleto actually, 1.3.0 seems to be just ever so slightly faster than 1.6.0
chromatic: i can add trunk to the run 08:40
chromatic That'd be handy.
dukeleto chromatic: they are all compiled with "--optimized"
chromatic Good. 08:42
dukeleto i am going to have to use r41351 (what i have) since the server is down
i think i got cachegrind working too, but we will have to save that for tomorrow. i am compiling an optimized trunk now 08:44
chromatic The server's back up now. 08:45
dalek rrot: r41467 | chromatic++ | trunk/src/runcore/main.c:
[runcores] Changed the default runcore to the fast runcore for all builds, not
08:46
rrot: r41468 | chromatic++ | trunk/src/pmc/class.pmc:
[PMC] Tidied Class PMC's add_parent slightly. It performs less useless work
rrot: r41469 | chromatic++ | trunk/src/pmc/class.pmc:
[PMC] Simplified Class PMC's remove_parent() by replacing manual array resizing

parents.
purl it has been said that parents is a week at least, to be sure
rrot: r41470 | chromatic++ | trunk/src/pmc/class.pmc:
[PMC] Hoisted otherwise duplicate code into static calculate_mro() function.
rrot: r41471 | chromatic++ | trunk/src/pmc/class.pmc:
[PMC] Tidied Class PMC; no functional changes.
szbalint purl still triggers to dalek :S 08:47
purl szbalint: what?
nopaste "dukeleto" at 69.64.235.54 pasted "Euler_Bench #000 for all released versions of Parrot+trunk (intrepeter load time)" (13 lines) at nopaste.snit.ch/18054 09:05
dukeleto looks like 1.6.0 is faster than r41351 by a smidgin 09:06
chromatic Hopefully trunk will beat it back. 09:07
dukeleto chromatic: ok, will check latest trunk, then sleep 09:08
chromatic Ditto.
09:10 bacek joined
bacek o hai 09:10
dukeleto waves at bacek with one foot in his bed 09:11
bacek dukeleto: at least it's not grave :)
chromatic No, but it is serious.
purl okay, chromatic.
dukeleto chromatic: compiling an optimized r41471 now 09:13
bacek It was a big startup time drop in 1.1 09:18
Like 3x times. Looks good
chromatic That was removing PARROT_EXPORT from all vtable C functions.
bacek Ah! I remember it! :) 09:19
dalek rrot: r41472 | chromatic++ | trunk/src (3 files):
[GC] Replaced more Parrot_gc_mark_PObj_alive() with proper typed versions,
chromatic That halved startup time.
We did something else to improve startup time, but I don't remember what gave us the extra 17%.
bacek Anyway. Overall picture is good. 09:20
09:20 iblechbot joined
bacek We just need to remove more PARROT_EXPORTs 09:20
chromatic I wonder if there's a linker option to hide symbols linking against other shared libraries. 09:21
Does that make any sense?
bacek I don't think so... 09:22
09:24 masak joined
chromatic 15% of our symbols visible from nm -g come from libc or gmp. 09:25
bacek Bah... git-svn can't rebase branches properly...
nopaste "dukeleto" at 69.64.235.54 pasted "Euler_Bench #000 for all released versior41472 Parrot+trunk (intrepeter load time)" (12 lines) at nopaste.snit.ch/18056
dukeleto it pretty freakin' close 09:26
dukeleto calls it a night
chromatic: let me know what other data would be useful for ya
chromatic 32-bit or 64-bit machine, dukeleto?
bacek dukeleto: what about real performance not startup time? 09:28
dukeleto chromatic: mbp, so 32-bit binaries, i guess
chromatic 32-bit pointers?
dukeleto chromatic: parrot --version doesn't say anything about it
chromatic Interesting data either way. Thanks!
dukeleto chromatic: does the output of perl Configure.pl tell you the bit-ness? 09:29
chromatic: yes, i will hook it up to some type of graph next
chromatic look for 'ptrsize' in config_lib.pasm 09:30
dukeleto chromatic: 4
chromatic Okay. Good to know.
dukeleto bacek: will give more reports on the other euler bench problems tomorrow, but i did a few preliminary ones and 1.6.0 was doing well. i haven't tried trunk yet on those. 09:32
09:37 allison joined 09:52 gaz joined
dalek rrot: r41473 | bacek++ | branches/pcc_arg_unify_2_0/lib/Parrot/Pmc2c/PCCMETHOD.pm:
Fix access of Context fields in PCCMETHOD.pm
10:10
rrot: r41474 | bacek++ | branches/pcc_arg_unify_2_0/include/parrot/call.h:
Fix ASSERT_SIG_PMC macro merge conflict.
10:28
rrot: r41475 | bacek++ | branches/pcc_arg_unify_2_0/src (2 files):
Various merge fixes
bacek Ok. make corevm done 10:31
Epicly failing apparently.
10:47 mokurai left 11:07 quek joined 11:09 whoppix joined 11:17 cosimo joined
dalek rrot: r41476 | bacek++ | branches/pcc_arg_unify_2_0 (7 files):
Recover more stuff from pcc_arg_unify branch.
11:19
11:53 whiteknight joined, payload joined
whiteknight good morning parrot 11:54
dalek rrot: r41477 | bacek++ | branches/pcc_arg_unify_2_0 (7 files):
Revert "Recover more stuff from pcc_arg_unify branch." bacek-- using
11:56
whiteknight bacek: what is the plan for pcc_arg_unify_2_0 12:02
?
bacek whiteknight: make it work...
whiteknight so you're copying changes from pcc_arg_unify to the new branch which is updated to newer trunk? 12:03
bacek it's freaking big diff between pcc_arg_unify and trunk...
whiteknight yeah it is 12:04
lots of branches have landed in trunk since pcc_arg_unify was created
bacek I'm actually reviewing all merge conflicts that happened. And looks like I resolved them incorrectly
whiteknight ok
I'm looking over your diff now 12:05
allison is supposed to be writing up a design document for the branch now and should have it posted soon
once that gets posted, we can all make it work
12:13 payload joined 12:14 Austin joined
Austin Good morning, #parrot 12:15
whiteknight good morning Austin 12:16
Austin Today, I hate ... PGE
whiteknight is this what we are doing now first thing in the morning? Saying something we hate?
Austin Dude, this is *so* not the first thing in the morning. 12:17
This is an hour or so into a wumpus hunt.
whiteknight okay, well I haven't witnessed all the non-hate items
so which wumpus are you hunting? 12:18
Austin Here's the bug: $S1 = ".sub anon :anon\\n.param pmc match\\n\\t## Remember end of last ws, in case rule is called 2x\\n\\t\\t$P0 = get_global '$!ws'\\n\\t
Do you see it?
Hint: It's about 8 characters in. 12:19
whiteknight no
still no
Austin Ahh. Well, do you see the .namespace directive?
whiteknight no
Austin THAT'S THE BUG 12:20
whiteknight the bug is...in my brain?
Austin PGE generates all in-line code using this anon-sub eval approach, and it all goes into the root namespace, because there's no .namespace generated for the sub
whiteknight oh, ouch. You can't specify like a :namespace() argument anywhere? 12:21
Austin Nerp. You just type {{ say "Hello, world!" }} and PGE does the rest. 12:22
whiteknight so what you want really is {{ .namespace 'Foo'\\nsayHello, World!" }}?
Austin So I spent 40 minutes hunting for the right incarnation of 07get_hll_global [ 'close' ; 'Grammar' ], '$!ws' only to discover that it's not there.
whiteknight well that is definitely TEH SUXX0RS 12:23
Austin It's actually in 7 get_hll_global '$!ws' - the root variable
So now that I know it, it's easy to work around. But man, it's so wrong.
whiteknight that sounds ot me like a definite bug 12:24
ping pmichaud about it, or create a ticket 12:25
purl I can't find pmichaud in the DNS.
Austin Yeah. I've gotta talk to pmichaud and get his take on it, but I think there's no good reason (other than "it's not worth doing") for having it in the root nsp
whiteknight THAT'S CAUSE YOU'RE RETARDED PURL
That doesn't make any sense to me, why would inline PIR in the grammar be evaled? 12:26
why wouldn't it just be added...inline?
12:26 JimmyZ joined
Austin Because treating it as a sub let's you use it for control flow. Whereas inlining it would require dark magic to manage control flow. 12:27
*let's = lets 12:28
And once you've got <{{ ... }}> doing control flow by eval'ing an anon sub, it's pretty easy to reuse the code for {{ ... }} 12:29
I'd ask, "How was the funeral?" except that I'm pretty sure I know. So, other than the last act, Mrs. Lincoln, what did you think of the play? 12:30
(Or, to put it another way, how are you?) 12:32
whiteknight Doing well, thanks for asking 12:34
it was my grandfather, but the death wasn't any sort of surprise. He was given 2 years to live 4.5 years ago
12:34 payload1 joined
Austin So what have you been up to this week? 12:34
whiteknight mostly personal/family stuff. Haven't had any chance to get hackin 12:36
although I have a huge open window this weekend to code, so I'm looking forward to that
Austin :) 12:37
Did you take the week off from work?
I don't know if you remember a little dialogue you and I had the other day, about (mis)using the #include facility for other purposes in my compiler. 12:40
But it's come to that, now.
bacek oookey... 12:41
Austin I went ahead and wrote the code that creates an empty sub. It was like 40 lines, and a nightmare. 12:42
bacek I reviewed diff between pcc_arg_unify_2_0 and pcc_arg_unify. Unfortunately I can't find anything suspicious.
bacek@icering:~/src/parrot$ git diff pcc_arg_unify_local |wc -l
108642
But I definitely missed something...
Austin chortles at baceks diffitude
Well, it's always in the last place you look. So try line 108640, give or take. 12:43
whiteknight Austin: only took a day off from work 12:45
and came back to a TODO list written in blood on my desk
Austin Well, I guess that means it's important.
Or they would not have used blood. 12:46
whiteknight right, we do have plenty of markers here 12:47
12:52 bluescreen joined 13:11 JimmyZ_ joined 13:23 payload joined 13:34 zerhash joined 13:41 bkuhn joined 13:44 bacek joined
bacek bah. 13:45
13:45 iblechbot joined
bacek Original branch failing in same way... 13:45
bacek spent few hours for almost nothing...
whiteknight time spent on it is not wasted 13:50
what exactly are the failures?
nopaste "bacek" at 122.110.46.45 pasted "pcc_arg_unify failures" (137 lines) at nopaste.snit.ch/18060 13:51
whiteknight oh, great
bacek In nutshell - it's really broken.
whiteknight looking only at the diff, I suspect there is an issue in Parrot_mmd_build_type_tuple_from_sig_obj 13:52
it doesn't look like it is calculating tuple_size anymore 13:53
bacek diff between trunk and branch? Or 2 branches?
whiteknight looking at the complete diff of pcc_arg_unify_2_0 from the time it was created
I need to really look at the source code to make sure 13:55
rg1 msg chromatic r41470 broke the build on sparc (you missed a return statement when you made calculate_mro void)
purl Message for chromatic stored.
whiteknight actually nevermind, it looks like tuple_size isn't used anywhere anymore 13:59
moritz kill it! 14:00
masak its refcount is down to 0, so... 14:06
whiteknight really needs to read the calling conventions PDD again. 14:10
...nevermind, PDD03 doesn't answer any of the questions I had 14:11
there actually doesn't appear to be any documentation anywhere about set_args, get_params, set_returns and get_results 14:14
14:15 Andy joined
bacek whiteknight: pdd03. Line 28 14:16
anyway, $bedtime 14:17
bacek wave from tomorrow 14:18
whiteknight thanks
goodnight
I was hoping for a pasm code example here, but I guess this will have to do
jrtayloriv bacek->sleep(8, "dreams of bacon cheeseburgers");
whiteknight if we had a syntax for PMC aggregate literals in PASM code, the set_* and get_* opcodes would be much more efficient 14:20
goddamn the pcc system is a big damn mess 14:22
14:27 elmex joined 14:31 davidfetter joined
dalek a: d65c92e | fperrad++ | src/pmc/lua (5 files):
use Parrot_gc_mark_PMC_alive & Parrot_gc_mark_STRING_alive
14:32
14:33 Psyche^ joined, theory joined 14:42 JimmyZ_ joined
dalek rrot: r41478 | NotFound++ | trunk/src (2 files):
[cage] c++ required cast and returnning a value in void function
14:52
15:11 payload joined
pmichaud okay, should nqp be installed as "parrot-nqp" or as "parrot_nqp" ? 15:11
PDD30:76 gives "parrot-python" as an example, but none of the other parrot* tools use hyphens. 15:12
dukeleto pmichaud: change the docs to say parrot_python? 15:15
purl dukeleto: that doesn't look right
pmichaud that would seem to be most consistent 15:16
I'll do that for now.
dukeleto pmichaud: i am sure asking allison about it would be a good idea too, or at least parrot-dev 15:17
pmichaud looking for use of - versus _ in my /usr/bin/ directory is somewhat enlightening. :) 15:18
i.e., it's apt-get and not apt_get
and ssh-keygen and not ssh_keygen
moritz 745 with -, 200 with _ here
NotFound Given our commitment with unicode, meybe we should use a cuneiform character or something. 15:19
pmichaud 312 versus 54 here
moritz wow, I should really clean up my system at some point ;-)
pmichaud yes, I just did a reinstall last week so mine is fairly clean at the moment :) 15:20
jonathan moritz: Ain't the directory called "bin" 'cus you throw all your trash in it? ;-)
moritz jonathan: ;-)
mikehh NotFound - I made identical changes you did in r41478 - I just wasn't happy about the Class.pmc return; - but it passes all tests 15:26
NotFound: I was going to ask you about that but you did it already 15:28
All tests PASS (pre/post-config, test, fulltest) at r41478 - Ubuntu 9.04 amd64 15:32
pmichaud about now is when I really wish parrot was using git. Maybe I should give git-svn a try. 15:33
(working on new grammar engine stuff)
NotFound mikehh: I did the same, looked if it passed the tests. 15:35
pmichaud (git-svn) bah, too much trouble. 15:36
NotFound mikehh: the other branches don't return anything, so I supposed it was just a mistake not deleting that.
whiteknight I tried git-svn at one point, I don't remember why I gave it up 15:52
tewk pmichaud, git-svn is really easy 15:54
pmichaud I'd need to find an existing mirror or build my own
whiteknight somebody had such a mirror. I want to say it was moritz but I could be wrong
pmichaud right.
I'll just stick with svn and carp about it.
whiteknight yay!
moritz has one, yes 15:55
moritz.faui2k3.org/files/parrot-all...svn.tar.gz
tewk git svn clone -r 41478 svn.parrot.org/parrot/trunk 15:56
will just clone the head.
I'd like to follow your new grammar engine stuff with git. 15:57
you could create a local branch from git-svn and push that to git-hub
pmichaud if I create a local branch from git-svn and place it on github, how hard will it be to get changes back into the parrot svn repo? 15:58
or to keep it up-to-date with parrot trunk?
tewk I do it all the time I can send you a couple of scripts. 16:00
pmichaud that would help
in many ways I'd prefer to develop in my own github account
16:00 MoC joined
pmichaud I just need to know 16:00
(1) how to pull changes from parrot trunk 16:01
tewk Basically, I continually rebase my changes on top of git-svn, I have a script that does that.
script comming
pmichaud (2) when we're done developing, how to push the new features back to parrot repo
if #2 ends up just being "build a huge diff and apply that to parrot svn", I'd be okay with that, too.
whiteknight it sort of stinks that we have to bend over backwards like this to develop in a way we like 16:02
pmichaud whiteknight: I liked your article on the topic :)
whiteknight thanks! It took me like 4 days to write i
it
moritz pmichaud: (1) can be done with dukeleto's git mirror on github, and git-cherry-pick
pmichaud moritz: that sounds like a pain
tewk git svn dcommit will push changes back to parrot svn, assuming you're rebased on-top of git-svn 16:03
moritz pmichaud: it depends on how many changes you want to pull
pmichaud moritz: all of them
I want to stay sync'd with parrot trunk
tewk yeah you have to develop ontop of git-svn to make pushing back to svn easy
pmichaud start by git svn clone -r 41478 svn.parrot.org/parrot/trunk
pmichaud can I just say "head" instead of "41478"? 16:05
16:05 ruoso joined
pmichaud looks like I have to install git-svn, too :) 16:05
tewk apt-get install git-svn 16:06
pmichaud did that.
looks like you have to use the explicit rev number
cloning repo now 16:07
okay, clone done 16:08
cotto_w0rk helo 16:09
tewk git checkout -b new_pge --track remotes/git-svn 16:10
pmichaud ...why the branch?
nopaste "tewk" at 155.98.68.48 pasted "rebase local git changes on top of latest SVN HEAD" (18 lines) at nopaste.snit.ch/18061 16:11
tewk pmichaud, you don't have to you can just use master
pmichaud that would be my preference for now 16:12
I'd like to know the minimum steps needed to get things to work. I can embellish from there.
tewk All that script does is stash local working directory changes while it rebases your work on top of the latest head, and then it pops the local working directory changes back off the stash stack and away you go. 16:13
pmichaud where am I fetching from, in that case?
tewk Parrot SVN
purl Parrot SVN is svn.perl.org/parrot/trunk
moritz if you have a clean working copy, 'git svn rebase' is enough
tewk note its a "git svn fetch" 16:14
pmichaud so, with this approach should I also be pushing to github, or no?
tewk pmichaud, no not yet.
pmichaud so everything stays local?
tewk yeah, but you can push master to git-hub to share your changes 16:15
whiteknight so "git svn fetch" to update from the SVN repo, "git push" to push it to github, and "git dcommit" to commit to SVN repo? 16:16
tewk you will need to push -f to git-hub since you are rebasing on top of PARROT SVN
whiteknight, yes
whiteknight that sounds easy enough
pmichaud I don't understand why -f is needed there
tewk the pushes to github will be non-fast-foward pushes so people
moritz pmichaud: because 'git svn rebase' rewrite history 16:17
tewk because you change history every time you rebase your local changes on top of the latest from PARROT SVN
pmichaud okay.
tewk people pulling from github should use "git pull --rebase"
pmichaud let me try a couple of things
16:18 Zak joined
tewk Because you will be pushing non-fast-foward changes to github 16:18
whiteknight I'm seeing some failed smoke reports on darwin and win32
pmichaud if this is going to cause more people to say "git is more complicated than svn", I'd prefer to not do it
I don't want to provide more reasons for the stick-with-svn crowd to mispoint to "git is harder than svn" 16:19
whiteknight I think we're all intelligent to know that the complication stems from the interplay between git and svn, not from either inividually
pmichaud whiteknight: I'm not so sure about that.
moritz pmichaud: then staying with svn for now is easier
whiteknight I'm smart enough to know that government needs to stay out of my medicare, I'm smart enough to know that git-svn is different beast from git 16:20
pmichaud whiteknight: proving my point, eh? ;-)
whiteknight "Something new and different! Kill it!"
tewk pmichaud, you are developing a patch set on top of the latest SVN HEAD. This workflow is a little more complicated than normal git workflow, but it is a lot easier than maintaing patches or continually rebasing SVN branches to stay up to date with trunk.,
pmichaud tewk: ...except I'm not planning to do svn branches. 16:21
at least, I don't have a need to do svn branches yet.
tewk Yes but thats the VERY BAD alternative to git-svn
You shouldn't do svn-branches
pmichaud huh? 16:22
tewk I'm, agreeing with you.
pmichaud if it's easier to build in svn trunk than to use git-svn, then I should go with that.
The downside is that it's harder for me to make intermediate commits available for others to see. 16:23
for the early stages I could probably do things in an svn branch, and then merge back to trunk when there's a bit more substantial stuff. 16:24
dukeleto tewk: git svn fetch pulls all remote branches while git svn rebase only pulls those needed for the current branch
pmichaud and then work in trunk from there. there shouldn't be many conflicts
tewk dukeleto, I was trying to eliminate network io, when rebasing multiple local branches, looks like git svn was smarter than me. 16:28
dukeleto tewk: it is scare like that 16:31
s/scare/scary/
16:32 jan joined
dalek rrot: r41479 | pmichaud++ | branches/pct-rx:
[pct-rx] Create a new branch for initial regex refactor work
16:32
tewk dukeleto, its the best patch-set workflow solution I've found, I love it, and have used it everyday for over a year. 16:33
rebasing is a source control "comming of age" skill, once you get it, its wonderfull. 16:34
dukeleto tewk: your script looks useful 16:35
tewk: which branch were you telling pmichaud to use git push -f on ? 16:36
tewk his local master branch, when he wants to push it to github. 16:37
dukeleto tewk: he was pushing to the master github branch then, or creating a new one? I don't think -f should be used on rakudo's master branch on github
tewk dukeleto, Right, this is a different project, it should have its own github repository. 16:38
dukeleto unless it is absolutely necessary and everyone is notified that they need git pull --rebase
tewk: gotcha
tewk And it should be publicly known that the "projectX" github repo is a patch-set continually rebased against an upstream master. 16:39
Parrot SVN in this case./ 16:40
dukeleto tewk: i have a git alias similar to your script: sup = !git stash && git svn rebase && git stash pop 16:41
tewk Looks like pmichaud decided to stick with SVN, which in this case should be very much trouble.
16:42 darbelo joined
tewk dukeleto, yours is much more concise. I was learning git and git-svn when I wrote mine. 16:43
dukeleto tewk: yours will be easier to modify to do more complicated things, and i have a bug. 16:45
if there is nothing to stash, my script pops the *previous* element on the stash, so it only works properly if there is actually something to stash 16:46
tewk: your code goes the extra mile to check that, which is good.
tewk dukeleto, I knew there was a reason I spent time figuring out how to detect changes in the working-dir. 16:51
Now that I think about it, I think I started with your code and ended up with my solution. 16:52
Mine started as a bash alias, but same difference
16:57 particle joined
dukeleto tewk: i could fix it by stashing into a named stash, and then popping it. if the named stash isn't there, the pop should be a noop 17:00
i'm a poet and i don't know it
NotFound Stashing into a stash... Du-du-bi-du-bi.... 17:04
17:05 joeri joined
dalek rrot: r41480 | darbelo++ | trunk (3 files):
[pmc2c] Error out if the pmclass declaration differs form the pmc file's basename. This was previously a warning.

Remove item from DEPRECATED.pod
17:11
TT #1060 closed by NotFound++: Inconsistent test failures in t/op/annotate.t 17:16
17:25 leto joined 17:30 mokurai joined
dalek ose: r156 | Austin++ | trunk/ (20 files):
NOT WORKING: Refactored Node, moved a bunch of stuff into Types, added
17:32
TT #665 closed by darbelo++: Pmc2c gets confused when name in "pmclass" line mismatches the filename 17:39
17:41 zerhash joined 17:51 chromatic joined 17:57 kyle joined 18:04 kjeldahl joined 18:06 mberends joined 18:08 cotto_work joined
cotto_work it's quiet 18:40
purl yeah... TOO quiet...
whiteknight MAKE SOME NOISE
cotto_work gjnaiohawjndbnkljfaljbl;dfml;awnghq;jgnasl;gkl;aehb;laejkl;sajahgtukwb
whiteknight I've heard people say Perl is like line noise 18:41
SO MAKE SOME PERL
darbelo Are spam tickets noise? 19:01
I can make a lot of those!
19:01 cotto_work joined
dalek TT #1063 created by darbelo++: pmc2c tests need review. 19:06
19:07 quek joined
darbelo cotto_work: What state was the pmc_pct branch in when it was abandoned? 19:11
cotto_work darbelo, I don't fully recall, but I know that it'll be nearly trivial to bring it in sync with trunk. 19:19
btw, I'm wearing my GSoC shirt.
cotto_work is happy
darbelo is sill waiting on the cotton.
s/sill/still/ 19:20
19:21 cconstantine joined
particle forgot how to match non-newline char with qr//msx 19:22
darbelo [^\\n] ? 19:23
particle ah, i suppose that'll have to do. \\N wasn't working, as that's perl 6 :) 19:24
19:25 AndyA joined
Tene particle: [^\\v] ? 19:25
chromatic Check this, whiteknight.
whiteknight check check it 19:26
chromatic If we allocate all arenas on megabyte (or power-of-two, but let's megabyte) boundaries, we can get the arena holding any PObj with a pointer mask of the low bits.
We can move the GC live/gray/free information into the arena structure and out of the PObj flags. 19:27
It costs a pointer mask more to get at the flags, but during GC (especially stop the world GC), we're not churning the L1/L2 caches with random access patterns.
whiteknight that's interesting 19:28
simplifies the stack-marking code because we can check if a pointer is a PMC with a drastically simplified calculation 19:29
chromatic I didn't even think of that.
whiteknight is there any good way to guarantee that the OS will return us an arena that's aligned on a megabyte boundary? 19:30
chromatic I'm not sure. 19:31
Tene whiteknight: did you ever make a ticket with io cleanups tasklist?
whiteknight Tene: shit, no. I'm retarded
I SWEAR I'll do it tonight
Tene whiteknight: I haven't had any time yet, due to family drama, so no problem on my end. :)
So no hurries. 19:32
whiteknight (family drama) same here.
chromatic posix_memalign?
whiteknight is win32 going to have that? 19:33
and I wonder what the performance of that is compared to a bare malloc 19:34
chromatic mmap() may be easier.
Tene we're not going to be allocating arenas that frequently, are we?
darbelo mmap, (and most other memory allocation) is randomized on OpenBSD. So make sure you have fallback mechanism. 19:35
chromatic OpenBSD doesn't let you specify the address as the first argument? 19:36
darbelo It does, sure. But it ignores it.
chromatic Ah, POSIX... so full of promise and so useless in practice. 19:37
darbelo From the man page: If addr is non-zero, it is used as a hint to the system. (As a convenience to the system, the actual address of the region may differ from the address supplied.)
whiteknight Another idea that's great in theory 19:39
if only operating systems could develop, and actually implement, reasonable standards
darbelo For the record. That is standards-compliant mmap() behaviour as far as I know. 19:40
cconstantine Hey guys, I'm thinking of making a new toy language in parrot on my mac. I have macports and appear to have install parrot (the runtime) with 'sudo port install parrot'. Is it possible to get the devel tools also? 19:42
darbelo Hmm. MAP_FIXED could save you from the address randomization. 19:44
chromatic cconstantine, is there a port called parrot-dev?
I'd rather use MAP_FIXED than sbrk. 19:45
cconstantine chromatic: nope, no port-dev
when I do a 'port search parrot' I get a 'parrot @1.0.0 (lang, devel)'
I'm guessing the lang,devel are options/configurations and I'm further guessing I have lang, but I have no idea how to get to devel 19:46
darbelo The OpenBSD sbrk manpage: The brk() and sbrk() functions are historical curiosities left over from earlier days before the advent of virtual memory management.
Tene cconstantine: 1.0.0 is very old. 19:47
cconstantine :/
so, uninstall the macport and do the manual download thing?
darbelo That would probably be better.
cconstantine k
compiling a checkout from svn... hopefully that is recent enough ;) 19:54
Tene :)
cconstantine: what sort of language are you interested in?
darbelo You could have also used the latest release too. We release every month.
But svn is better than the last release already :) 19:55
cotto_work did allison ever post that doc on pcc_rewiring? 20:05
darbelo I think she was unvailable until tomorrow. 20:06
whiteknight cotto_work: yeah, I think it was due to land Saturday morning 20:21
I'm too excited about these refactors to just wait around forever 20:23
cconstantine Tene: a toy lisp 20:24
Tene: I don't expect it to be really useful, but I need a project
darbelo Why does everyone start with lisp?
cconstantine loves lisp. 20:25
Tene cconstantine: you might want to look at my scheme: github.com/tene/steme/
cconstantine Tene: thanks
Tene cconstantine: or rindolf's fork of it, spark: bitbucket.org/shlomif/spark/overview/
cconstantine hehe
I'll probably just fork it
darbelo jrtayloriv was also working on a scheme recently. 20:26
cconstantine ... or borrow some code... I'm not really looking *for* a lisp, I'm looking to *implement* one
20:26 dukeleto joined
dukeleto 'ello 20:26
Tene hi leto
darbelo Well, PCT will probably make it very easy.
Tene cconstantine: Yes, steme is very basic. Just a s-exp parser and a few builtins. 20:27
cconstantine: it's what I use for my PCT presentations. :)
20:27 ash_ joined
cconstantine hehe 20:27
Tene So, IMO, it's a good first project with PCT.
cconstantine I started on llvm... but I don't really want to write a GC, and interop with both perl and python would be really nice 20:28
I got as far as lex/bison gramar stuffs... didn't get much further
Tene ew, they're no fun compared to PGE. :)
cconstantine it was shades of my undergrad compilers class 20:29
I've spent a grand-total of maybe an hour looking at parrot so I have no idea how easy it'll be, but the docs all make it sound like it's easier 20:30
and more stable... llvm was scary
whiteknight it's rediculously easy
cconstantine llvm wasn't scary for the tech... it was scary because of the docs
whiteknight we're actually going to be using LLVM as our JIT backend eventually. So you'll get all the power and none of the hassle
cconstantine awesome 20:31
I like to hear that
whiteknight yeah, the docs are lousy from what I've seen
of course, our docs aren't much better
cconstantine I don't think I really want an LL vm, I really want a HL vm
Tene cconstantine: The commit log of steme is intended to be an easy intro to building a compiler on Parrot, so should be easy to read.
cconstantine gasps!
Tene: thanks :)
ash_ whiteknight: I have been doing some more work with the llvm-c bindings, they are pretty comprehensive but not at all as easy as C++ 20:32
darbelo say, does steme do macros?
Tene darbelo: No, but I've been doing a lot of thinking about how to do them in PGE. 20:33
cconstantine PGE =? Perl Grammar Engine?
Tene Parrot Grammar Engine
cconstantine ah
whiteknight ash_: we can handle things that aren't easy. So long as it's possible we will make it work
darbelo P usually means Parrot on parrot :) 20:34
cconstantine ok
ash_ when I finish translating the llvm-jit example to C (so it can load llvm-bitcode dynaimcally and jit it) i'll send you a link to show you , its not as documented as it should be though
Tene darbelo: any specific reason you're asking?
darbelo: I'm waiting until after pmichaud's upcoming PGE refactor/rewrite to start playing with it.
whiteknight ash_: Hard part is just figuring out how we want to implement the interface. Do we want a "compile" op, or do we want a "JITEngine" PMC, or something different entirely?
ash_ i am basing most of my translation from the ocaml bindings llvm.org/svn/llvm-project/llvm/tags...ngs/ocaml/
beats me, i am just trying to figure out how it all works together and how it all works with C at the moment 20:35
but i think if you translated the PASM opt codes into JIT operations and ran that it would be pretty efficient 20:36
chromatic Maybe we need a tracing runcore that can hand off a stream of ops to a JIT. 20:37
ash_ but also, the llvm may not be the only way to do a JIT system, once I get a something working with it that JIT's then can try comparing it to libjit 20:40
darbelo Tene: cconstantine mentioned writing a lisp, and that got me curious. I don't really know that much PCT.
What tlittle PCT I know makes me think they'd be tough to get right. 20:43
Tene darbelo: not so much, no.
ash_ whiteknight: blog.fallingsnow.net/2008/05/23/sim...with-llvm/ is what i am doing my example based off of, i have the C++ one working, but I am trying to tralsnate the C++ parts into C, i think its one of the better examples of how to use the llvm-jit system 20:44
whiteknight ash_: Yeah, I printed that out yesterday when you mentioned it and have been reading it intently
darbelo As I said, I don't really know that much PCT.
whiteknight darbelo: it's crazy easy. You should write a small compiler to test it out
Tene darbelo: after you parse a macro definition, you compile it into a match and register it in some global or lexical variable, and then in your parser, you have a rule that checks the global or lexical or whatever variable for alternatives to try. 20:45
Approximately.
whiteknight chromatic: we're going to want an API for it that allows JITing methods as a unit, creating thunks for NCI functions, and compiling programs as a whole for AOT 20:46
ash_ if you run it, it shows the various dis assembled version of the bitcode, its kind of cool seeing how it translates down then how the JIT + optimizations translate it further into 1 body execution with all the functions inlined, it cut the code down significantly when you compare the original 3 functions to the final one that resulted in an inline
whiteknight so an op is probably not right for all that (although certainly interesting possibility!), but a PMC might be
darbelo Hmm. Simpler than I expected. PCT++ 20:47
whiteknight ahs_: yeah, it is a cool example
pmichaud pct will soon get even simpler :)
darbelo pmichaud++ too, then.
Tene darbelo: none of those are actually trivial... I'm hoping that once PGE gets protoregexes, I can just compile macros down into a protoregex.
pmichaud in particular, we should be able to get rid of the Perl6Grammar steps 20:48
whiteknight yeah, soon you'll be able to write a compiler with crayons, construction paper, glue, and elbow noodles
don't get no easier then that
Tene I haven't looked at that in depth yet, though.
pmichaud also, "PGE" may disappear as a standalone component (more) 20:49
more precisely, the new protoregex features will show up in PCT::Regex instead of in PGE
(PGE will continue to exist to provide backwards compat for existing projects)
whiteknight I have a lot of updating to do for Matrixy anyway, so I'll gladly bump it up to use the new stuff 20:50
haven't done any development on it in months, so it needs a lot of TLC
jrtayloriv Anyone know who maintains the PIR .el (emacs lisp) file? 20:51
whiteknight ...nobody?
darbelo jrtayloriv: Firs sucker to ask ;) 20:52
whiteknight leaves. later 20:53
jrtayloriv grrrrrr .... having really annoying tab issues, and I have yet to take the time to learn how to write emacs lisp yet ... but I guess I'll have more luck with all of the reading I've been doing on Scheme lately though ;-)
particle jrtayloriv: svn log is your friend 20:58
or svn blame for that matter
jrtayloriv particle, Ah -- thanks :)
21:01 bluescreen joined
jrtayloriv I'd like to initialize the environment of my compiler with several "builtin" procedures. But I'd like them to be stored in lexical variables that hold references to anonymous subroutines. How can I create a big file that just initializes a bunch of variables like this inside the top PAST::Block? 21:09
(Sorry if that doesn't make sense, I'm still trying to piece together exactly what it is that I want to do here ...)
I could do it by just writing it into the actions.pm obviously, but I'm trying not to clutter it up with hundreds of lines of initialization code. 21:11
I'm looking for some way to just define those variables inside of that PAST::Block from an external file ... 21:12
I see builtins.pir, but I don't think that does what I want (correct me, if I'm wrong about this) ... I want certain symbols (variables) to be bound to standard functions during the initialization of the environment. But those symbols can be changed to point to different procedures (or strings, lists, numbers, etc) afterwards. 21:16
21:17 cconstantine_ joined
dalek cnum-dynpmcs: r187 | darbelo++ | trunk/ (6 files):
Add copyright statements and license comments to pmc files.
21:17
21:21 bacek joined
darbelo jrtayloriv: you want to be able to rebind the names of your built in functions at runtime? 21:22
jrtayloriv darbelo, Yes, to point to either other functions or to data.
darbelo Why not construct a lookup table? 21:23
jrtayloriv So for instance 'define' is a builtin in scheme, but I can say (set! define 5), and then define just points to the constant value 5 from then on.
Well, I've already got lexical variables, which do exactly what I want (I think), so I just wanted to use those. 21:24
For instance, the way that names are resolved (don't know the "technical" term for this ...) with lexical variables in PIR is exactly how the bindings of scheme's identifiers are looked up. 21:28
darbelo So, your builtins are free-floating pieces of code, and you want to give them names at load-time. 21:29
Tene jrtayloriv: I'd just define the builtins as global functions, possibly in some alternate namespace, and then have a standard program prelude that fetches the builtins into local lexical variables.
darbelo (set! set! set!) ? 21:30
Tene IA! IA! IA! 21:31
cthulhu fhtagn!
jrtayloriv darbelo, Yes - the builtins would just be variables holding references to anonymous subs in the scope of the TOP PAST::Block. 21:33
Tene, So you mean declare them in builtins.pir as usual? 21:34
darbelo I would declare them in builtins.pir under a separate 'compiler-private' namespace.
dukeleto Tene: the hp lovecraft film festival is in Portland in 1 week :) 21:35
darbelo And then have the compiler emmit the pir to initialize those variables to the magic compiler-prive functions. 21:36
jrtayloriv darbelo, Where would I include that file to declare them in the proper scope? 21:37
bah ... I'll come back when I've done a bit more reading, so I can ask intelligent questions. Thanks for the help so far.
darbelo Include files? 21:38
Tene dukeleto: I'll be in Seattle from Sunday to Friday. 21:39
dalek a: 6749a5b | fperrad++ | src/pmc/luatable.pmc:
remove struct LuaHash (refactor with ATTR)
darbelo Hm, does lua work with an installed parrot? 21:43
jrtayloriv darbelo, Yeah, I think my problem is that I'm not grokking namespaces and scoping well enough ... or how actions.pm interacts with compiler.pir ... basically -- I'm really not even sure which questions I should be asking at this point. I'll come back when I am ;)
Tene darbelo: if not, it's a bug, and should be fixed. 21:44
darbelo I cant convince it to find my parrot_config. 21:45
But I just looked in Configure.pl and it seems to think it still lives in the parrot tree. 21:46
Ah, it has to be in the $PATH 21:48
Tene: I think some paths assume lua is still in laguages/ 21:53
Tene darbelo: oops.
darbelo INC contains: /home/darbelo/parrot/lua/t/../../../lib 21:54
making a symlink to lib in my home dir somewhat solves it, but I don't consider it a permanent solution. 21:56
:)
Oh, and the makefile half-misbehaves under non-GNU makes. 21:57
NotFound make: *** No rule to make target `t/lua-TestMore/src/Test/More.lua', needed by `Test/More.pir'. Stop.
This is with gnu make 21:58
darbelo I get that too after fixing the other stuff. 22:01
Tene does lua support modules yet? 22:03
nopaste "NotFound" at 213.96.228.50 pasted "Lua fixes for C++ build" (350 lines) at nopaste.snit.ch/18062
Tene It would be great to add inter-hll support to lua, and add it to our list of inter-compatible languages. :)
22:07 cconstantine_ joined
darbelo It needs some portability touchups in the build department. 22:13
This is Yak #42 in the shaving list. 22:14
As does anything generated with mk_language_shell.pl for that matter. 22:16
dalek rrot: r41481 | mikehh++ | trunk/config/gen/makefiles/root.in:
get make cover to run all the tests make fulltest does
22:20
Tene argh, I need to just take a full week off to work on Parrot stuff full time to trim down my tasklist. 22:24
mikehh Tene: how about a month :-} 22:25
Tene I wish.
22:34 kid51 joined 22:45 davidfetter joined 22:50 davidfetter joined
dalek rrot: r41482 | jkeenan++ | trunk/config/init/defaults.pm:
Removing old inline comment in order to resolve ļæ½rt.perl.org/rt3/Ticket/Display.html?id=41500.
22:51
22:56 Whiteknight joined
dalek rrot: r41483 | jkeenan++ | branches/library_files/lib/Parrot/Harness/DefaultTests.pm:
Eliminate t/doc/*.t -- directory no longer exists -- from @standard_tests, per comment from mikehh++ in trac.parrot.org/parrot/ticket/1061.
23:02
23:09 tokuhirom____ joined
mikehh kid51: at the moment I have got make fulltest and make cover running the same tests - see r41481 23:09
23:10 bacek joined
kid51 Okay -- but as I've worked on this TT I've realized that there are a variety of issues involved here, above and beyond Coke's original complaint. 23:11
Mainly: that our notion of what our "default tests" has stretched and become confusing over time. 23:12
A couple of years back, I would have expected @Parrot::Harness::DefaultTests::default_tests to be either: 23:13
(a) the set of tests run by default by 't/harness' without any options; 23:14
and/or
(b) the set of tests run by the most common 'make' target: 'make test'
It turns out that that array no longer describes either t/harness or make test very well. 23:15
As you note in ticket, at one point some npq tests were tacked on to 'make test'
mikehh kid51: yes - I think make test runs an initial test t/op/annotate which I might need to incorporate in make fultest/cover 23:16
kid51 ... and t/harness subtracts tests from @Parrot::Harness::DefaultTests::default_tests in its most basic operation
So I think we need some discussion of what 't/harness', 'make test', 'make fulltest', etc. *ought* to mean. 23:18
How quickly -- or, more likely, slowly -- does 'make cover' 23:19
'make cover' run?
mikehh I can run most of the tests using options like TEST_JOBS=5 - which speeds things up a lot on multicore/multithreaded systems - however you can't do that on make cover - it will blow up 23:20
kid51 I've never actually run 'make cover' -- even though I've done coverage on the configure and build tools hundreds of times. 23:21
mikehh so it takes me about an hour to run as opposed to make fulltest which takes about 10 minutes
kid51 That's what I would have expected. 23:22
mikehh you need Devel::Cover installed
kid51 When I do my configure/build tests coverage, it's probably about the same ratio
mikehh I think bacek has some script that runs it - can't find the url at the moment 23:26
23:36 chromatic joined
chromatic www.modernperlbooks.com/mt/2009/09/...ation.html 23:37
darbelo (Replace Conditional with API)++ 23:43
chromatic Having replaced runtime conditionals with APIs a few times now, I feel confident in my ability to turn a phrase. 23:46
dalek rrot: r41484 | jkeenan++ | branches/library_files/lib/Parrot/Harness/DefaultTests.pm:
Modify documentation to reflect fact that exported arrays hold paths to directories containing files, not files themselves.
23:53
TT #1064 created by brianwisti++: [PATCH] test documenting difference between $I1 and $I01