Camelia, the Perl 6 bug

IRC log for #parrot, 2008-04-23

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 TonyC joined #parrot
00:19 Coke tetragon: is this a crash resulting in a failing test?
00:20 Coke (or build)
00:20 tetragon Yes
00:20 Coke (which)
00:20 tetragon Both :-)
00:21 tetragon Build on its own, test with a patch from chromatic (but it's the same mechanism)
00:25 tetragon Ticket #53170
00:38 Coke seen chromatic?
00:38 purl chromatic was last seen on #parrot 4 hours and 47 minutes ago, saying: Any shared library that doesn't use opaque pointers is hateful to bindings writers.
00:39 chromatic I'm looking at it.
00:39 tetragon chromatic: Any hints on that watchpoint?
00:40 Coke chromatic: pick a release number that predates your earliest recent speed improvements?
00:40 Coke s/release/revision/
00:41 Coke (or a date. want to compare tcl speed; seems much better, want to prove it.)
00:42 chromatic 26920 was my first big improvement.
00:43 Coke checking...
00:49 Coke make test | optimized build | r26900 | 2m47.244s
00:49 Coke make test | optimized build | r27122 | 1m44.511s
00:49 Coke (2+47/60)/(1+44/60)
00:49 purl 1.60576923076923
00:50 Coke chromatic++
00:50 chromatic There are still more to go.
00:50 Coke mmm. just glad to know that all the slowness in partcl ain't me.
00:50 chromatic There's plenty of slowness to go around.
00:56 tetragon chromatic: For the watchpoint on cc->dynamic_state, what should it be set on so that I don't have it falling out of scope on me?
00:57 contingencyplan joined #parrot
00:57 chromatic You can sometimes do a watchpoint on the memory address.
00:57 chromatic watch *(cc->dynamic_state)
00:58 Coke 22.077 / 0.043
00:58 purl 513.418604651163
00:58 Coke yay, down to 2**9 times slower than tclsh8.5; that's a few orders of magnitude. =-)
00:58 Coke chromatic++
00:59 tetragon That still falls out of scope
00:59 particle coke: Now that the hard part is over, all you have to do is sit back, relax, and hope that San Diego Zoo officials don't notice the uncanny physical resemblance.
01:00 particle ...my onion horoscope.
01:00 chromatic At that point I usually edit the source code to add in a static pointer, set a breakpoint for the crashy one, and use the set command in the debugger, then put the watchpoint on that value.
01:00 tetragon I was just firing up a memory debugger
01:02 tetragon But it's more oriented towards finding leaks
01:03 chromatic undefined reference to `offset_fixup'
01:03 chromatic Has anyone seen that?
01:03 Infinoid particle: still odd that there are so many parrot hacker birthdays so close together
01:03 Coke sounds like something that could conceivably be related to my ops twiddling.
01:03 tetragon Closest I've seen in my build logs is "src/exec_dep.h:32: warning: ?offset_fixup? used but never defined"
01:04 chromatic That does sound familiar.  I'm building on Linux PPC.
01:05 Coke ... hurm. that is also MY horoscope.
01:05 Coke (which I'm guessing particle knew)
01:05 Infinoid and mine
01:07 dalek r27140 | jkeenan++ | gencrypto:
01:07 dalek : Patch submitted to trunk; no need to retain branch.
01:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27140
01:08 dalek r27141 | jkeenan++ | gencrypto-27092:
01:08 dalek : Branch corresponding to tag has been deleted; no need to retain tag.
01:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27141
01:10 Ademan joined #parrot
01:12 chromatic Hm, segfault when building PGE's src/Grammar_gen.pir
01:12 chromatic That should sound familiar.
01:14 tetragon Your patch in the ticket stops that instance of segfault, moving it over to sprintf tests
01:14 chromatic 0x0fc3b704 in pobject_lives (interp=0x10018040, obj=0x11) at src/gc/dod.c:190
01:14 chromatic Yeah, looking really familiar.
01:21 dalek r27142 | jkeenan++ | trunk:
01:21 dalek : Renumber tests to preserve sequence.
01:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27142
01:23 dalek r27143 | jkeenan++ | trunk:
01:23 dalek : Update (renumber) references to file name within file.
01:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27143
02:00 guru joined #parrot
02:23 chromatic Aha.
02:24 nopaste "chromatic" at 63.105.17.30 pasted "Yet Another Stack Chunk Refcounting Patch Update for tetragon" (94 lines) at http://nopaste.snit.ch/12772
02:24 chromatic tetragon, can you try this patch instead of the previous version?
02:24 Tene So, does it still seems feasible for all parrot-hosted languages to eventually be able to use all of Perl 5 CPAN?
02:25 chromatic If their semantics support it.
02:25 * Infinoid tries to imagine what the XS->parrot bridge would look like
02:25 chromatic A dog's breakfast.
02:26 chromatic Althought Nicholas had some ideas of macro redefinitions.
02:26 Tene Just making sure I'm not spreading misinformation.  Embedded Perl 5 interpreter specced for 1.0?
02:26 Infinoid XS is heavily macroized, but things have been done over so much, there's 3 ways to do everything
02:26 chromatic Not on the list I've seen yet, Tene.
02:27 Infinoid would be fun to thumb our noses at it by making all the refcounting stuff into noops, though. :)
02:27 Tene chromatic++ # questions--
02:33 * tetragon starts a build with the new patch
02:35 chromatic I'm most of the way through a full test run, and everything's golden here.
02:35 Andy joined #parrot
02:42 tetragon make completed without crash.  Now for the tests
02:51 tetragon Only the usual crashes so far
02:53 chromatic The usual crashes?
02:53 tetragon t/compilers/imcc/syn/macro 32
02:53 tetragon t/op/interp 3
02:53 tetragon t/pmc/io 1
02:53 chromatic Are those TODOs just popping up your SIGBUS window?
02:53 tetragon Are the three of the six I've hit so far
02:54 tetragon These ones are
02:55 chromatic That's a good sign.
02:56 tetragon The only non-TODO is the one I just hit, t/dynoplibs/myops.t, test 3 (which passes in spite of this)
02:58 tetragon (ticket #52222)
02:59 Zaba_ joined #parrot
03:10 tetragon Triangle still spins in the OpenGL example
03:13 chromatic I'm tracking down a similar crash in one of the Rakudo tests.
03:15 Zaba joined #parrot
03:21 Infinoid heh
03:21 Infinoid japhb: your example has become a tester's favorite :)
03:31 AndyA joined #parrot
04:02 Theory joined #parrot
04:12 tetragon joined #parrot
04:27 japhb Infinoid: :-)  And people discount the value of emotionally satisfying positive feedback ....
04:29 japhb Am I the only one whose eyes have completely glazed over by the Perl 6 type theory discussions?
04:29 chromatic_away No.
04:30 nopaste "chromatic" at 63.105.17.30 pasted "One More Stack Patch for tetragon" (148 lines) at http://nopaste.snit.ch/12773
04:30 chromatic_away This one works for me, tetragon.
04:30 tetragon chromatic_away: So the tests finished, and only the usual six crashes happened
04:31 tetragon This supercedes the previous?
04:32 chromatic_away Yes.
04:32 chromatic_away The previous gave me a crash in one of the Rakudo tests.
04:33 tetragon Of my usual six, the least reliable is t/stm/runtime.t 4.
04:33 tetragon It sometimes doesn't crash, and when it does, it isn't always the same thread
04:35 Tene make -j 2 works currently, or no?
04:35 Tene Guess i'll find out. :)
04:36 chromatic_away It should.
04:37 tetragon I haven't had any problems with -j2, beyond less readable console output during the build
04:43 tetragon Well, didn't crash during build
04:49 * Tene considers hacking in an explicit load of sdl and gl to rakudo.pir in a private branch.
04:50 Psyche^ joined #parrot
05:03 Infinoid I've been using -j8, just to front-load the I/O a little more
05:03 Infinoid works great.
05:06 tetragon chromatic_away: Works for me as well as the previous.  Neither hit any atypical crashes
05:11 japhb Tene: hmmm, what?
05:54 chromatic_away Thanks, tetragon.  I've just committed r27144.
05:55 dalek r27144 | chromatic++ | trunk:
05:55 dalek : [src] The PMC struct and the Stack_Chunk_t struct aren't isomorphic enough on
05:55 dalek : non-x86 processors, so the stack chunk recycling scheme needs an explicit
05:55 dalek : reference count rather than re-using the first int slot in the PObj union.
05:55 dalek : This appears to fix RT #53170, reported by Seneca Cunningham.
05:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27144
05:57 Zaba_ joined #parrot
06:09 uniejo joined #parrot
06:37 UltraDM joined #parrot
07:03 dalek r27145 | fperrad++ | trunk:
07:03 dalek : [digest]
07:03 dalek : - fix test
07:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27145
07:22 iblechbot joined #parrot
08:01 IllvilJa joined #parrot
08:13 cosimo joined #parrot
08:26 wknight8111 joined #parrot
08:37 ruoso joined #parrot
08:52 mire joined #parrot
09:14 ruoso joined #parrot
09:28 cognominal left #parrot
09:32 cognominal joined #parrot
10:55 Zaba moin
11:27 allison joined #parrot
11:38 kid51 joined #parrot
12:19 Coke moin?
12:19 purl welcome master!
12:40 cout joined #parrot
12:44 iblechbot joined #parrot
12:46 Coke [@$foo] ??
13:01 iblechbot_ joined #parrot
13:19 particle joined #parrot
13:21 skids joined #parrot
13:43 rdice joined #parrot
13:44 ruoso joined #parrot
13:55 gryphon joined #parrot
14:09 Andy joined #parrot
14:09 grim_fandango joined #parrot
14:19 Coke (ah. intentially duplicating the reference, I think. still unnecessary, but at least I see where it was going.)
14:41 iblechbot joined #parrot
15:24 Coke svn st
15:26 Infinoid svn: warning: '#parrot' is not a working copy
15:28 Andy joined #parrot
15:34 Coke Infinoid: converting flags to a hash, I've managed to break my build locally.
15:35 Infinoid hmm
15:59 Infinoid I've got something that seems to generate the same core_ops_cg.c as svn HEAD does
16:00 * Infinoid sees if it passes any tests.
16:02 nopaste "Infinoid" at 96.238.213.50 pasted "for Coke: what I've got so far" (37 lines) at http://nopaste.snit.ch/12778
16:07 Infinoid tests are looking good so far
16:11 * particle installs half of cpan to get App::Asciio
16:16 cognominal which of the thirty halfs of cpan? :)
16:17 Infinoid theoretically, you'd only have to install 2 applications like that, and then you have all of CPAN installed, and don't have to worry about it any more
16:18 Infinoid looks like it pulled in the Net::IRC::Disconnect::Randomly module
16:20 Zaba App::Asciio?
16:20 Theory joined #parrot
16:20 particl1 joined #parrot
16:21 Infinoid Coke: so... I don't know how "clean" my patch is, in fact, I know very little about this codebase.  But it works, and passes all tests.  Is it the kind of patch you had in mind?
16:28 DarkWolf84 joined #parrot
16:28 jhorwitz joined #parrot
16:38 particle END failed--call queue aborted.
16:38 particle ^--- perl 5.10.0 error. 'scuse me?
16:46 allison joined #parrot
16:46 Infinoid is it talking about a here-docs marker?  or an END block?
16:46 particle i'm guessing an end block.
16:47 particle i'm trying to install some modules, and it seems to be an error Devel::Cover is uncovering
16:47 particle t/eval_sub..............Cannot close C:\usr\bin\perl-5.10.0\bin\perl.exe -IC:/usr/bin/perl-5.10.0/cpan/​build/Devel-Cover-0.64-JjrThS/ -IC:/usr/bin/perl-5.10.0/cpan/buil​d/Devel-Cover-0.64-JjrThS/blib/lib -IC:/usr/bin/perl-5.10.0/cpan/build​/Devel-Cover-0.64-JjrThS/blib/arch -MDevel::Cover=-select,eval3,-ignore,blib,Devel
16:47 particle /Cover,-merge,0,-coverage,statem​ent,branch,condition,subroutine C:/usr/bin/perl-5.10.0/cpan/build/D​evel-Cover-0.64-JjrThS/tests/eval3 5:  at C:\usr\bin\perl-5.10.0\cpan\build\Devel-Cov​er-0.64-JjrThS\blib\lib/Devel/Cover/Test.pm line 187.
16:47 particle END failed--call queue aborted.
16:47 teknomunk joined #parrot
16:50 sjansen joined #parrot
16:50 nopaste "cognominal" at 82.67.232.89 pasted "a proof of concept parse trimmer. use like this : ./parrot languages/perl6/perl6.pbc --target=parse ary2.p6 | trimparse" (136 lines) at http://nopaste.snit.ch/12781
16:51 {-} joined #parrot
16:51 Infinoid t/eval_sub..............ok
16:51 cognominal it is less than perfect but it is a big improvement on the raw output of parse
16:52 Infinoid lib/Devel/Cover/Test.pm:187:    close T or die "Cannot close $command: $!";
16:53 Infinoid I think "END failed--call queue aborted" is just what it emits when an exception is thrown from an END block.  the exception itself is valid
16:53 particle sure, makes sense
16:53 particle it's an error i've never seen before
16:54 Infinoid it is a bit confusing
16:54 particle at least this:
16:54 particle # BEGIN failed--compilation aborted at t\001_load.t line 16.
16:55 particle tells you the line#
16:55 Infinoid its listed in perldiag under "%s failed--call queue aborted"
17:01 particle 15,600,000 * 19.5/42
17:01 particle purl: 15,600,000 * 19.5/42
17:01 purl particle: huh?
17:01 particle purl: 15,600,000*19.5/42
17:01 purl particle: what?
17:01 particle grr
17:03 cognominal bash-3.2$ r --target=parse g.p6 | trimparse | wc
17:03 cognominal 163     883   15186
17:03 cognominal bash-3.2$ r --target=parse g.p6 |  wc
17:03 cognominal 327    1807   29565
17:04 particle 15.6e6*19.5/42
17:04 particle 1+1
17:04 purl 2
17:04 particle gah.
17:04 cognominal working on indentation I should probably  half the size of the outptut once more
17:06 Infinoid 15600000 * 19.5/42
17:06 purl 7242857.14285714
17:06 Infinoid purl doesn't like commas.
17:06 purl Infinoid: huh?
17:09 particle ah, right! commas.
17:09 particle still, though. 15.6e6 should have worked
17:10 particle btw that's a calculation of 10,000 ford escape hybrids over 200,000mi each
17:10 particle 15.6Mgal fuel
17:10 particle *savings
17:10 particle converting gal fuel -> barrel oil is 19.5/42
17:10 particle so, 7.25Mbarrel oil
17:11 particle which is <1/2 day of US consumption
17:11 particle (19.6Mbarrel)
17:11 particle not a big savings
17:12 Infinoid those numbers are too big for me to comprehend.
17:12 particle this all started while my wife and i were driving in hawaii
17:13 particle i saw a fuel truck, and wondered how many miles that would get our mini
17:13 Infinoid were you gonna hijack it? :)
17:13 particle estimating 30' cylinder with diameter of 7'... miles/gal for the car, etc
17:14 particle it'll get us about 5 years of use at our current burn rate
17:14 particle (~5k mi/yr)
17:18 Infinoid ... its snowing.
17:19 Coke Infinoid: (passes all tests) really? hurm.
17:20 Infinoid md5sum of core_ops_cg.c is identical before and after the patch
17:20 Coke it's simpler than the change I had. I would recommend $flags->{pic} instead of $$flags{pic}
17:20 Infinoid I do prefer the latter syntax, but I don't feel strongly about it
17:20 Coke and I am ambivalent about the choice of 1 as the default value vs. undef. I prefer undef slightly.
17:21 Coke I feel slightly stronger than you about it. =-)
17:21 Infinoid undef works too, I only use 1 out of habit
17:23 Infinoid feel free to take the patch and run with it
17:23 Infinoid but I'm curious, how did your version work?
17:23 Infinoid if there's a cleaner way, I'm all for it.  I'm ignorant of how ops2c is organized
17:24 Coke I did something very similar. I ended up changing the call chain a bit as $flags is passed around.
17:24 Coke (now that it's a reference and not a simple string, trying to mimic what the arrays were doing.)
17:25 Infinoid what are the arrays doing?
17:25 Coke yours is fine. if "make test" passes, go for it.
17:25 Infinoid I guess I was trying for a barebones version, and didn't look much at the scenery
17:25 Coke the first part could just be $self->flags->{pic} , methinks.
17:25 Infinoid tried that, didn't work.
17:26 Coke eeet should.
17:26 Infinoid "my $flags" was the second attempt
17:26 Infinoid probably breakage from another issue I was having.  it will probably work now
17:26 barney joined #parrot
17:26 Coke but works trumps any style-like concerns. Oh, I also added a note to Parrot::Op->flags
17:27 Infinoid ah, documentation!  that sounds like a really good idea.
17:27 Coke ... you could also eliminate the earlier $flags definition, I wager.
17:27 Infinoid src/ops/core_ops_cg.cCan't use an undefined value as a HASH reference at lib//Parrot/Op.pm line 391.
17:28 Coke ah. my $flags = {}; instead of my $flags;
17:28 Infinoid that's with if (exists($self->flags->{pic})
17:28 Coke or is this in response to something else?
17:29 Coke a
17:30 Coke yah, that's because you have my $flags instead of my $flags = {};, I wager.
17:30 particle coke++
17:30 Infinoid ah, the first time around the loop, I guess
17:30 Coke (if you do that, and then avoid the unnecessary assignment, something like if ($4) { $flags = .... };
17:31 Coke lemme post my patch and you can steal all the good bits.
17:32 nopaste "Coke" at 72.228.52.192 pasted "my broken patch" (90 lines) at http://nopaste.snit.ch/12785
17:32 Coke Infinoid: so ignore the bits where I'm doing the {%$flags} cargo culting.
17:33 Coke (but there's a lot of [@$foo] which is the same sort of thing; I think the goal was to have the generated OpLib file not have any shared references.
17:34 Coke but if it works without it, fine fine. =-)
17:36 particle cognominal: interesting. i haven't run it yet, but it looks promising
17:38 Infinoid Coke: I have to work.  I can take a look at it this evening, if you don't beat me to it :)
17:38 cognominal it already fits my needs. it will be cleaner when written with a real parser
17:39 Coke oh, I'll beat you all right. ;p
17:40 Infinoid wait.  if, in the first time around the parse loop, it isn't a hash reference, what difference would that make as to whether $flags is locally declared or not?
17:41 Infinoid its still not going to be a hash reference
17:42 Coke ah, right, it needs to have an if/then inside the loop. good catch.
17:47 dalek r27146 | bernhard++ | trunk:
17:47 dalek : Tell languages/Makefile about squaak
17:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27146
17:53 cognominal I try to find the code that implement the 'make'  function  of actions.pm
18:03 slightlyoff left #parrot
18:05 dalek r27147 | bernhard++ | trunk:
18:05 dalek : [Squaak]
18:05 dalek : Add file MAINTAINER
18:05 dalek : Mention Squaak in LANGUAGES_STATUS.pod
18:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27147
18:07 cognominal gotit
18:12 dalek r27148 | bernhard++ | trunk:
18:12 dalek : [Eclectus]
18:13 dalek : Fix code, after accidental commit in r27146.
18:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27148
18:14 barney rotty: I halfheartedly started on NQP generation. Maybe I'll find some tuits this weekend.
18:16 * barney meets brian d foy tomorrow at Frankfurt.pm extra meeting
18:16 particle tell him i said hello
18:16 barney will do
18:30 Ivatar joined #parrot
18:37 Zaba joined #parrot
18:49 rillian joined #parrot
18:51 gryphon joined #parrot
19:03 PerlJam jonathan: congrats on the grant!
19:04 pmichaud grant?
19:04 purl grant is on the $50.
19:04 pmichaud someone gave jonathan a $50 grant?  ;-)
19:04 particle jonathan got a day a week for 3mo grant from vienna.pm++
19:05 pmichaud congrats indeed
19:05 jhorwitz vienna.pm++ for having a budget!
19:05 particle proceeds from yapc::eu 2007 iiuc
19:05 Infinoid oh, nice!
19:05 jhorwitz ah
19:05 particle vienna.pm++ for making a profit on a conference
19:06 PerlJam 3 months and then they evaluate if they can keep giving him money to the end of the year.  vienna.pm++ indeed
19:06 pmichaud press release or announcement?  I missed it
19:06 PerlJam I think I read about it in someone's use.perl journal
19:06 Infinoid http://socialtext.useperl.at/woc/ind​ex.cgi?work_1_day_per_week_on_rakudo
19:06 shorten Infinoid's url is at http://xrl.us/bjqim
19:08 PerlJam Having jonathan work on rakudo one day a week might bring an early christmas this year  :)
19:11 pmichaud oh, hey, I'm on the use.perl front page :-)
19:11 Theory joined #parrot
19:20 PerlJam pm: isn't that the same day as the "Texas Open Source Symposium"?
19:20 pmichaud texas open source symposium is this saturday (apr 26)
19:21 pmichaud dfw.pm is next tuesday (apr 29)
19:22 dalek r27149 | chromatic++ | trunk:
19:22 dalek : [OO] Added "vtable overrides in parents" cache to Class PMC.  This is an
19:22 dalek : experiment and it doesn't get flushed on parent class modifications, but it
19:22 dalek : speeds up vtable override searching by about 500% and speeds up the
19:22 PerlJam those darn 6s and 9s look so much alike!  :)
19:22 dalek : Rakudo-building benchmark by 5.87%.
19:22 dalek : Vtable overriding probably needs some more design thought though.
19:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27149
19:22 dalek r27150 | chromatic++ | trunk:
19:22 dalek : [PMC] Minor cleanup to make_hash_key() in the Hash PMC, especially its metadata.
19:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27150
19:24 dalek r27151 | chromatic++ | trunk:
19:24 dalek : [JIT] Cleaned up several warnings about null parameters passed to JIT
19:24 dalek : functions. All tests still pass on x86, where I saw the warnings.
19:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27151
19:27 Patterner now "parrot Perl6Grammar.pir PGE/Grammar.pg" in "compilers/nqp" fails with "FixedIntegerArray: Can't resize"
19:39 skv_ joined #parrot
19:59 TimToady phone
20:00 Zaba_ joined #parrot
20:07 tg joined #parrot
20:18 Donald joined #parrot
20:23 Donald left #parrot
20:25 donaldh joined #parrot
20:43 ambs joined #parrot
21:06 skv_ joined #parrot
21:07 jalbo joined #parrot
21:08 jalbo Hello.
21:11 Infinoid hi!
21:16 jalbo purl: what is saint george?
21:16 purl wish i knew, jalbo
21:17 jalbo It must be the only one here that doesn't.
21:19 Coke Patterner: that smells like a GC bug.
21:25 Tene jalbo: southern utah
21:25 purl it has been said that southern utah is beautiful. but the worst food ever.
21:28 Coke southern connecticut?
21:29 jalbo I'm from Spain, we don't kill dragons here.
21:31 dalek allison@perl.org | Concurrency Tasks:
21:31 dalek link: http://www.perlfoundation.org/pa​rrot/index.cgi?concurrency_tasks
21:32 shorten dalek's url is at http://xrl.us/bjqpy
21:33 jan joined #parrot
21:48 wknight8111 joined #parrot
21:49 Limbic_Region joined #parrot
22:00 ruoso joined #parrot
22:04 paco HI, in another channel of another server there are some people who asks if the source of good purl is available and where. thanks
22:04 Infinoid no idea, we don't maintain it.
22:04 Infinoid purl, owner?
22:04 Infinoid ENOPURL
22:05 jalbo purl: where is the source?
22:05 Infinoid I think Masque runs it
22:06 paco I have this article : http://www.foo.be/docs/tpj/is​sues/vol3_2/tpj0302-0002.html
22:08 paco maybe writing some lines to Kevin Lenzo ..
22:08 paco thanks anyway ..
22:10 Infinoid sorry I can't be more help
22:10 paco thats ok ..
22:12 particle infobot?
22:17 mire joined #parrot
22:17 Limbic_Region yay - parrot building completely on Win32/Cygwin and Win32/MinGW again
22:26 cotto_work is there a policy on what kind of information can be sent by make smoke?
22:31 Infinoid I think it would be a good idea for it to send test results, in one format or another
22:32 Infinoid are you asking about the format?  or the content?  or about security/privacy?
22:32 cotto_work security/privacy
22:33 cotto_work I'm going to be setting up an automated Parrot smoke test machine (or more?), and my boss has to be certain that nothing compromising is being sent out
22:34 Infinoid I don't know if the policy is formally defined or documented.  maybe we can intercept a smoke report and see exactly what it is sending
22:34 cotto_work nothing that's currently being sent out looks dangerous
22:35 Infinoid there may be some risk of a fail log containing the filesystem path of your local parrot checkout
22:35 Infinoid is this something we need to define formally?
22:35 cotto_work I'm just concerned about future changes
22:37 Infinoid well, you're right, its very much in flux, but I'm sure we could set some ground rules
22:37 donaldh paco: http://www.infobot.org/
22:37 Infinoid a lot of it is just common sense though.
22:38 paco thanks donaldh ..
22:39 cotto_work yes, and I trust that the people with commit bits won't be malicious
22:40 Infinoid I don't want to see my /etc/passwd in a smoke report any more than you do. :)
22:41 cotto_work something formalized might be a good idea
22:42 Infinoid http://www.perlfoundation.org/parrot/index​.cgi?rfp_parrot_needs_better_smoke_reports is the beginnings of a spec
22:42 shorten Infinoid's url is at http://xrl.us/bfeof
22:42 cotto_work I'll see what my boss says about what's there already
22:42 cotto_work s/already/currently/
22:43 cotto_work until then, there's no reason to be add yet another tuit sink
22:44 Zaba joined #parrot
22:50 skids joined #parrot
22:52 rdice joined #parrot
22:52 skids
22:52 skids
22:52 skids
22:52 skids Coke: it has been said southern connect is the place people from the rest of New England stop to pee on their way to NY.
22:52 skids oops.
22:52 skids You can thank my cat for all the spaces in my buffer.
22:53 paco jajaja
22:53 paco hahaha
22:53 cotto_work I think you're looking for #whitespace
22:54 jalbo Nice language.
22:55 jalbo You can write very clean code with it.
22:55 Infinoid not good from a DRY perspective tho
22:55 Infinoid clean but not concise
22:55 skids And even cats can code in it.
22:56 Infinoid cats can code in befunge too :)
22:58 jalbo Just avoid to keep open a file called curiosity.
23:00 Infinoid that's where proper exception handling comes in
23:00 Infinoid catch it before it kills the cat :)
23:02 jalbo You can write the handler in Intercal:
23:02 jalbo PLEASE DON'T KILL THE CAT
23:03 Infinoid well, that simplifies Shrödinger's problem significantly
23:04 jalbo Never understimate the power of esotheric languages.
23:06 Infinoid s/Shrödinger/Schrödinger/
23:08 jalbo I don't mean austrian.
23:09 skids Say you want to do something like this, but efficiently -- is there a perl6 way? :
23:09 skids class g { has $.offset; has $.owner handles foo }
23:09 skids class f is Array of Int {
23:09 skids method foo () { do_something_to( @.self[$.offset] ) }
23:10 skids method FETCH () { return g.new(offset => $^i, owner => .self) }
23:10 skids }
23:10 skids my f @f = (1,4,6,7,9,$blah);
23:10 skids $f[3].foo();
23:10 skids That is essentially store data in a packed array but make your own autoboxing for it?
23:13 tetragon joined #parrot
23:17 purl joined #parrot
23:18 Infinoid purl, owner?
23:18 purl i guess owner is Masque
23:18 skids Or to put it another way, what does "Array of ( Int does bar )" create, assuming there's a way to dwim those parens legally.
23:20 skids (for bar a role with or without attributes)
23:25 rillian yay, mandelbrot set in PIR
23:28 rillian so I was inspired by allison's talk at lugradio to mock up a postscript interpreter in parrot
23:29 rillian but I'm unclear where to start
23:29 rillian any suggestions on (a) what to use for the stack and (b) what compiler tools to use?
23:30 rillian I see there's a forth implementation, which seems to code the stack directly in PIR
23:31 cognominal rillian, have your read parrotblog.org?
23:32 cognominal that should answer many of your questions
23:34 rillian the recent tutorials you mean?
23:35 cognominal yes
23:35 Infinoid yes, that's a great starting point
23:35 Infinoid though it does presume some familiarity with perl6
23:35 rillian great thanks
23:36 cognominal the problem is to get used to the subset supported by nqp.
23:36 * rillian is not a perl person
23:36 * Infinoid is not a number, he is a free womble.
23:36 Infinoid ... weird.  I initially read that as "* rillian is not a real person"
23:37 rillian bias is always with us :)
23:37 bradleh joined #parrot
23:37 Infinoid it wasn't intentional! :P
23:38 cognominal maybe people who don't know perl are not for real..
23:38 rillian anyway, so you'd recommend nqp over the regex stuff?
23:38 cognominal nothing is real but perl
23:38 Infinoid "the regex stuff" meaning PGE, I'm guessing?
23:38 rillian yeah, that
23:38 purl Sure, that.
23:38 cognominal you use both
23:40 rillian hrm. I seem to be missing some big picture still
23:40 cognominal you have a grammar file which defines the grammar and the action file in NQP which defines that associated action
23:40 cognominal s/action/actions/
23:40 rillian ok, so parser in PGE and the associated implementation in NQP
23:40 cognominal it is like a yacc file where you have separated the grammar rules from the associated actions
23:41 cognominal so you have two files
23:41 Infinoid rillian: yes
23:41 Infinoid the grammar breaks down your syntax, NQP is where you implement your keywords and operators and such
23:42 cognominal ome neat thing about it is that you can have an action file for a compiler, a second one for a beautifier and so on
23:42 cognominal ... with the same grammar
23:42 rillian ok, and you could also implement the operators in PIR directly, NQP is just higher level?
23:42 cognominal yes
23:43 rillian thanks
23:43 * rillian also isn't an language person :)
23:43 cotto_work is her talk recorded anywhere?
23:43 Infinoid we have several example languages in the subversion, using various combinations of these tools
23:43 rillian so this is all new to me
23:43 Infinoid subversion *repo*
23:43 rillian cotto_work: there was a guy recording and selling DVDs at the event
23:43 rillian I've not seen anything posted online
23:45 cognominal A good way to learn is to read  compiler/nqp.  So you get to learn the grammar of the language you will use for actions
23:49 rillian ok, I see. You call pge on grammer.pg to compile the grammar pir
23:50 rillian nqp on actions.pm to generate the actions pir
23:50 rillian and then dynpmc.pl merges the two
23:51 rillian and npq and pge are both parrot hosted?
23:53 rillian cotto_work: looks like the slides are available at http://www.lohutok.net/talks/compiler_tools.pdf
23:54 cognominal yes
23:54 cognominal the source are under the compiler/ folder
23:54 rillian ok, thanks, that helps a lot
23:55 cognominal compilers/nqp/src/Grammar.pg
23:57 cognominal compilers/nqp/nqp.pir loads the grammar and  the actions

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced