Camelia, the Perl 6 bug

IRC log for #parrot, 2010-03-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 darbelo dukeleto: How would you feel about just plain *disabling* the various auto:: Config steps for cross-builds?
00:02 kid51 devs who are interested in cross-builds:  Please see to what extent the file-based configuration option in Configure.pl meets your needs.
00:03 darbelo I, as far as I've thought about it, can't find a sane way to make them work in a fully cross environment (say OpenBS i386 building for RTEMS ARM)
00:03 darbelo kid51: We have file-based config?
00:03 darbelo I was about to suggest adding that.
00:03 kid51 2-3 years ago, particle filed an RT requesting this, specifically for future cross-compilation.
00:04 kid51 I wrote it, though I don't know if anyone has ever used it for that purpose.
00:04 kid51 perldoc Configure.pl
00:04 darbelo --file ?
00:04 dalek parrot: r45049 | jkeenan++ | branches/tt1516_builddir_option:
00:04 dalek parrot: Create branch to work on TT #1516: different build directory for cross-compiling.
00:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45049/
00:04 dalek parrot: r45050 | jkeenan++ | branches/tt1516_builddir_option (2 files):
00:04 dalek parrot: First, insufficient, patch toward providing a command-line option to specify an alternate build directory (needed for cross-compilation).  'make' fails at miniparrot due to inability to locate -lparrot.
00:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45050/
00:05 kid51 grep Configure.pl for FILE-BASED CONFIGURATION
00:05 kid51 If it doesn't meet your needs, feel free to hack on it.
00:07 darbelo kid51++ # Looking at it now.
00:09 kid51 See also t/configure/008-file_based_configuration.t
00:19 snarkyboojum_ joined #parrot
00:29 * japhb chuckles at Kakapo's .IDONTGIVEADARN
00:30 darbelo Coke: ping
00:35 Psyche^ joined #parrot
00:35 darbelo Coke: un-ping
00:35 Coke darbelo: un... pong?
00:36 darbelo I was about to ask you something, but the I figured it out myself. ;)
00:41 japhb Austin++ # Using '$object.method: $arg;' syntax in Kakapo, and thus showing me it existed.  ;-)
00:46 Psyche^ joined #parrot
00:57 hercynium joined #parrot
01:15 theory joined #parrot
01:19 Andy hey kid51 haven't seen you for a while
01:22 Whiteknight nobody has seen kid51 for a while. Last I heard there were computer problems
01:23 dukeleto darbelo: just got back to reality. i guess i would be fine with disabling auto-config steps
01:23 kid51 Whiteknight: I was here earlier.  Where were you?
01:24 kid51 And what are you doing up past your bedtime?
01:24 sorear joined #parrot
01:24 eternaleye joined #parrot
01:25 Whiteknight kid51: I have to stay up while the kid is up. I sleep when he sleeps
01:25 snarkyboojum joined #parrot
01:26 kid51 Andy:  I haven't had much to do in Parrot.  But I have been busy in Perl:  http://github.com/jkeenan/cpan-mini-visit-simple
01:26 kid51 http://github.com/jkeenan/extutils-parsexs
01:27 Andy Why do I want to visit pakages in a repo?
01:27 Andy like to do stats on them or somethgin?
01:27 dukeleto kid51: do you know how hard it would be to add the ability to specify a build directory to Configure.pl ?
01:28 kid51 dukeleto:  I was chatting with Coke about that about 2 hours ago.
01:28 kid51 Created a branch
01:28 kid51 With a patch that isn't working
01:29 kid51 branch:  tt1516_builddir_option
01:29 dukeleto kid51: sweet!
01:29 dukeleto kid51: i will check that branch out and see if I can help
01:31 dukeleto kid51: that feature will really help with porting Parrot to embedded platforms
01:39 eternaleye joined #parrot
01:41 kid51 Andy:  If you are working on the Perl toolchain, and you want to make sure your changes don't break (a lot of) CPAN, you will want to visit all (or a subset of) the distros in a minicpan and test your changes there.
01:42 kid51 So if I'm phalanxing ExtUtils::ParseXS, I want to be able my changes inflict minimal damages on the 1/10 of CPAN that uses XS.
01:42 Andy understood
01:43 kid51 So, at this very moment, I'm testing "before" and "after" versions of ParseXS against a sample of 200 CPAN modules
01:58 atrodo joined #parrot
02:18 dukeleto kid51: sounds prudent
02:38 theory joined #parrot
02:39 Mokurai1 joined #parrot
02:45 abqar joined #parrot
03:06 sorear How is MANIFEST.generated regenerated?
03:07 plobsing tools/dev/mk_manifest_and_skip.pl
03:07 sorear thanks
03:08 sorear hmm, looks like mk_manifest_and_skip only handles MANIFEST and MANIFEST.SKIP
03:09 sorear MANIFEST.generated looks vaguely human-edited
03:13 plobsing wtf
03:23 theory joined #parrot
03:35 janus joined #parrot
03:37 sorear joined #parrot
04:17 Andy joined #parrot
04:50 parthm joined #parrot
04:55 cotto Is there a specific project that'll use Kakapo or is Austin just writing it so it's there when it's needed?
05:08 sorear purl, kakapo?
05:08 purl well, kakapo is a program framework, runtime library, and collection of useful functions for NQP programs. or See http://code.google.com/p/kakapo-parrot/ for documentation and issue tracking, or http://gitorious.org/kakapo for source code.
05:14 parthm joined #parrot
05:16 snarkyboojum left #parrot
05:27 Coke i'm considering stealing some of it for partcl at some point.
05:28 Coke but nothing in particular.
05:32 bacek_at_work cotto, ping
05:33 parthm joined #parrot
05:33 Andy Coke: Have you seen the stuff I've bene adding?
05:36 Coke saw warnings rearranging, cleanups based on warnings...
05:36 Coke Andy++
05:36 Coke cleanup of ccflags...
05:36 Andy trying to label what I'm doin'
05:36 Coke all looked good here.
05:36 Coke except the consting, but that's just because I hate C.
05:39 sorear I have ick reactions when people want to build large stuff in NQP.  Am I weird?
05:40 Andy I thought I had Sun Studio installed
05:40 Andy but I don't.
05:40 Andy mmm, free downloads
05:42 cotto bacek_at_work, pong
05:43 Coke sorear: do you have an alternative to NQP in mind?
05:43 Coke (that exists, or otherwise)
05:44 sorear Coke: Perl 6, Python, Lua, Tcl
05:44 sorear NQP is fine for bootstrapping compilers - that's what it was created for.  But as an applications programming language?
05:45 dalek tracwiki: v5 | cotto++ | TestingProfiling
05:45 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Test​ingProfiling?version=5&action=diff
05:45 sorear ooh that sounds interesting
05:46 dalek parrot: r45051 | coke++ | trunk (4 files):
05:46 dalek parrot: Remove CPointer PMC, resolve TT #1407.
05:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45051/
05:46 dalek parrot: r45052 | coke++ | trunk/DEPRECATED.pod:
05:46 Coke sorear: who is writing an application in NQP?
05:46 dalek parrot: This (unticketed) deprecation notice is already covered by the more generic C API changes one, remove it.
05:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45052/
05:46 Coke all the instances I've seen of NQP usage are basically in place of using PIR.
05:46 sorear Coke: Austin, apparently
05:46 Coke sorear: he's building a library.
05:47 Coke not an application.
05:47 Coke (if you mean kakapo)
05:47 sorear 21:55 <@cotto> Is there a specific project that'll use Kakapo or is Austin just
05:47 sorear writing it so it's there when it's needed?
05:47 sorear 22:08 < sorear> purl, kakapo?
05:47 sorear 22:08 <+purl> well, kakapo is a program framework, runtime library, and
05:47 sorear collection of useful functions for NQP programs. or See
05:47 Coke yah. so it'll make life easier for people using nqp.
05:47 sorear purl thinks it's a library for programs
05:47 purl sorear: excuse me?
05:47 Coke yes. it's a library.
05:47 cotto purl is nice to have around sometimes
05:47 sorear which I took to mean a library for non-compilers
05:48 Coke I'm sure it could be, but I imagine its immediate utility is for compiler writers.
05:48 sorear oh
05:49 dalek TT #1407 closed by coke++: [DEPRECATED] CPointer and CPointer-style return argument handling
05:49 dalek TT #1407: http://trac.parrot.org/parrot/ticket/1407
05:49 Coke there's only one fully implemented language on parrot that I know of, and I don't know of anyone who actually writes in it. Having the nqp-rx library will certainly help share the load so all the hll authors aren't reinventing the same wheels.
05:49 Coke coverage?
05:49 purl it has been said that coverage is http://cv.perl6.cz
05:49 cotto Coke, lua?
05:49 Coke cotto: ayup.
05:50 cotto Poor Lua.
05:50 Coke question. if a METHOD defines a bunch of const strings - should we just make them static vars?
05:51 sorear you mean a vtable method?
05:51 Coke is that theoretically faster?
05:51 Coke vtable or method. not vtable method.
05:51 Coke this is a method (written in C)
05:52 sorear foo("hi") desugars to static const char NONCE[] = "hi";  .... foo(NONCE)
05:52 sorear they should be exactly equal in speed
05:52 sorear or is that not what you meant
05:52 Coke no, a const STRING.
05:52 Coke not a fake c-string.
05:52 Coke e.g.:     STRING * const open_bracket  = CONST_STRING(INTERP, "[");
05:53 sorear what are they currently?
05:55 Coke what are which now? the specific STRINGs I'm looking at, or STRINGs in general, or?
05:55 Coke (or CONST_STRINGS...)
05:56 sorear the specific strings you're looking at
05:56 cotto clock?
05:56 purl cotto: LAX: Thu 10:56pm PDT / CHI: Fri 12:56am CDT / NYC: Fri 1:56am EDT / LON: Fri 5:56am GMT / BER: Fri 6:56am CET / IND: Fri 11:26am IST / TOK: Fri 2:56pm JST / SYD: Fri 4:56pm EST /
05:56 sorear and any other information which would help me to gain insight into *.str files
05:56 sorear if these are even related
05:56 Coke src/pmc/codestring.pmc ; the strings in, e.g. METHOD emit
05:58 Coke yes, CONST_STRING use some macro magic and a global lookup table that is mediated through .str files.
05:58 Coke (which theoretically gives us faster access.)
05:58 Coke (and avoids duplicating the space if we have 100 copies of, e.g. "some string")
05:59 sorear I see.
06:04 parthm joined #parrot
06:14 * sorear discovers docs/submissions.pod
06:14 sorear so embarrassing
06:16 cotto not that kind of submission
06:16 sorear docs/submissions.pod is a great thing to find two hours after you post a patch.
06:16 cotto we need to more publicity about those docs
06:17 sorear which, it seems, I sent to the wrong place
06:18 * sorear wonders if he should immediately repost it to the right place, or wait for comments first
06:18 dalek parrot: r45053 | coke++ | branches/rm_dynpmc_make:
06:18 dalek parrot: remove recursive make for src/dynpmc.
06:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45053/
06:19 Coke I note that posting patches to trac is awesome, but has MUCH lower visibility than the mailing list.
06:20 sorear what does this mean to me?
06:21 Coke I'd wait.
06:24 parthm left #parrot
06:25 parthm joined #parrot
06:37 cotto night
06:43 dalek blizkost: cef64d4 | sorear++ | perl5.pir:
06:43 dalek blizkost: Use the new (patch pending) interface to load libperl.so globally, fixes XS
06:43 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​cef64d4d86446387801c50e9de36413b4f351de8
06:48 parthm left #parrot
06:52 Coke just saved my work in progress in rm_dynpmc_make; if some intrepid soul wants to take it the last 20% , awesome.
07:07 dalek parrot: r45054 | coke++ | branches/rm_dynpmc_make (6 files):
07:07 dalek parrot: Get most of the way towards eliminating this recursive make step.
07:07 dalek parrot: See XXX comment in src/dynpmc/Rules.in for the last bit.
07:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45054/
07:20 uniejo joined #parrot
07:22 sorear ... the Perl (5) error trapping interface is insane
07:22 sorear (yes, I am just now figuring this out)
07:23 sorear there does not appear to be any save way to relay an exception from one area of code to another... if I catch the exception at all, either $@ will be clobbered in the no-exception case, or the exception will be stringified
07:26 cotto joined #parrot
07:29 sorear and I need to relay exceptions into Parrot exceptions, because otherwise Perl will just longjmp over Parrot code, killing any exception handlers...
07:41 dukeleto sorear: looks like you have been busy
07:44 sorear hah.
07:44 sorear I fake it well
08:01 AndyA joined #parrot
08:01 sorear dukeleto: replied
08:02 iblechbot joined #parrot
08:11 sorear What is the best way to share C code between several PMCs?
08:24 riffraff joined #parrot
08:38 plobsing joined #parrot
09:12 payload joined #parrot
09:14 AndyA joined #parrot
09:20 payload joined #parrot
09:30 payload joined #parrot
09:33 clinton joined #parrot
10:01 payload joined #parrot
10:03 smash joined #parrot
10:03 smash hello everyone
10:05 darbelo o/
10:15 fperrad joined #parrot
10:17 payload joined #parrot
10:21 lucian joined #parrot
10:23 he_ joined #parrot
10:27 sorear hello
10:31 snarkyboojum joined #parrot
10:46 AndyA joined #parrot
10:52 Austin joined #parrot
10:52 * Austin kicks Japhb...
10:53 Austin I am about to learn something new about how P6object classes work, and it's your fault.
10:54 sorear Austin: Are you on parrot-dev?
10:54 Austin Yeah. I saw your post.
10:55 Austin :)
10:55 Austin What I was able to comprehend of it looks good.
10:57 Austin Aha!
10:57 Austin Thank God, I *DON'T* have to learn anything new about P6object...
10:59 Austin msg japhb Moving the test main invocation into the INIT block won't work, it turns out, because any classes defined later in the file need to get processed, and INIT blocks process in order. So (since I create little one-off classes all over the place) the INIT and the TEST_MAN() have to be separate.
10:59 purl Message for japhb stored.
11:00 payload joined #parrot
11:45 nopaste joined #parrot
11:47 payload joined #parrot
11:56 darbelo Coke: ping
11:56 lucian joined #parrot
12:00 dalek parrot: r45055 | darbelo++ | branches/include_dynpmc_makefile:
12:00 dalek parrot: Branch for converting the dynpmc Makefile into an include.
12:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45055/
12:07 whiteknight joined #parrot
12:08 whiteknight good morning, #parrot
12:13 darbelo svn diff
12:13 purl svn diff is better than cvs log, that's why I like svn more than cvs
12:13 darbelo wrong window.
12:13 purl cd /var/pics/g0atpr0n
12:14 whiteknight Austin: ping
12:14 Austin whiteknight, pong
12:15 whiteknight Austin: is there anyway to install the release files?
12:15 whiteknight or, any automated way?
12:15 Austin No.
12:15 whiteknight okay. I'll just do it the hard way
12:15 Austin There probably should be, though.
12:15 whiteknight kudos, by the way
12:15 Austin Thanks. (For what?)
12:16 whiteknight for release 10
12:16 Austin Oh. Sure.
12:16 dalek parrot: r45056 | darbelo++ | branches/include_dynpmc_makefile/src/dynpmc (2 files):
12:16 Austin Thanks to japhb, the unit test template got a little shorter.
12:16 Austin That's today.
12:16 dalek parrot: Add two sub-makefiles for dynpmcs, Rules and Defines.
12:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45056/
12:16 dalek parrot: r45057 | darbelo++ | branches/include_dynpmc_makef​ile/config/gen/makefiles.pm:
12:16 dalek parrot: Enable generation of the sub-makefiles via Configure.
12:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45057/
12:16 dalek parrot: r45058 | darbelo++ | branches/include_dynpmc_makefile​/config/gen/makefiles/dynpmc.in:
12:16 dalek parrot: Dits the old dynpmc Makefile template.
12:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45058/
12:16 dalek parrot: r45059 | darbelo++ | branches/include_dynpmc_makefil​e/config/gen/makefiles/root.in:
12:16 dalek parrot: Eradicate all traces of the old makefile and enable the new includes.
12:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45059/
12:16 dalek parrot: r45060 | darbelo++ | branches/include_dynpmc_makefile/MANIFEST:
12:16 dalek parrot: Regenerate MANIFEST.
12:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45060/
12:16 dalek parrot: r45061 | petdance++ | trunk/src/embed.c:
12:16 dalek parrot: Renamed a var to prevent shadowing
12:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45061/
12:16 Austin Sorry. Thanks to japhb++, etc.
12:19 tetragon joined #parrot
12:20 Coke darbelo: I can only hope you had a git branch or something that I leap-frogged. =-)
12:20 Coke since I created a branch for that last night...
12:21 darbelo Damm. I totally missed it.
12:22 Coke in that case, one of us just wasted a few hours. =-)
12:22 Coke doesn't matter as long as it gets done.
12:22 darbelo Say, is you branch working?
12:23 Coke nope. needs the pmc dependencies added, but is otherwise good.
12:23 * darbelo chickles.
12:23 darbelo Same here ;)
12:23 Coke *sigh*
12:23 Coke guess we both left the hard part for last.
12:24 * Coke wonders why he is always getting emails in chinese from openfoundry.
12:25 darbelo Maybe joe got a job...
12:25 darbelo Wait. That didn't come out right...
12:29 particle coke: i think it's from having a pugs admin commit bit
12:31 Coke particle: ok. it's being delivered to me indirectly; if they're bcc'ing a list or something, I can't unsubscribe.
12:31 Coke sending them an email now...
12:31 particle coke: same here
12:32 dalek parrot: r45062 | darbelo++ | branches/include_dynpmc_makefil​e/config/gen/makefiles/root.in:
12:32 dalek parrot: Remove dynpmc deps from the main Makefile.
12:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45062/
12:33 Coke darbelo: you might want to do a compare of the two branches, pick one to be the winner, steal the good bits from the dead one, and kill it.
12:34 darbelo WorkingCoke: I'm doing that now. That commit was made with the previous 'stream' dalek reported.
12:35 WorkingCoke excellent.
12:35 WorkingCoke darbelo++
12:40 dalek rakudo: 9affb78 | (Solomon Foster)++ | src/Perl6/Actions.pm:
12:40 dalek rakudo: Better internal op lookup for Xop and Zop.
12:40 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​affb78498eefde2e6ed291c853d16a3c5fe5977
12:47 fperrad_ joined #parrot
12:55 dalek parrot-linear-algebra: ec9e2ec | Whiteknight++ | README:
12:55 dalek parrot-linear-algebra: Update README to include new information about dependencies.
12:55 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/ec9e2ec1c9361b3068546237d9952a47896e2b26
12:55 whiteknight Austin: You know what might be a really cool addition? In your Nqp::compile_file method to store the generated bytecode to a file, then on subsequent calls to compile_file we can look up the last modified time and simply load the cached version if it's newer
12:55 whiteknight or, add a compile_file_cached method
12:56 whiteknight ...And so long as we are doing it internally, adding a compile_to_pbc method might be fun
12:56 * Austin 's head explodes...
12:57 whiteknight in fact, maybe I'll put together a patch for your reading pleasure
12:57 iblechbot joined #parrot
12:57 Austin So this would be for successive invocations of different testcases, right? To compile the custom testcase class?
12:57 whiteknight that's my current motivation, yes
12:58 whiteknight If I could cache Testcase (now "matrixtest.nqp") across invocations I could save a lot of time
12:58 Austin Well, you could compile it as part of your build, and then just use load_bytecode...
12:58 whiteknight but, I'm thinking bigger: Rewrite the test harness with Kakapo, and use it to cache the individual test files and run them directly instead of launching a subprocess
12:58 Austin Ahh
12:58 Austin Geez.
12:58 parthm joined #parrot
12:59 whiteknight I think big
12:59 Austin That's a cool idea.
12:59 Austin Have a look at t/UnitTest/AllTests.nqp
12:59 whiteknight let me play around with it, I'll let you know when I have a patch
12:59 Austin I do something like that.
12:59 Austin I hadn't turned the idea around, though, and thought about using it as the main harness.
13:00 Austin Whiteknight++
13:00 WorkingCoke ah, I see the jackassery has already begun on the gsoc list.
13:00 Austin ?
13:01 Austin What list is that?
13:01 purl i guess list that is easily accessible is "only" the janitors and SIOB list
13:01 WorkingCoke google summer of code mentors list.
13:01 whiteknight Austin: does Kakapo provide any command-line processing or accessing functions?
13:01 Austin not yet
13:01 whiteknight okay
13:01 Austin I'm (literally) working on that right now
13:01 Austin For Program..
13:01 whiteknight oh snap
13:02 Austin But Getopts is already available in pir
13:05 lucian joined #parrot
13:05 parthm hello, I have a noob question about getting grammar right with parrot.
13:05 parthm while creating a HLL, I am trying to get the grammar right. so I run './installable_mylang --target=parse'  which fails with 'Unable to parse source'.
13:06 parthm So, while designing and debugging the grammar do I need to have all actions in actions.pm or is it ok to have just the grammar in grammar.pm?
13:06 Austin parthm: It's okay to just have the grammar, as long as the grammar does not depend on actions for a successful parse.
13:07 Austin That is, if the actions is doing "normal" actions stuff, it's okay to not have it. But if the grammar decides what a token is by using an actions rule, then obviously it won't parse unless that action is present.
13:08 Austin In the grammar, constructions like <?{code}> and <{code}> are indicators that your grammar may ( <{code}>) or probably (<?...>) depends on that action rule.
13:08 atrodo joined #parrot
13:09 parthm Austin: Thanks. Then is suppose my grammar should work. It quite simple. I have '{*}' in the grammar, is that trying to invoke the actions and causing failure?
13:09 Austin Man, what do *I* have to do to receive a stipend to work on Kakapo?
13:09 Austin parthm: That is trying to invoke actions, but it should not fail if no action exists.
13:10 parthm Austin: oh. ok. I will debug some more. I come from non-perl background so have a lot reading to do :-)
13:11 parthm have been going through S05-regex, is there anything else that would be important?
13:12 WorkingCoke Austin: you could put in for a p6 grant.
13:13 WorkingCoke Austin: http://www.perlfoundation.org/ian​_hague_perl_6_development_grants
13:13 WorkingCoke I also see http://www.nntp.perl.org/group/perl.​perl5.porters/2007/03/msg122448.html , linked to from TPF, but it's 3 years old.
13:15 darbelo WorkingCoke: Okay, I reviewed both branches: Yours is definitely cleaner, but mine passes make test :)
13:16 darbelo So I'll start cleaning up mine based on yours.
13:17 Austin parthm: I'd recommend that you checkout a copy of Pmichaud++'s nqp-rx sources.
13:18 nopaste "Austin" at 68.39.12.202 pasted "\!reduce" (23 lines) at http://nopaste.snit.ch/20005
13:18 Austin nqp-rx?
13:18 purl nqp-rx is http://github.com/perl6/nqp-rx
13:19 * parthm is checking out nqp-rx sources
13:19 Austin Yeah. You can get the sources there. The ^^ !reduce function is what gets called when a rule matches. You can see that it checks if the actions module "can" do a method...
13:20 Austin (FYI: All the !cursor stuff is in src/Regex/Cursor*pir
13:21 parthm Austin: thanks. that makes sense.
13:21 parthm So there is probably some issue with the grammar.
13:21 WorkingCoke darbelo++
13:22 Austin Not for nothing, parthm, but did you give the parser any source code to parse?
13:22 Austin Whoops.
13:23 darbelo It doesn't have correct deps yet, it just manages to build. I could be just luck...
13:23 parthm joined #parrot
13:24 whiteknight Austin: does Kakapo have any facilities for working with pipes, or redirecting STDIO?
13:24 parthm I am trying to allow newlines at specific places as I want to allow both newline and ';' to work like end of expression, something like js.
13:24 Austin Not really.
13:24 Austin Program allows redirecting std*, but that's it.
13:24 WorkingCoke darbelo: yah, you're missing deps.
13:24 parthm Does something like http://pastebin.com/NjcTmx6e seem correct, my grammar may be more antlr style, haven't got parrotfu yet.
13:24 Austin I think you want File.open()
13:24 whiteknight Austin: okay, these are things I will probably add
13:25 WorkingCoke (darbelo - make -j1 will probably work, though)
13:25 darbelo ;)
13:26 Austin parthm: You need to look up the token/rule stuff about whitespace. Unless you're doing a very restrictive project, you don't need to worry much about whitespace at all.
13:27 Austin The newline vs ';' thing is one of those places where an action routine becomes part of the grammar. The NQP grammar ($_RX/src/NQP/Grammar.pm) does something like that, because P6 lets a } end a statement without a semicolon.
13:28 Austin The problem is recognizing when it's okay to end a statement, given that someone could code:    foo = bar \n + baz;
13:29 Austin So I'd recommend that you require the semicolon until you have the rest of your grammar issues worked out, then go back and see how much you can relax the rule.
13:29 parthm Austin: yes. that exactly what I am hoping to do. thanks for the pointer. will look at that. that should help clean up the grammar quite a bit.
13:30 parthm yes. thats probably better, will stick to ; initially.
13:32 cognominal joined #parrot
13:38 dalek parrot: r45063 | darbelo++ | branches/include_dynpmc_makefile (3 files):
13:38 dalek parrot: Pull in some makefile cleanups from the rm_dynpmc_make branch.
13:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45063/
13:38 dalek parrot: r45064 | darbelo++ | branches/include_dynpmc_mak​efile/src/dynpmc/Rules.in:
13:38 dalek parrot: Remove explicit .o -> .c deps, we have a suffix rule to take care of that.
13:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45064/
13:40 bubaflub joined #parrot
13:43 patspam joined #parrot
13:45 WorkingCoke darbelo: so, what inspired you to work on this today? =-)
13:46 darbelo I've had it in for recursive makes for a while now.
13:46 darbelo But I'm diving into build-land mostly as investigation for the RTEMS port.
13:46 WorkingCoke excellent.
13:46 WorkingCoke after this, the only one left is docs.
13:47 WorkingCoke (that's part of the normal build, anyway, which is all I care about atm)
13:47 darbelo I want all instances of $(MAKE) to go away. But I can live with just the regular build.
13:47 parthm joined #parrot
13:49 nopaste "Whiteknight" at 173.12.37.77 pasted "Non-working Program example for Austin++" (18 lines) at http://nopaste.snit.ch/20006
13:49 whiteknight Austin: Any idea why this program isn't printing anything?
13:51 Austin Never gets .run
13:52 whiteknight I copied the code mostly from http://code.google.com/p/kak​apo-parrot/wiki/ProgramClass
13:52 whiteknight where does the .run happen, at the bottom? Program::instance.run()?
13:52 Austin That would work, and is probably the right way.
13:53 Austin (program instance gets run by krt0, but you're not linking.. and probably shouldn't be.)
13:54 dalek parrot: r45065 | darbelo++ | branches/include_dynpmc_mak​efile/src/dynpmc/Rules.in:
13:54 dalek parrot: Make dynpmc .dumps depend on vtable.dump
13:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45065/
13:58 darbelo And that's the last bit of rm_dynpmc_make I needed to salvage.
14:02 payload1 joined #parrot
14:03 Andy joined #parrot
14:03 WorkingCoke darbelo: last step: either add the deps manually (ew, but if you do that, have checkdepend start complaining about dynpmc again), or fixup the generation of pmc rules during config to cover the dynpmc rules.
14:05 darbelo Coke: Yep, I'm looking into that, but I can't run checkdepend on this box (missing a module). I'll go for config-time generation.
14:06 whiteknight damnit! my plans are ruined. I'm getting some stupid error when I attempt to use a StringHandle for IO redirection
14:07 WorkingCoke darbelo: I have the report from checkdepend if you want it.
14:07 darbelo nopaste?
14:07 purl nopaste is paste2.org
14:08 Austin whiteknight: I've done it.
14:08 Austin WHoa.
14:08 Austin Who hosed up nopaste?
14:08 whiteknight Austin: example code?
14:08 whiteknight I get a segfault when I attempt to use a StringHandle as stdout
14:08 Austin ack StringHandle, it's in the testcases for Program?
14:08 Myhrlin joined #parrot
14:09 WorkingCoke darbelo: http://feather.perl6.nl/~coke/err?
14:09 Austin yeah, t/Program.nqp
14:09 nopaste "Austin" at 68.39.12.202 pasted "StringHandle for Whiteknight++" (19 lines) at http://nopaste.snit.ch/20007
14:10 whiteknight awesome, I got it working!
14:10 whiteknight this is going to be awesome
14:10 Austin Heh.
14:10 Austin Yes, it is.
14:11 dalek parrot: r45066 | darbelo++ | branches/rm_dynpmc_make:
14:11 dalek parrot: Brach has been superseded by include_dynpmc_makefile.
14:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45066/
14:11 nopaste "Austin" at 68.39.12.202 pasted "Here's how you test a compiler driver" (16 lines) at http://nopaste.snit.ch/20008
14:13 WorkingCoke darbelo: looks like a lot more failures than I expected in checkdepend.pl
14:14 darbelo You're not blaming them all on *me*, are you?
14:15 WorkingCoke no, no.
14:15 WorkingCoke just pointing them out.
14:15 WorkingCoke the "couldn't find" at the top are because of our recent changes.
14:15 WorkingCoke most of the others seem to be from an overeager inclusion of pmc_parrotinterpreter.h
14:15 WorkingCoke lemme see if i can fix that one.
14:16 WorkingCoke ... bah. no. WorkingCoke must not.
14:16 darbelo No worries, I can get them on trunk after mergeback.
14:17 Austin nopaste?
14:17 purl i think nopaste is paste2.org
14:20 WorkingCoke msg particle - the manifest lines in the makefiles; is the 'if exist' necessary, or can/should the manifest always be generated?
14:20 purl Message for particle stored.
14:20 Austin no, nopaste is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
14:20 purl okay, Austin.
14:21 Austin nopaste is also http://paste.scsys.co.uk
14:21 purl okay, Austin.
14:21 Austin nopaste is also http://www.extpaste.com
14:21 purl okay, Austin.
14:21 Austin nopaste is also http://gist.github.com
14:21 purl okay, Austin.
14:21 particle coke: where should i be looking? Makefile?
14:22 Austin nopaste?
14:22 purl it has been said that nopaste is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or http://paste.scsys.co.uk or http://www.extpaste.com or http://gist.github.com
14:22 Austin thanks, purl
14:22 purl de nada Austin
14:22 WorkingCoke particle: root.in
14:24 WorkingCoke it's run every time there's a link, it would seem. (wondering if we can: 1) simplify the rule, and 2) make it a separate dep instead of doing the if check)
14:25 WorkingCoke that should probably not be a numbered list, but oh well.
14:27 darbelo WorkingCoke: Where should I look if I want the dynopmc deps to be automatically generated?
14:27 parthm left #parrot
14:27 dalek parrot: r45067 | darbelo++ | branches/include_dynpmc_mak​efile/src/dynpmc/Rules.in:
14:27 dalek parrot: Update some Makefile variable names.
14:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45067/
14:29 bubaflub hey parrot people, do we currently have a install working with MacPorts?
14:30 bubaflub if not, i might be able to whip something up
14:31 WorkingCoke darbelo: config/mumble/pmc.pm ?
14:31 WorkingCoke bubaflub: there's a ticket:
14:31 WorkingCoke TT #1415
14:32 WorkingCoke that can probably be updated to 2.2.0 with little effort.
14:32 WorkingCoke I have privs on the macport, and can put in a request to get it installed once we've verified it's working on the latest version.
14:32 darbelo Aha! it's in auto/ not gen/
14:38 dalek joined #parrot
14:38 estrabd_ joined #parrot
14:38 atrodo_ joined #parrot
14:38 magnachef_ joined #parrot
14:38 betterwosld joined #parrot
14:38 GeJ_ joined #parrot
14:38 whiteknight NQ doesn't support multiple return values, does it?
14:38 wagle joined #parrot
14:41 moritz joined #parrot
14:41 TimToady joined #parrot
14:41 zibri joined #parrot
14:41 he joined #parrot
14:41 integral joined #parrot
14:41 jhelwig joined #parrot
14:41 ttbot joined #parrot
14:41 jan joined #parrot
14:41 PacoLinux joined #parrot
14:41 cosimo joined #parrot
14:41 slavorg joined #parrot
14:41 kjeldahl joined #parrot
14:41 janus joined #parrot
14:41 nopaste joined #parrot
14:41 fperrad joined #parrot
14:41 bubaflub joined #parrot
14:41 Andy joined #parrot
14:41 fperrad_ joined #parrot
14:41 hudnix joined #parrot
14:41 Hunger joined #parrot
14:41 sri joined #parrot
14:41 GeJ_ joined #parrot
14:41 betterwosld joined #parrot
14:41 magnachef_ joined #parrot
14:41 atrodo joined #parrot
14:41 Myhrlin joined #parrot
14:41 patspam joined #parrot
14:41 cognominal joined #parrot
14:41 iblechbot joined #parrot
14:41 whiteknight joined #parrot
14:41 Austin joined #parrot
14:41 AndyA joined #parrot
14:41 snarkyboojum joined #parrot
14:41 smash joined #parrot
14:41 clinton joined #parrot
14:41 plobsing joined #parrot
14:41 riffraff joined #parrot
14:41 sorear joined #parrot
14:41 Mokurai1 joined #parrot
14:41 eternaleye joined #parrot
14:41 hercynium joined #parrot
14:41 Patterner joined #parrot
14:41 WorkingCoke joined #parrot
14:41 _2x2l joined #parrot
14:41 preflex joined #parrot
14:41 hiroyu___ joined #parrot
14:41 cotto_work joined #parrot
14:41 jsut joined #parrot
14:41 contingencyplan joined #parrot
14:41 elmex joined #parrot
14:41 mj41 joined #parrot
14:41 workbench joined #parrot
14:41 dngor joined #parrot
14:41 particle joined #parrot
14:41 NotFound joined #parrot
14:41 gaz joined #parrot
14:41 szabgab joined #parrot
14:41 sjn joined #parrot
14:41 knewt joined #parrot
14:41 baest joined #parrot
14:41 Maddingue joined #parrot
14:41 frodwith joined #parrot
14:41 athomason joined #parrot
14:41 treed joined #parrot
14:41 jjore joined #parrot
14:41 Infinoid joined #parrot
14:41 rhr joined #parrot
14:41 solarion joined #parrot
14:41 ingy joined #parrot
14:41 Tene joined #parrot
14:41 bacek_at_work joined #parrot
14:41 confound joined #parrot
14:41 pmichaud joined #parrot
14:41 KatrinaTheLamia joined #parrot
14:41 PerlJam joined #parrot
14:41 purl joined #parrot
14:43 particle coke: only recent versions of msvc generate *.manifest files, older ones (e.g. 6.0) do not.
14:43 darbelo Do we care about stuff that old?
14:44 darbelo Visual studio 6 is from what? ten year ago?
14:45 darbelo We sure as hell don't build on *widows* from that timeframe.
14:47 whiteknight Austin: I'm hitting a snag. I'm trying to run multiple test suites from within a single process, and Suite craps out telling me the plan is already set
14:47 whiteknight "Tried to set the test plan when it already exists"
14:48 Austin Well that's no good.
14:48 Austin Did you look at t/UnitTest/AllTests?
14:48 lucian joined #parrot
14:50 whiteknight yeah
14:50 whiteknight what is it doing there, merging the suites together?
14:50 Austin Yeah, it's getting a sub-suite from each file, and then building a master suite of all the subsuites.
14:50 Austin The TapListener uses Test::Builder, which is where that error probably comes from.
14:51 Austin If there's a way to shut down the Tap, I'm probably not using it right.
14:53 Austin Although this line in Test/Builder.pir doesn't inspire a lot of confidence:   "  # XXX - delete globals"
14:55 cottoo joined #parrot
14:55 cottoo good morning
14:57 whiteknight Austin: is there a particular reason why you're using Test::Builder here? Seems like you have all the scaffolding to just do the work yourself without the dependency
14:57 ruoso joined #parrot
14:58 Austin There's not a strong reason. I wanted to be sure I could interoperate with the existing library.
14:58 Austin So I did.
14:58 Austin :)
14:58 dalek rakudo: c05da93 | masak++ |  (2 files):
14:58 dalek rakudo: [Set.pm] new class in core
14:58 dalek rakudo: It currently does union, intersection and set difference. It contains methods
14:58 dalek rakudo: for checking subset and superset relationships. There are two sets of ops for
14:58 dalek rakudo: the above: one unicode set and one 'Texas' parenthesized set. This is all a
14:58 dalek rakudo: bit above and beyond the current spec, but quite close to what I envision for
14:58 dalek rakudo: core.
14:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​05da93cc378a188c6dcc800c00d06e9b8f3eb74
14:59 Austin (Which, of course, translated into a couple of TT#s ...)
14:59 whiteknight Austin: okay, better question: How do I go about using my own test_builder in Listeners.nqp?
14:59 Austin Call the .test_builder method with one.
14:59 Austin $listener.test_builder( $my_test_builder )
14:59 whiteknight okay, how do I get a reference to the $listener?
15:00 whiteknight I wouldn't mind fixing this issue in test::builder,but I would have to wait a month for changes to precolate through
15:01 Austin The Testcase has a "default_result" method that creates a Result, and configures it using add_listener.
15:02 Austin You can do $result.remove_listner( $result.listners[0] )
15:02 Austin And replace it with your own.
15:02 Austin *spelling
15:02 lucian about the new GC work, would simple reference counting + cycle detection be useful?
15:03 Austin lucian: Most of the devs consider reference counting to be the spawn of the devil.
15:03 particle darbelo: yes, i care about visual studio 6.
15:03 lucian it would be a new pluggable GC and it would at least be a predictable one (i.e. realtime)
15:03 lucian Austin: i know it's bad, but it has its uses and it's very simple
15:03 particle but, technically, we don't have to, it's not in our list of platforms specifically
15:04 Austin Lucian: Don't sell me - I'm an HLL guy. It's bacek & company...
15:04 lucian Austin: well, i was just responding to your 'spawn of the devil' comment
15:04 lucian whiteknight: bacek_at_work: ping
15:05 whiteknight hello lucian:
15:05 particle lucian: reference counting code would be spread throughout the codebase, no?
15:05 whiteknight the problem with refcounts is that we would need to add them throughout the entire codebase, including to all compiled extensions
15:05 WorkingCoke I suspect that anything that requires our end users to implement reference counting is going to get downvoted.
15:05 lucian whiteknight: isn't it possible to isolate it behind a pluggable GC?
15:06 lucian whiteknight: i know it's possible in general (PyPy has one), but i don't know much about the parrot codebase
15:06 darbelo particle: As long as someone cares for it, I'm not going to go out of my way to break it.
15:06 whiteknight lucian: no. The only way to do referene counting is to modify a running count when references are made
15:07 whiteknight you can't hide it anywhere
15:07 Austin Whiteknight: The Suite class does the same thing, and that's where you probably want to intercept the listener.
15:07 lucian whiteknight: doesn't the gc track references anyway?
15:07 lucian whiteknight: and the gc also has its own custom headers
15:07 whiteknight lucian: no, the GC doesn't track references in real time
15:07 whiteknight the GC runs at specific times and traces all references at once
15:08 lucian whiteknight: yes, the current one
15:08 purl the current one is correct, when a compiler wants to generate spills of registers
15:08 lucian whiteknight: again, i admin my parrot ignorance
15:13 lucian whiteknight: hmm, true, in parrot i don't think it's possible
15:13 lucian whiteknight: PyPy affords to do it because they make modifications on the interpreter's AST directly to add a GC
15:18 lucian whiteknight: yes, it's a transformation http://codespeak.net/svn/pypy/trunk/pypy/​rpython/memory/gctransform/refcounting.py
15:19 lucian so in parrot, you'd need to parse the C AST and do something similar. which is extremely evil
15:32 dalek parrot: r45068 | petdance++ | trunk/src/pmc/parrotinterpreter.pmc:
15:32 dalek parrot: consting and localizing
15:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45068/
15:38 WorkingCoke Andy: you might also be interested in the new (to you) tools/dev/checkdepend.pl
15:38 nopaste "Whiteknight" at 173.12.37.77 pasted "Nqp.nqp for Austin++" (35 lines) at http://nopaste.snit.ch/20009
15:38 japhb Austin, Ah, so moving the MAIN() invocation into INIT {} would work for that one simple example script, but not the real world ones, got it.
15:38 WorkingCoke (which will eventually turn into a dep generator instead of a dep verifier.)
15:39 whiteknight Austin: just prototype code, I have't even tried to run it yet, but it's a start
15:40 Andy WorkingCoke: Why am I interested in it?
15:40 WorkingCoke only because of your long ago interest in makefile deps.
15:41 Andy it's checking in the Makefile then?
15:42 Austin Whiteknight: I'm pretty leery of the handle-swapping stuff being in Nqp. I like the other ideas.
15:42 whiteknight Austin: which other ideas?
15:42 whiteknight my goal here was to let the other "program" run in the same Parrot/NQP instance, but act like it's separate
15:42 Austin Separate other functions for compiling and running strings, files, etc.
15:43 Austin Okay.
15:43 Austin And Program wants to do that.
15:43 whiteknight this is what I'm trying to do in the new PLA harness
15:43 Austin But Program doesn't have to be the only user of that functionality.
15:43 Austin Ah. Go ahead.
15:43 whiteknight ok, I don't mind putting it into Program
15:43 Austin What are you trying to do in PLA?
15:44 whiteknight I'm trying to rewrite the test harness to be 100% kakapo and to run the tests directly, not spawn subprocesses
15:44 Austin Okay.
15:44 whiteknight http://github.com/Whiteknight/parrot-lin​ear-algebra/blob/master/t/harness2#L121
15:45 whiteknight and it would work perfectly if it weren't for that meddling test::builder problem
15:46 WorkingCoke Andy: do you have a tool to help with the localizing, or is that just you eyeballing the code?
15:46 Andy just eyeballing
15:46 Andy it's pretty natural now.
15:46 Andy Things just jump out at me.
15:46 Austin Does that work?
15:46 WorkingCoke Andy: yes, it parse the makefile, and compares that to the actual C (and perl and pir) files.
15:46 Austin With the open-rw?
15:46 WorkingCoke "parses"
15:46 whiteknight Austin: yeah, works fine...for the first test. Second test craps out because test::builder can't redefine the plan
15:47 Austin Right, okay.
15:47 Austin Wow! That's cool.
15:47 WorkingCoke so, when it generates the deps, we'd have it just overwrite the makefile bits instead of checking them.
15:47 Austin Whiteknight++
15:47 whiteknight I guess I could go into the namespace and clear it out directly
15:47 dalek parrot-linear-algebra: 25242d3 | Whiteknight++ | t/harness2:
15:47 dalek parrot-linear-algebra: adding a new harness which uses kakapo and runs completely in a single process without starting new instances of parrot-nqp. does not work because of errors in Test::Builder
15:47 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/25242d33778b6bb5a72f333489bf37e4365b02e8
15:49 Austin That run_test function is EXACTLY what I was thinking about..
15:49 Austin Instead of putting the handle-swapping into Nqp, there needs to be a run-this-with-swapped-handles
15:49 Andy trying my newly-built clang
15:50 Austin (Which I'm pining for right now in Close, too.)
15:51 Austin But maybe it *is* a Program...
15:51 Andy WorkingCoke: the config stuff thinks that clang is GCC.  That's a good thing.
15:52 Andy Or rather, it's happy with the GCC warnig flags
15:52 Austin class PluggableProgram is Program { has &!main;  method main() { &!main(); } }
15:52 Austin class PluggableProgram is Program { has &!main;  INIT { auto_accessors(:private); }  method main() { &!main(); } }
15:53 Andy WOW, color-coded errors!
15:53 lucian Andy: and very nice to read
15:58 whiteknight Austin: I think I have it fixed!
15:58 Austin Heh
15:58 whiteknight twas an 'orrible hack, but I did it
15:58 Austin How?
15:59 whiteknight $P0 = new "Undef"
15:59 whiteknight set_hll_global [ 'Test'; 'Builder'; '_singleton' ], 'singleton', $P0
16:00 whiteknight somewhere, somehow, I can hear chromatic crying
16:00 Austin Gaaaak!
16:00 Austin rofl
16:01 Austin I got yer freaking singleton.. right here!
16:01 Austin And here.
16:01 Austin And over here...
16:01 Austin And there's a couple that went under the couch...
16:03 whiteknight hey, I said it wasn't pretty
16:05 whiteknight ...as if the disclaimer is enough to redeem my sin
16:08 lucian whiteknight: you must repent, or you will lose your mind to the Old Ones
16:08 darbelo whiteknight: There's no redemption for you. Sinner.
16:08 Austin lucian: Too late.
16:10 cotto_work hello
16:10 purl que tal, cotto_work.
16:11 Austin Time for ... what's today's special?
16:12 cotto_work pork feet
16:12 Austin Shrimp basket & fries, or a Chicken gyro...
16:12 whiteknight mmm...both of those sound delicious
16:28 dukeleto 'ello
16:28 whiteknight hello duke
16:28 dukeleto whiteknight: good mornin'
16:38 dalek parrot: r45069 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
16:38 dalek parrot: [distutils] make missing output directory (step build)
16:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45069/
16:42 cotto_work fperrad, does distutils support parallel builds and tests?
16:42 whiteknight incoming
16:42 purl duck!
16:44 davidfetter joined #parrot
16:45 fperrad cotto_work, nothing for parallel
16:45 fperrad distutils find your t/harness or yours t/*.t, and run them
16:46 dalek parrot-linear-algebra: 023e585 | Whiteknight++ | t/ (6 files):
16:46 dalek parrot-linear-algebra: Add a 'fix' to work around the Test::Harness bug. Disclaimer: The workaround is evil. overwrite the harness with the new kakapo-based one.
16:46 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/023e5853df056fe5514709d752d1a706f65b7bf7
16:46 dalek parrot-linear-algebra: 33db2ac | Whiteknight++ | t/ (2 files):
16:46 dalek parrot-linear-algebra: add a run_test utility that allows us to run an individual test file with all the same scaffolding and setup that the harness prepares.
16:46 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/33db2acda707d016c7a80ebbcd235d60a3ffd0de
16:46 dalek parrot-linear-algebra: ef82b81 | Whiteknight++ |  (2 files):
16:46 dalek parrot-linear-algebra: fix one test failure in charmatrix2d, remove Glue.pir from the build
16:46 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/ef82b813e30e6f88926f939dd8ececdf5f49f37f
16:46 dalek parrot-linear-algebra: 5979c9f | Whiteknight++ |  (3 files):
16:46 dalek parrot-linear-algebra: some much needed aesthetic improvements in setup.pir and t/harness
16:46 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/5979c9fe5e1510c24869f15d16d89d9d9be8c994
16:48 silug joined #parrot
16:52 dalek parrot-linear-algebra: 39602fc | Whiteknight++ | t/testlib/matrixtest.nqp:
16:52 dalek parrot-linear-algebra: a few comments in the testlib
16:52 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/39602fced89b7ae693a612b9f9ba944168135355
17:04 * dukeleto does perldoc Configure.pl for the first time. wheeeeeeeee
17:07 jan joined #parrot
17:08 payload joined #parrot
17:09 darbelo dukeleto: I was diving into the build earlier, I can probably help you cook up a config-file fro cross-builds.
17:10 darbelo The only problem I see is that parrot is called pretty extensively by the build.
17:11 darbelo So, if you have too-different platforms you are likely to end using two parrots or settling for an incomplete build.
17:16 payload left #parrot
17:16 dukeleto darbelo: what exactly do you mean?
17:17 dukeleto i am seeing "ESC[1m" and such all over the place when I perldoc Configure.pl, anybody have an idea how to fix that? my TERM=xterm-color
17:18 darbelo Extreme example: You are on a Solais SPARC box and want to build a parrot that will run on, say, Linux x86.
17:19 atrodo dukeleto> what's your pager set to?
17:20 darbelo You have a cross compiler, and can coax Configure into using the right values for most things, but when the build tries to do "miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc" you don't have a suitable parrot
17:20 darbelo becous you are on SPARC and the miniparrot you just compiled is meant to run on x86.
17:31 parthm joined #parrot
17:34 dukeleto atrodo: PAGER=less
17:34 dukeleto darbelo: that is an interesting scenario
17:35 dukeleto darbelo: i guess right now, i am attempting to cross-compile for the same OS, but different hardare, in the case of OpenEmbedded
17:35 atrodo dukeleto> Bizzare.  If i do "PAGER=less perldoc Configure.pl" I get what you see, but "PAGER= perldoc Configure.pl" it shows correctly
17:36 dukeleto darbelo: your scenario is what is going to happen with Parrot+RTEMS, tho. but those guys seemed to have figured it out
17:37 dukeleto atrodo: PAGER= perldoc Configure.pl looks the same for me, but PAGER="less -FXRS" perldoc Configure.pl makes it work
17:38 atrodo weird
17:40 dukeleto atrodo: thanks for making me investigate my PAGER, tho!
17:40 darbelo dukeleto: If we had a 'universal' bytecode format we could just use the host parrot and bundle the cross compiled binaries with the 'cross-pbc'
17:41 dukeleto darbelo: so it looks like if i create a file-based configure for Parrots bitbake recipe, i may be able to get farther without having the --builddir option
17:41 atrodo dukeleto> no problem.  I have a very regular problem with colordiff that requires me to pipe it "less -r" or else i see exactly the same thing
17:41 dukeleto darbelo: what makes our bytecode non-universal?
17:41 dukeleto atrodo: yes, i hit that wall regularly as well
17:42 darbelo dukeleto: It stores data (floatval, intval) in platform native format.
17:44 darbelo A i386 INTVAL will differ from a xm64 INTVAL when stored on teh PBC, for example.
17:44 cotto_work but both formats should be readable by any parrot
17:44 darbelo s/xm64/amd64/
17:45 dukeleto darbelo: is that by design? for performance?
17:46 darbelo It encodes a description in the header, so it's theoretically possible to load any bytecode, but we have never tested that.
17:47 parthm i am trying to get the squaak grammar to work with HLL::Grammar. Most of the grammar is similar but I am not quite sure what to do about "rule expression is optable { ... }".
17:47 darbelo dukeleto: Storing in platform native format is a semi-optimization.
17:47 parthm it fails with "Confused at line 199, near "rule expre"". any pointers would be much appreciated.
17:47 darbelo If the parrot that reads the pbc is on the same arch that wrote it, there's no conversion of any kind needed.
17:48 darbelo Also, it might make possible in the futuro to just plain mmap() the bytecode into memory.
17:49 dukeleto parthm: what versions of stuff are you using? asking on parrot-users is also a good idea
17:49 darbelo Which we don't at present, but it's a future we've wanted in the past ;)
17:50 particle dukeleto: squaak is pretty out of date, iirc
17:50 parthm dukeleto: i am using parrot 2.2.0. IIUC HLL::Grammar is recommended over PCT::Grammar, right? The squaak example is PCT based.
17:50 dukeleto particle: yeah, seems so
17:51 dukeleto particle: yes, i believe you are correct
17:52 darbelo HLL::Grammar isn't compatible with PCT::Grammar, substituting one for the other is likely to be explodey.
17:52 parthm particle: is there a somewhat simple example that I can look at. i am looking at nqp-rx but thats a bit complex for me at this point. something like squaak is an ideal starting point.
17:53 M_o_C joined #parrot
17:54 particle i'm pretty sure abc has been kept reasonably up-to-date
17:55 particle http://trac.parrot.org/parrot/wiki/Languages  but where is abc?
17:55 particle ah, inactive, sigh.
17:56 particle parthm: try Close, that's a good one
17:56 lucian joined #parrot
17:56 dukeleto particle: yes, Close is very active and the lead dev (Austin) is usually very quick to answer questions and fix stuff
17:57 dukeleto ug
17:57 parthm particle: Close seems good. thanks for the pointer :-)
17:57 dukeleto parthm: last comment was meant to go to you
17:57 WorkingCoke partcl-nqprx isn't too enormous yet, either.
17:57 particle good point, coke
17:57 parthm dukeleto: yes :-)
17:58 parthm WorkingCoke: thanks. will look at partcl-nqprx also.
18:01 Psyche^ joined #parrot
18:02 WorkingCoke partcl-nqp?
18:02 purl somebody said partcl-nqp was http://github.com/partcl/partcl-nqp
18:04 joeri joined #parrot
18:05 parthm close seems to be failing the build. its looking for parrot_nqp instead of parrot-nqp. http://pastebin.com/Vg9pA42j i will try renaming.
18:06 WorkingCoke parrot_nqp and parrot-nqp are 2 different programs.
18:07 WorkingCoke hopefully the new one is a drop in replacement for the old.
18:08 darbelo WorkingCoke: It isn't drop-in.
18:08 WorkingCoke so close is dead, then?
18:08 parthm WorkingCoke: unfortunately it doesn't seem to work: http://pastebin.com/Tk4Zfscg :-(
18:09 parthm I think going through the grammar will help anyway. I will try partcl-nqp.
18:09 WorkingCoke partcl-nqp is mine, feel free to ping me with problems/questions, etc.
18:09 darbelo I think Austin is devoting his time to kakapo now.
18:09 parthm the last update to close seems recent. http://code.google.com/p/close/updates/list
18:12 darbelo Updated recently != Working
18:13 parthm WorkingCoke: partcl-nqp works nicely :-) thanks.
18:13 WorkingCoke whee!
18:14 parthm thanks for the help everyone.
18:15 * parthm goes digging into sources hoping to learn some parrotfu
18:21 dalek parrot-linear-algebra: 1860e65 | Whiteknight++ | t/run_test:
18:21 dalek parrot-linear-algebra: small fix to run_test utility. When the .run is in the INIT block I get a weird 'No exception handler and no message
18:21 dalek parrot-linear-algebra: ' error. When I move it outside, everything works fine.
18:21 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/1860e65096ef1eac64580eef73ba71bc00dba5ce
18:21 dukeleto parthm: "Teach me to sweep, master". "Go fetch a broom."
18:22 parthm dukeleto: :-)
18:25 parthm left #parrot
18:33 whiteknight purl msg chromatic (Re tt389_fix) I think my earlier assessment is incorrect. It does look like we are walking the MRO of inherited types just fine. All of the test failures I see in the repo now do involve inheritance of methods from built-in classes, but I can' figure out why they are failing
18:33 purl Message for chromatic stored.
18:37 hiroyuki_y joined #parrot
18:38 Khisanth joined #parrot
18:49 davidfetter joined #parrot
18:59 Psyche^ joined #parrot
19:13 dalek tracwiki: v33 | coke++ | BranchDescriptions
19:13 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Branc​hDescriptions?version=33&amp;action=diff
19:15 lucian joined #parrot
19:50 whiteknight purl msg chromatic: I need a second pair of eyes. None of this shit code looks right. src/oo.c:find_method_direct_1 looks absolutely wrong because it recursively calls itself on the proxy object, but when I fix it thigns break. And PMCProxy.init_pmc looks all sorts of wrong, but when I fix it things break. All the while I still can't figure out why methods aren't inheriting.
19:50 purl Message for chromatic stored.
19:54 AndyA joined #parrot
19:57 WorkingCoke zzzzzzzzzzzz
19:58 cotto_work yyyyyyyyyy
20:09 bacek joined #parrot
20:10 bacek joined #parrot
20:18 AndyA_ joined #parrot
20:21 bacek o ai
20:21 WorkingCoke bacek: hio
20:22 bubaflub joined #parrot
20:26 bacek joined #parrot
20:28 bacek WorkingCoke: working? On Saturday???
20:30 WorkingCoke bacek: bite me.
20:30 WorkingCoke rather, er, wrong time zone.
20:30 bacek clock?
20:30 theory joined #parrot
20:30 purl bacek: LAX: Fri 1:30pm PDT / CHI: Fri 3:30pm CDT / NYC: Fri 4:30pm EDT / LON: Fri 8:30pm GMT / BER: Fri 9:30pm CET / IND: Sat 2:00am IST / TOK: Sat 5:30am JST / SYD: Sat 7:30am EST /
20:42 cotto_work bi bacek \
20:42 cotto_work *hi
20:43 bacek aloha cotto_work
20:43 cotto_work is your ping still relevant?
20:43 bacek bad news. My laptop died. So no parrot related work in next few days...
20:44 cotto_work sad times
20:44 bacek indeed...
20:44 purl indubitably
20:52 cotto_work did it explode into a glorious fireball?
20:53 bacek cotto_work: nope. Bloody nvidia just died
20:53 cotto_work It's a shame to have a wasted bacek-weekend.
20:55 cotto_work Hopefully you can at least get your important stuff off it via ssh.
20:57 bacek Yeah... But I don't have another one to put it on.
20:57 cotto_work Do you have a new machine ordered?
20:57 bacek Not yet.
20:58 bacek And new one will cost about $1500...
20:58 cotto_work ow
21:03 bacek Looks like only Dell produce laptops with Full-HD screens...
21:14 WorkingCoke bacek: get an account on feather!
21:14 bacek WorkingCoke: and 1 second ping?
21:15 WorkingCoke (then you can at least hack a bit.)
21:16 dalek joined #parrot
21:16 bacek I've got MacBook from work. But it's terrible-terrible thing...
21:16 WorkingCoke thbbthp.
21:16 Coke ->
21:33 dalek close: r191 | Austin_Hastings++ | trunk/src/Slam/parser/grammar.pg:
21:33 dalek close: Commenting old/bad pod
21:33 dalek close: review: http://code.google.com/p/close/source/detail?r=191
21:52 Whiteknight joined #parrot
22:08 Whiteknight hello #parrot
22:08 cotto_work hi Whiteknight
22:10 Whiteknight how are you doing today, cotto?
22:11 cotto_work Whiteknight, you may find this interesting:
22:12 cotto_work It's the number of times each op is called, +1 for each so the ops that aren't called show up.
22:12 cotto_work http://nopaste.snit.ch/20011
22:13 dalek parrot-linear-algebra: 8c9b6f7 | Whiteknight++ |  (2 files):
22:13 dalek parrot-linear-algebra: add iterate_function_external to complexmatrix2d. Add several tests to the common library. tests pass on the three main numeric types.
22:13 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/8c9b6f79ef0538faa1ffbf030ac3b76383f9e8be
22:13 dalek parrot-linear-algebra: 20ae715 | Whiteknight++ |  (10 files):
22:13 dalek parrot-linear-algebra: Merge branch 'master' of git@github.com:Whiteknight/parrot-linear-algebra
22:13 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/20ae7150e30ff7666fd68a0907e392039b744074
22:13 Whiteknight cotto: what benchmark?
22:13 purl It seems faster
22:13 cotto_work build and make test
22:13 cotto_work I instrumented DO_OP
22:13 cotto_work and by "instrumented" I mean "added a fprintf to"
22:14 Whiteknight nice
22:14 Whiteknight I would love to see the same readout for building an NQP-based HLL
22:14 Whiteknight Rakudo would be nice, but the build is already CPU intensive without more IO
22:15 cotto_work Yeah.  There's a considerable slowdown since I'm fopen/fprintf/fclosing a file for each op
22:15 Whiteknight better yet, the Kakapo build and test suite
22:16 cotto_work It's mostly so we can say "these op functions aren't exercised at all during the build and make test"
22:17 Whiteknight yeah, but if we could get information about ops which are never used in practice and can be culled, that would be awesome too
22:17 cotto_work Sure.  it's a simple patch.  it only needs to filter out the case where PC is null
22:18 cotto_work I can reimplement and nopaste when I get home.  I'm hesitant to post runnable code written on the clock, even if it'd never be committed.
22:19 cotto_work op_info_t is nice
22:24 snarkyboojum joined #parrot
22:28 plobsing looking at the nopaste from cotto++, I noticed we have clear{i,n,s,p} ops. When are those ever useful?
22:35 lucian Whiteknight: couldn't parrot grow a logging and reporting mode for that?
22:36 cotto_work we're accepting patches
22:36 cotto_work ;)
22:37 lucian heh. i'm actually slightly worried there are so many ops
22:37 cotto_work you should be
22:37 purl who says?
22:37 lucian makes reimplementing parrot or writing a jit harder
22:38 lucian cotto_work: couldn't many of them be composed in pasm/pir from others?
22:38 cotto_work that's the idea behind Lorito
22:39 lucian cotto_work: right. i have a slightly crazy idea of implementing parrot in RPython/PyPy
22:39 lucian well, maybe more than slightly
22:41 cotto_work maybe
22:41 lucian cotto_work: it would have some clear benefits, like several good GCs and JIT for free
22:42 lucian cotto_work: and you could theoretically run parrot on pynie on parrot
22:42 lucian cotto_work: (RPython is a strict subset of Python)
22:47 Whiteknight cotto_work: the 1s in that list, where do they come from?
22:47 cotto_work i added 1 to all ops.  THe ones with 1 aren't called at all
22:48 Whiteknight okay, that's what I thought
22:48 Whiteknight There's a backtrace op? I wonder if it does what I hope it does
22:49 Whiteknight ...it sort of does!
22:49 cotto_work It's nice at times
22:56 snarkyboojum joined #parrot
23:07 sorear What are the requirements for the mythical new (post perl5) configure system?
23:09 Whiteknight must build parrot. must not use perl 5
23:12 cotto_work cross-compiling would be a non-trivial plus\
23:14 tetragon joined #parrot
23:20 cotto_work plobsing, I imagine that the clear ops could be ripped out and nobody would notice.
23:21 cotto_work I'll build bunch of stuff (rakudo, nqp-rx, close, kakapo, whatever) and post the op frequency to parrot-dev
23:26 Whiteknight I could pick 100 opsou of this list that could easily disappear with no pain
23:26 Whiteknight s/opsou/ops out/
23:26 dalek rakudo: 53ace9a | jonathan++ | src/ (3 files):
23:26 dalek rakudo: First cut of reduce ops. Don't handle the triangle case yet (but it's an uncomment and some LHF away for some enterprising soul).
23:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​3ace9a064e1cc8cfdb532a03d46296b2886052f
23:26 cotto_work Do it.  Do it naough.
23:27 Whiteknight another 300 can go with ony minor adjustment (maybe moved to dynop) without affecting our major HLLs
23:29 GodFather joined #parrot
23:29 dalek parrot: r45070 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
23:29 dalek parrot: [distutils] add item inst_data
23:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45070/
23:32 sorear How do people feel about 'make' here?
23:32 cotto_work It's stupid.  Do you have something better?
23:33 cotto_work That's my general impression, at least.
23:34 lucian cmake?
23:34 purl well, cmake is a nice alternative to autoconf
23:34 lucian purl: nobody asked you
23:34 purl lucian: what?
23:34 lucian purl: botspank
23:34 * purl sticks her tounge out at lucian
23:35 japhb sorear, what do you want to use make for?
23:35 cotto_work I *think* that we use make because it's commonly available.
23:36 japhb For building parrot modules, distutils seems to be the base tool (and Plumage knows how to operate it)
23:37 sorear japhb: I'm thinking about the replacement Parrot build system
23:37 lucian why is a new build system needed?
23:37 sorear not in terms of specifics... I'm trying to see if any of the wild ideas I have floating around would fit it
23:37 sorear lucian: because the current one requires Perl to be available.  See also: bootstrapping problem
23:38 lucian sorear: perl5 is installed pretty much everywhere. why is that a boostrapping issue?
23:40 japhb Perl 5 in the build has always seemed like more of a cultural sensitivity issue than a bootstrapping problem.
23:40 japhb Note: I tend to think Parrot is sometimes oversensitive, but I recognize that I am also biased because I'm a Perl advocate.
23:41 lucian japhb: i think NQP is much more culturally sensitive than a build system
23:41 lucian japhb: that could also be said about rake or scons or cmake or make ...
23:41 japhb lucian, now in that case you really *do* have a bootstrapping issue.  :-)
23:41 cotto_work What's wrong with Not Quite Python? ;)
23:42 japhb Everyone hates make equally.  Thus, the perfect culturally sensitive tool, by dint of being equally insensitive to everyone.
23:42 lucian japhb: true. but if non-cultural was that important, it would've been C-like
23:42 lucian cotto_work: it's nonexistence is somewhat bothersome
23:42 japhb That can indeed be a bit of an issue.
23:43 cottoo joined #parrot
23:43 japhb lucian, of course, you're welcome to implement it.  I'm sure it's just a matter of changing the grammar.  ;-)
23:44 lucian either one of C, bash, perl5 python2 and ruby1.8 exist on any recent enough system. so the best build system using one of these should be used i think
23:44 lucian japhb: i know, i know. i'm actually thinking of having a no-lib mode for pynie
23:44 lucian japhb: it would be a bit crazy to write the next version of pynie in the current version of pynie
23:45 japhb Pish posh.  I'm sure several people in #perl6 would tell you that's the only way to fly.
23:46 lucian japhb: i don't know how write-only perl6 is, but that strategy requires frequent rewrites
23:46 japhb They'd tell you that too.  ;-)
23:47 lucian see, i don't quite see eye to eye with perl folk
23:51 lucian japhb: perhaps i should've made a joke about parrots, pirates and eyes
23:51 japhb Heh.
23:51 japhb No worries, I just couldn't think of a snappy comeback.  :-)
23:51 sorear looks like I have a candidate.
23:51 sorear and Perl 6 is *not* write only
23:51 sorear it can also be executed
23:51 sorear most of the time
23:51 japhb heh
23:52 japhb R^X protection, baby.
23:52 lucian sorear: +x +w -r ?
23:53 japhb I would love to see some fMRI research done on the difference between the brain on Perl 6 and on Python 3.  There's got to be something there.
23:54 cotto_work You'd need to wait until you can get a larger sample size.
23:55 lucian japhb: wait till they're implemented and respectively used in production
23:55 japhb Nah, I meant just *reading* the source.
23:55 japhb Though, writing code in each would be interesting too.
23:57 cotto_work it's weekend time

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

Parrot | source cross referenced