Camelia, the Perl 6 bug

IRC log for #parrot, 2008-05-07

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Coke it was the first time I thought I knew what a continuation was. =-)
00:01 Coke sandwich?
00:01 purl rumour has it sandwich is a sandwich.  The styles are very different
00:01 Coke a sandwich is also a continuation sandwich. Yum!
00:01 purl okay, Coke.
00:02 wknight8111 I was trying to figure out how parameters were handled if you passed them into the coroutine on successive calls
00:03 wknight8111 experimentally, it looks like parameters are only passed the first time, and successive parameters passed are ignored
00:03 chromatic Sounds right.
00:06 wknight8111 okay, i was just making sure i was understanding things right.
00:07 tetragon In the interests of reducing the number of patches I manually apply every day, has anyone looked at the second patch in #53402 (I know it fails codingstd).  It lets my parrot builds display function names in backtraces instead of '(unknown)'
00:09 chromatic I'd rather see that in a header with a macro, but it looks reasonable otherwise.
00:11 Coke chromatic: http://rt.perl.org/rt3/Tic​ket/Display.html?id=37323 is closable, neh?
00:11 tetragon Parrot_print_backtrace?
00:12 chromatic tetragon, I just don't like #ifdef in .c files.
00:12 Sartak_ joined #parrot
00:12 chromatic Coke, go ahead.
00:12 tetragon chromatic: Those ifdefs were there when I got there.
00:13 chromatic in src/exceptions.c?
00:13 tetragon Yes
00:13 chromatic Huh.  The patch confuses me then.
00:13 tetragon Although I do consider moving the #include to the header
00:13 chromatic I'd define a macro FIND_BACKTRACE_SYMBOL(i) and #ifdef it.
00:14 tetragon Parrot_print_backtrace doesn't to single symbols, it does a full backtrace
00:15 chromatic the strchr/strings part gets a single symbol though.
00:15 tetragon strchr?  Oh, the code my patch replaces
00:15 chromatic Yep.
00:16 tetragon The old code gets a human-readable backtrace out of backtrace_symbols and parses out the symbol names
00:16 tetragon My patch rips that out and replaces it with dladdr calls
00:16 chromatic Ah.
00:16 chromatic I'm looking at the first patch in the ticket then.
00:16 chromatic I haven't seen any others.
00:16 tetragon There is a second patch there
00:16 tetragon I use it
00:17 chromatic Alright, I'll read that one instead and stop confusing us both.
00:18 chromatic Looks decent to me.
00:18 tetragon The second patch doesn't add any ifdefs
00:19 tetragon Although I think the #include <dlfcn.h> would probably be better in a header
00:19 chromatic Just thinking the same thing.
00:23 chromatic If you resubmit a patch with the include in a header, I'll test and apply.
00:25 tetragon There's also a pre-existing ifdef at the top of exceptions.c with an include in it
00:25 chromatic It could go there then.
00:26 * tetragon ponders to what extend the code is still "stolen from http://www.delorie.com/gnu​/docs/glibc/libc_665.html"
00:31 shorten joined #parrot
00:44 tetragon I've added a new version
00:46 chromatic The defines are PARROT_HAS_BACKTRACE and BACKTRACE_VERBOSE; are they isomorphic?
00:47 tetragon From what I see, BACKTRACE_VERBOSE only affects things when PARROT_HAS_BACKTRACE is set
00:47 chromatic Thought that might be the case.
00:48 tetragon And the only time I've seen BACKTRACE_VERBOSE set is the time I uncommented the define for a test
00:49 tetragon I think the only way to set it is to edit the source/Makefile
00:50 chromatic Testing now.
00:52 kid51 joined #parrot
00:54 dalek r27366 | chromatic++ | trunk:
00:54 dalek : [src] Removed a fragile glibc-ism from Parrot_print_backtrace() (Seneca
00:54 dalek : Cunningham, RT #53402).
00:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27366
00:56 Coke chromatic: 9 tickets to go.
00:56 chromatic I just closed another.
00:56 tetragon Down to two patches to apply every day (but those two aren't nearly as nice as that one)
00:57 Coke 8.
01:00 Coke I would not be heartbroken to see pirtidy.pl and the associated ticket vanish, if the goal is to eventually do this with something else.
01:07 japhb Coke: "tickets to go"?
01:08 chromatic We're trying to get below 700 new+open for the next release.
01:08 Coke should probably send out an email, though you're nearly there.
01:08 Coke kid51 just closed one.
01:09 Coke lucky number slevin.
01:09 * Coke wanders off to eat his last medifast ''meal'' of the day and have some lovely parting insulin.
01:10 japhb chromatic: you can get another knocked off by applying 53406.  ;-)\
01:13 chromatic I'm weighing the BigInt options there.
01:14 japhb chromatic: fair enough
01:14 chromatic How much work is there to use BigInts for this at the moment?
01:15 chromatic Also how much is this blocking you?
01:16 japhb chromatic: I dunno re: BigInt.  I was not the one that created that patch; I merely requested *some* way to handle 'long long', and that patch looked decent to me.
01:17 particle[ventus] joined #parrot
01:17 japhb chromatic: as for blocking me, I need the 'long long' functionality soon but not immediately.  However, I *do* want to get my patch (53430) unblocked, because I have more urgent stuff waiting on *that*.
01:17 chromatic Alright, I'll ask Mark to look into the BigInt stuff.
01:19 japhb I know you had an objection on 53430, and I responded, but I didn't see a response from you, which would tell me whether I should A) resubmit with just my suggestion handled, B) resubmit with my suggestion plus 53406 conflict handled, or C) something else entirely.
01:19 tetragon japhb: Like fixing up the linking of the GLUT callbacks so that make doesn't fail when I hit them in a no missing symbols allowed build?
01:19 japhb tetragon: huhwhat?
01:19 Theory joined #parrot
01:19 tetragon It's been mentioned a couple of times
01:20 japhb (I've been stuck in RL for a few days)
01:20 chromatic japhb, I can live with core.in, opengl.in, and misc.in.
01:20 japhb chromatic: OK, cool.
01:20 japhb So I'll regen with just that change, and expect 53406 to be handled later when the BigInt change is made?
01:20 tetragon If I tweak my build flags so that '-undefined dynamic_lookup' is not set (in other words, throw an error on an undefined symbol), my build trips over the callbacks
01:20 chromatic japhb, sounds reasonable to me.
01:21 japhb chromatic: OK, cool, thank you.
01:21 chromatic For what it's worth, the three-file approach you suggested sounds like the best fit overall.
01:21 chromatic I just hadn't thought through all of the implications until now.
01:21 japhb :-)
01:22 chromatic It solves another problem we'll run into eventually, so I'm sold.
01:22 japhb chromatic: Good!  But what's the other problem?
01:23 chromatic Knowing which thunks we need for a core even if we disable NCI in general.
01:23 japhb chromatic: ah yes, I had suspected from comments in a couple places that might be the case.  Sounds like my hunch was right.
01:24 tetragon japhb: And with "make -j2" it even tries to find symbols that haven't even been built yet
01:24 japhb tetragon: Your issue is the do_panic stuff, as I recall?
01:24 japhb IOW, stuff that comes from libparrot.so
01:25 tetragon Which is neither built yet nor included in the linker flags
01:26 japhb tetragon: OK, I'm working on an API improvement to the callbacks anyway, I'll try to address the symbol problems as part of the same patch.
01:26 tetragon The default OS X builds get past this point as they put off handling undefined symbols until runtime
01:26 japhb tetragon: ... but I gather that's suboptimal, and you'd like to get away from that
01:27 tetragon And _do_panic is the hidden symbol you depend upon
01:28 tetragon Doing away with the undefined symbol situation would have the side effect of stopping editline from tricking the readline test and causing "scary" messages from appearing to the builder
01:28 japhb tetragon: did anyone ever answer my question about A) making panic part of the parrot API, or B) a better way for a lib to panic in a parrot-friendly way?
01:28 tetragon I didn't see anything
01:29 * japhb may just print to STDERR and exit(), just to unblock you.
01:29 japhb (blocked developers)--
01:30 tetragon Simply resolving do_panic still doesn't help with the other libparrot symbols you depend on while omitting the link flags
01:31 japhb can you paste a list?
01:32 japhb (you probably did so before, sorry I've lost it)
01:32 tetragon The other symbols are exported by libparrot
01:33 tetragon _PMCNULL and _Parrot_runops_fromc_args_event
01:34 tetragon Although, libparrot doesn't exist yet.
01:36 japhb afk for a sec, brb
01:53 japhb bak
01:56 dalek r27367 | chromatic++ | trunk:
01:56 dalek : [src] Made data member of Stack_Chunk_t a Stack_Entry_t, not a void pointer
01:56 dalek : (Andy Dougherty, RT #53264).
01:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27367
02:07 Sartak_ joined #parrot
02:14 japhb chromatic: 27367 missing a file commit?  Parrot HEAD is not building for me, dying in src/stack_common.c , claiming a mismatch with include/parrot/stacks.h .
02:14 japhb paste?
02:14 purl i think paste is (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste
02:15 nopaste "japhb" at 76.191.190.8 pasted "Build failure with r27367" (11 lines) at http://nopaste.snit.ch/12908
02:23 pmichaud wknight8111: iiuc, the arguments sent to a .yield(...) call become the return values for the coroutine's call.
02:23 pmichaud (from scrollback)
02:24 pmichaud I think I might be able to close a few tickets tonight
02:25 pmichaud for one, I think that #49972 is now resolved.
02:27 japhb chromatic: 53430 patch now regenerated and resubmitted.
02:28 nopaste "tetragon" at 76.10.171.227 pasted "Same build failure, but using "make -j2" on OS X 10.5" (18 lines) at http://nopaste.snit.ch/12909
02:32 pmichaud I'm getting the same error as tetragon
02:36 pmichaud I think it's just that include/parrot/stacks.h didn't get updated
02:38 nopaste "kid51" at 70.107.11.144 pasted "r27367: Similar build error for 'make' on linux" (13 lines) at http://nopaste.snit.ch/12910
02:39 pmichaud I think I have r27367 fixed -- running 'make test' now and then committing
02:42 teknomunk joined #parrot
02:43 pmichaud r27368.
02:44 dalek r27368 | pmichaud++ | trunk:
02:44 dalek : [core]:
02:44 dalek : * Get include/parrot/stacks.h to match changes made to src/stacks.c
02:44 dalek :   in r27367.
02:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27368
02:48 janus joined #parrot
02:53 kid51 27368 worked for me on linux
02:58 * kid51 must sleep
02:58 purl $kid51->sleep(8 * 3600);
03:04 dalek r27369 | pmichaud++ | trunk:
03:04 dalek : [pge]:
03:04 dalek : * Fix handling of <.ws> rule in OPTable parsing (resolves RT#52718).
03:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27369
03:05 pmichaud six to go.
03:06 tetragon r27368 builds on OS X 10.5
03:23 japhb joined #parrot
03:25 japhb wheee ... OpenGL app + Flash for Linux + nVidia drivers = kaboom
03:26 japhb Well, at least Adobe is opening their Flash specs; I can hope for that to suck less some day.
03:26 japhb Anyway, 27368 working on Linux/i386
03:53 davidfetter joined #parrot
03:55 dalek r27370 | pmichaud++ | trunk:
03:55 dalek : [core]:
03:55 dalek : * Fix mul and n_mul opcodes for subclassed objects.
03:55 dalek :   Resolves RT#53108.
03:55 dalek :   (The other math ops apparently already worked.)
03:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27370
03:55 pmichaud five to go.
03:56 pmichaud resolved RT#48507.  four to go.
04:03 tetragon joined #parrot
04:23 Theory joined #parrot
04:25 Psyche^ joined #parrot
04:31 pmichaud I think we can close RT#39329.
04:35 chromatic_mowing_la If we send PMC_str_val to the underworld where it belongs....
04:35 chromatic_mowing_la Provided we follow PDD 17, we should be fine.
04:36 Patterner what would you do if it comes back as a zombie or undead?
04:37 japhb Call Shaun.
04:37 chromatic_mowing_la Head trauma.
04:45 japhb OK, I'm ready to submit some OpenGL improvements that depend on 53430.
04:51 chromatic_mowing_la I'm applying and testing now.
05:00 chromatic I'm in the distro tests and everything's passing.
05:00 chromatic Looks good.
05:00 purl O_O
05:01 japhb Cool beans
05:03 chromatic Ahh, missed the coda in config/gen/call_list.pm
05:05 japhb chromatic: hmm?
05:05 chromatic The final five lines of config/gen/config_h.pm
05:05 chromatic I know it's six, but I like saying Final Five.
05:06 chromatic # End: is a Cylon
05:06 japhb Oh, duh.
05:06 japhb I had been thinking "No coda on a generated file", but mentally crossed that with "No coda on the *generating* file"
05:07 japhb Sorry about that.
05:07 japhb Who maintains Rakudo.org?
05:07 chromatic No problem, the test caught it and it was easy to fix.
05:07 dalek r27371 | chromatic++ | trunk:
05:07 dalek : [NCI] Split NCI signatures into core, misc, and opengl groups.
05:07 dalek : Removed src/call_list.txt, which is now a generated file.
05:07 dalek : (Geoff Broadwell, RT #53430)
05:07 chromatic petdance, I believe.
05:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27371
05:09 japhb seen petdance
05:09 purl petdance was last seen on #parrot 49 days ago, saying: no, the IRC client at work is Andy  [Mar 18 22:19:01 2008]
05:11 japhb Hmmmm.  Jonathon's example in his latest post on rakudo.org doesn't make any sense, because the code is not properly HTML escaped, so has missing stuff when rendered.
05:13 chromatic I might be able to fix it.
05:13 chromatic Nope.
05:13 chromatic seen Andy
05:13 purl Andy was last seen on #parrot 1 day and 14 hours ago, saying: Oh, I don't know of this editor you mean.  [May  5 08:15:11 2008]
05:13 dalek r27372 | chromatic++ | trunk:
05:13 dalek : [config] Made generated src/call_list.txt file read-only, to remove some
05:13 dalek : temptation to edit it instead of config/gen/call_list/*.in.
05:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27372
05:16 dalek r27373 | chromatic++ | trunk:
05:16 dalek : [src] Added the final part of the missing patch in r27367 and r27368.
05:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27373
05:23 japhb OK, just submitted the patch I was blocked on.  chromatic, thank you for unblocking me.  :-)
05:27 chromatic You're welcome.
06:03 uniejo joined #parrot
06:28 Tene STD.pm is in the pugs repo, right?
06:29 Tene Ah, looks like yes.
06:30 Tene Okay, both rakudo's grammar and STD.pm have this line in token methodop: | ':' <?before \s> <!{ $+inquote }> <EXPR(%list_prefix)>
06:31 Tene t/spec/S29-list/minmax.t has the following, though:
06:31 Tene is @array.min:{ $^a <=> $^b }, -9,
06:31 Tene Which doesn't parse, because there's no whitespace after the :
06:31 Tene Is the test wrong?  Should I update it?
06:32 Tene purl: rakudobug?
06:32 purl i think rakudobug is mailto:rakudobug@perl.org
06:32 Tene purl++
06:35 JordanG joined #parrot
06:43 Tene Looks like there are 58 instances of that in t/spec.
06:45 JordanG getting parrot to build w/ cygwin is a bit of a pain, isn't it...
06:58 JordanG huh... that might be because I'm somehow missing files... there should be a libparrot.dll  in parrot/blib/lib, right?
07:00 iblechbot joined #parrot
07:28 JordanG or maybe i'm just retarded, can't even get the windows binary to work properly...
07:38 * Tene working on placeholder vars.
07:38 dalek r27374 | fperrad++ | trunk:
07:38 dalek : [Lua]
07:38 dalek : - implement bytecode loader in a PMC
07:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27374
07:53 Tene Hm.
07:54 Tene Looks like I've got a very basic version of placeholder vars working, but it doesn't do lexicographic ordering
07:54 Tene And I think there were a few other details of placeholder vars that I really should pay attention to.
08:06 Tene No additional spectests fail, and it looks like four more spectests compile.
08:07 moritz Tene++
08:08 Tene purl: rt?
08:08 purl rumour has it rt is just RT (http://bestpractical.com/rt) or (:rt3) or (: rt bugs) or Obra's trouble ticketing system or the first IBM RISC workstation (http://www.contrib.andrew.c​mu.edu/~shadow/ibmrt.html) or the bombsquad or the Right Thing or very very capable and open-source or an application framework that bundles a ticketing system or obra's baby or SOOOO slow :-S or email mailto:perlbug-owner@perl.org for access
08:12 Tene Let's see if I can find tests of placeholder vars in the pugs repo...
08:17 Ademan joined #parrot
08:29 Tene There are no explicit tests of placeholder vars in the pugs test suite.
08:29 moritz another TODO task for Auzon++ (unless somebody else does it in the mean time)
08:30 Tene I can't quite find any documentation on where I should be adding tests for this.
08:30 moritz where are they specced?
08:31 Tene S06
08:31 moritz maybe t/spec/S06-signatures/placeholders.t ?
08:31 Tene So I should make a new test and commit it to pugs.
08:31 moritz aye
08:31 moritz or I can do it if you want me to
08:32 Tene Sure, that would be great.
08:34 Tene Oh, there's a $:named form.
08:34 Tene Apparently not used in the pugs test suite at all.
08:34 Tene That should be easy.
08:40 moritz Tene: the $:named is very new
08:40 moritz Tene: I added S06-signature/positional-placeholders.t
08:40 moritz smartlinks are still missing :(
08:41 moritz am I right in assuming that a sub without a signature can have placeholders?
08:42 Tene No.
08:42 Tene Wait, I misread that.
08:42 Tene A sub with a signature *cannot* have placeholders.
08:42 moritz that would be sub foo () { ... }
08:42 Tene "Also, it is illegal to use placeholder variables in a block that already has a signature, because the autogenerated signature would conflict with that."
08:42 moritz but sub foo { ... } doesn'T have a signature, right?
08:43 Tene just: sub foo { ... $^a }
08:43 Tene Right.
08:43 moritz ok
08:43 moritz because the spec only mentions bare blocks
08:43 Tene Oh, rakudo doesn't have : allowed as a twigil.
08:43 Tene How new is that?
08:43 moritz 1 or 2 months
08:43 Tene Okay.
08:44 moritz does rakudo do any LTM?
08:44 Tene Not yet.
08:46 Tene Hm.  Separate file for named and positional placeholders?
08:46 Tene Or just rename test to placeholders.t?
08:46 moritz separate files
08:46 moritz intentially
08:47 Tene So then a third file to test that they both work in the same sub?
08:47 moritz if that's supported, yes
08:47 Tene Okay.
08:47 moritz but the rakudo effort showed that test are useless as a start if they are too complicated
08:47 moritz so I like to keep the more complicated ones in separate files
08:48 moritz that are just completely skipped as a start
08:48 Tene Okay.
08:53 dalek r27375 | paultcochrane++ | trunk:
08:53 dalek : [lua] Keep c_parens coding standard test happy
08:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27375
08:54 moritz Tene: may I charge you with the task of fudging the placeholder tests once your patch is accepted?
08:55 Tene moritz: they need to be fudged?
08:55 moritz Tene: I don't know ;-)
08:55 moritz Tene: since I have no idea what your patch can do, and what don't I'm in no position to assess that
08:56 moritz I kept them simple, so I hope it's not necessary
08:56 Tene No, not necessary.
08:56 moritz good
08:56 Tene My policy so far is to just commit as long as I can verify that it doesn't break anything.
08:57 dalek r27376 | tene++ | trunk:
08:57 dalek : Basic support for placeholder vars in rakudo.
08:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27376
09:06 Tene rakudo gets this wrong:
09:06 Tene multi sub t ($a) { say 'one positional' }
09:06 Tene multi sub t (:$a) { say 'one named' }
09:06 Tene t(1);
09:06 Tene purl: rakudobug?
09:06 purl rakudobug is mailto:rakudobug@perl.org
09:08 moritz Jonathan will be delighted ;)
09:11 mj41_ joined #parrot
09:14 Tene Well I've been delighted with his work lately, so it's a fair trade.
09:14 moritz ;-)
09:15 Tene The problem with working at night is that I can't get immediate feedback on things like the :-whitespace thing.
09:15 Tene Oh, maybe that's discussed in the spec
09:15 moritz what :-whitespace thing?
09:15 Tene many of the tests have the following:
09:15 Tene $obj.meth:{here is a block};
09:16 Tene STD.pm and rakudo's grammar both require whitespace after the : there.
09:16 Tene So it's a parse failure.
09:16 moritz hurm
09:18 moritz S06:613
09:18 moritz Invocants may also be passed using the indirect object syntax, with a colon
09:18 moritz after them. The colon is just a special form of the comma, and has the
09:18 moritz same precedence:
09:19 Tene That's not the same.
09:19 Tene That's like:
09:19 moritz I don't think a comma needs a space after it
09:19 Tene meth $obj: {here is a block}
09:19 moritz you're right
09:20 Tene look for /legal forms above into a list operator by/
09:20 Tene dunno what line that is
09:20 moritz in S06?
09:20 Tene S12
09:20 Tene Sorry.
09:21 Tene I see space after the : in all of those examples.
09:22 moritz in S06:2425, is that the same construct?
09:22 moritz there's an exxample &substr.assuming:str($text):len(Inf);
09:22 moritz ah, but it's not a block in that case
09:23 Tene The rule in STD.pm is in methodop:
09:23 Tene | ':' <?before \s> <!{ $+inquote }> <EXPR(%list_prefix)>
09:25 Tene That also doesn't have a , between :Str and :len in the example right above that, which I think isn't allowed.
09:26 * moritz isn't competent enough to answer the question :(
09:28 Tene Thanks for the help, moritz. :)
09:29 Zaba joined #parrot
09:41 Tene Okay, time for bed.
09:53 purl joined #parrot
10:00 wknight8111 joined #parrot
10:39 mire joined #parrot
10:40 iblechbot joined #parrot
10:49 wknight8111 joined #parrot
11:33 cosimo joined #parrot
11:40 claes joined #parrot
11:41 claes left #parrot
11:53 ask joined #parrot
11:56 wknight8111 joined #parrot
12:14 jq- joined #parrot
12:50 jan joined #parrot
13:05 gryphon joined #parrot
13:08 masak joined #parrot
13:09 masak how up-to-date is languages/perl6/docs/STATUS? it was last updated on 2008-04-17
13:09 Psyche^ joined #parrot
13:09 masak has anything happened since in rakudo that was not entered?
13:11 moritz grammars were implemented, they aren't mentioned tehre
13:11 masak I would change it, but (1) I'm not sure I'm the right person, (2) I'm not sure I have a commit bit
13:12 moritz you don't have a parrot commit bit ;)
13:12 moritz but you can skim over the last commit logs...
13:12 masak no. if there is such a thing, I don't have it
13:12 moritz build a patch
13:12 pmichaud STATUS is probably out of date
13:12 moritz and send it rakudobug@perl.org
13:12 pmichaud lots has happened in rakudo since STATUS was last written
13:12 masak moritz: that I can do
13:13 masak pmichaud: I see a point in keeping it up to date
13:13 pmichaud sure, I agree
13:13 masak good :)
13:13 moritz nobody will reject helpful documentation patches ;)
13:13 * masak gets on with it
13:16 Jonathan I updated STATUS a little while ago, but stuff has happened since then, it's certainly out of date. :-)
13:20 masak I'll take a risk and start reading diffs from 2008-04-16
13:20 pmichaud could just read the logs
13:20 pmichaud svn log -r '{2008-04-16}:head'
13:23 masak pmichaud: sorry, meant logs
13:23 masak that's what I'm doing
13:23 purl doing is better than talking
13:23 masak thanks, purl
13:23 purl my pleasure masak
13:23 masak and copying verbatim from the feature additions I find
13:24 masak hard to go wrong doing that, I figure
13:28 Jonathan Yeah, though I tend to implement a given feature over several smaller patches, to get more karma^W^W^Wmake it easier to see what each change goes.
13:28 Jonathan s/goes/does/
13:28 pmichaud (smaller patches)++   (more karma for jonathan)++
13:28 pmichaud er, I guess the last is just    jonathan++   :-)
13:29 masak Jonathan: I see that. but still the new features seem to be on about the appropriate chunk level for STATUS
13:30 Jonathan karma jonathan
13:30 purl jonathan has karma of 521
13:30 moritz as long as it's not "junk level" ;-)
13:30 masak Jonathan: logs say WHENCE is (partially) implemented
13:31 Jonathan masak: Partially, yeah.
13:31 masak are others, like WHAT and HOW also implemented?
13:31 Jonathan Enough for the common use cases.
13:31 masak STATUS doesn't say
13:31 pmichaud WHAT is implemented.
13:31 Jonathan There's implimentedish, but there's more to do there.
13:31 masak that's what I'm asking ;)
13:31 Jonathan Does WHAT return the Right Thing?
13:31 pmichaud for many things we have "partial implementations"
13:32 Jonathan as in, object not a string?
13:32 pmichaud so it's hard to put everything into a "yes/no" box.
13:32 Jonathan I forget.
13:32 pmichaud WHAT returns a protoobject.
13:32 pmichaud (in the implementation)
13:32 Jonathan Ah, OK, good.
13:33 pmichaud I think that HOW also returns the class metaobject.... but I'm not sure of that.
13:33 Jonathan Then WHAT is done.
13:33 Jonathan HOW currently returns the Parrot class.
13:33 pmichaud right
13:33 Jonathan I've not made my mind up how right that is yet. :-)
13:33 pmichaud we should put a note in STATUS saying what "implemented" means
13:34 masak I'll write WHAT, HOW, WHENCE then
13:34 Jonathan I do know we have to attach ^method's to the metaclass.
13:45 masak there, mail sent
13:48 Tene pmichaud: have a couple of minutes to look at a ticket for me?
13:49 pmichaud in a couple of minutes, yes
13:49 Tene Okay, thanks.  http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=53804
13:50 pmichaud I was about to look at that one -- I suspect the test is wrong but need to re-read the synopses to check
13:50 Tene purl: parrot logs?
13:50 purl wish i knew, tene
13:50 pmichaud I saw the conversation in the scrollback :-)
13:52 Tene pmichaud++ # uses eyes for reading
13:52 moritz Tene: http://irclog.perlgeek.de/parrot/today
13:53 peepsalot joined #parrot
13:55 Jonathan If that's the indirect object call thing - I'm not sure which is right, but even if you tweak it to have a space, I think it still gives a parse error.
13:57 Tene Jonathan: it's not inderect object call.  Indirect method call syntax is spelled like: meth $obj: $arg1, $arg2;
13:58 Jonathan Ah, OK.
13:58 Coke karma more karma for jonathan?
13:58 purl more karma for jonathan has karma of 1
13:59 Tene (more karma for jonathan)++
13:59 pmichaud this is for something like  $foo.bar: args
13:59 Coke (karma karma karam karma karma baked beans karma karma and karma)++
13:59 Jonathan Ah, OK, that syntax.
13:59 pmichaud STD.pm seems to require a space after the colon
14:00 Tene As mentioned in the ticket.
14:00 pmichaud however, S02 has
14:00 pmichaud for @x.grep:{ 0 <= $_ < all(@y) } {...}
14:00 Tene Hm.
14:00 pmichaud which may just be a typo in S02, also
14:01 pmichaud istr that at one time :{...} was a special syntax for passing subs.  But I think that's since disappeared.
14:01 pmichaud s/subs/closures
14:02 masak what's the rationale for forbidding :{} w/o a space in between, again?
14:03 moritz I'm not sure there is a rationale ;)
14:03 pmichaud I don't know that the required space is specifically for { }
14:03 pmichaud it may have been to prevent things like    $foo.bar:a(1)
14:03 Tene masak: as written, STD.pm requires a space for *any* args.
14:03 Tene not just args which happen to be closures.
14:04 masak ah
14:05 pmichaud anyway, I don't have an answer at the moment.  My suggestion would be to add a space in the tests
14:06 moritz I'd suggest to wait for TimToady, because that affects quite many tests
14:06 pmichaud I also question whether .min and .max remain the same
14:07 pmichaud since we now have infix:<min> and infix:<max>
14:07 moritz so it's [min] @list?
14:07 Jonathan Yup.
14:07 Jonathan Reduction operator.
14:07 pmichaud well, that's one way to do it.
14:08 pmichaud just because we have [min] @list doesn't mean we can't have @list.min :-)
14:08 Jonathan Not sure if that means no min method for lists though...
14:08 Jonathan It *is* Perl. TMTOWTDI. ;-)
14:08 pmichaud but I think the minmax stuff in S29 predated the reduction operator
14:08 pmichaud *preceded
14:11 pmichaud does anyone else besides me think that rt#53808 belongs in the 'perl5' queue?
14:14 rdice joined #parrot
14:14 Coke the elsif guy? I think he probably meant perl5, but he's going to get the same answer from either crowd, neh? No point in yelling at him about the wrong queue on top of that.
14:14 pmichaud oh, I wasn't going to remark on it -- I was just going to move it off of the perl6 queue
14:14 pmichaud I suppose I could silently mark it resolved, also
14:14 particle *cough* spam queue *cough*
14:15 Coke as long as it's not in the parrot queue, I don't care. =-)
14:15 * pmichaud moves it to the parrot queue, just to irk Coke.
14:15 pmichaud (just kidding :-)
14:16 particle (irking coke)++
14:16 pmichaud I think RT#39329 can be closed -- anyone disagree?
14:17 Coke I am so irked about my weight loss program, you can't hurt me. =-)
14:18 Coke pmichaud: is the issue leo mntioned resolved too?
14:20 pmichaud Coke: I'll double-check
14:20 Coke 3 tickets to go.
14:21 pmichaud looks like a few were missed in integer.pmc
14:22 Coke wonder if we need to be more thorough about testing such things.
14:22 pmichaud the problem with RT#39329 is that it's kinda of like trying to prove a negative
14:23 pmichaud there's not really a definitive way to know that everything has been converted, short of reviewing all of the .pmc code
14:23 Coke welp, for now, just comment that you found more cases in integer, and leave it for someone else to finish.
14:23 pmichaud I was going to go ahead and fix the cases I found :-)
14:24 pmichaud turns out that RT#53108 was the same problem as RT#39329
14:24 Coke pmichaud++
14:27 pmichaud actually, there's some oddity in integer.pmc so I'll just comment on it and let someone else look at it.
14:27 Coke pmichaud-- !
14:27 Coke ;)
14:40 Coke RT #39132 should be pretty easy to close.
14:40 Coke (now)
14:50 pmichaud (followup on :{...})     :{...}  is an adverbial closure
14:50 pmichaud so the tests have it correct.
14:50 pmichaud it gets parsed by <colonpair>
14:50 pmichaud (at least, I think colonpair handles it)
14:51 particle that fits nicely.  <-- this is an adverbial closure.
14:56 TimToady I would note that you can write grep:{...} {...} because :{...} is adverbial, but grep: {...}, {...} requires the comma since it's just an argument
14:57 TimToady er, actually, the first form probably doesn't work either...hmm...
14:58 TimToady 'cause it won't parse the second {...} as args since it only can parse the adverb after deciding grep was out of args, i think
14:58 TimToady @args.grep:{...} is fine though, since the list is on the left
15:00 Tene TimToady: So does @args.grep:{...} parse under STD.pm?
15:00 particle {...}.grep:{...} # seems confusing
15:01 moritz I just removed every occurence of \w:{ in the test suite under spec/
15:02 pmichaud moritz: ...?
15:02 * purl quietly listens while the crickets chirp
15:02 pmichaud \w:{ ?
15:03 moritz pmichaud: like occurences of @list.grep:{...}
15:03 pmichaud oh
15:03 Tene pmichaud: s/(\w):{/\1: {/g
15:03 pmichaud I think that may be wrong, now, since TimToady reminded me about adverbial closures
15:04 moritz I looked over all occurences
15:04 moritz and they were all map:{block} and grep:{block} and the like
15:04 Tene so @list.grep:{...} is the same as @list.grep :{...} ?
15:05 moritz map is defined as our List of Capture multi method map ( @values: Code *&expression )
15:05 moritz why should the expression be adverbial?
15:06 TimToady the *& is what allows it
15:06 moritz but is it forced to be adverbial?
15:06 TimToady no
15:07 pmichaud so, in   @list.grep:{...}    the :{...}  is parsed by the <adverbs> subrule in <term>
15:07 moritz then the whitespaces aren't wrong, at least ;-)
15:07 TimToady otherwise grep: {...} wouldn't work
15:07 TimToady well I was thinking adverbs in expect_term, but I see it's ambiguous...
15:08 pmichaud er, expect_term, right
15:08 pmichaud (I miswrote)
15:08 TimToady but there is the difficulty of distinguishing from infix:{...}
15:09 TimToady I'll have to think about that some, I guess..
15:09 pmichaud anyway, rakudo parsefails because it doesn't have <adverb>* on terms anywhere yet
15:10 TimToady well, technically, the :{} is not on a term, but on the prior operator, which happens to be .grep
15:10 pmichaud mmm hmmm.
15:10 TimToady it tends to skip the intermediate term in cases like 0..10:by(3)
15:11 TimToady but we've got the same difficulty there, if someone writes 0..$max:by(3), as to whether the identifier eats the adverbial
15:11 TimToady or whether we have to require a space there
15:11 pmichaud right.
15:12 TimToady I think when we originally discussed it I was thinking that infix:() etc is specially recognized
15:12 TimToady but I think we generalized to ident:() at some point without recognizing the difficulty
15:13 TimToady so now we have "use Perl:<...>" for instance, and that's not because Perl is special cased like infix would be
15:14 TimToady so maybe we will have to change grep:{...} to grep :{...} or grep: {...}
15:14 particle hrmm... can rakudo grammars have attributes yet?
15:15 pmichaud particle:  as in ... ?
15:15 paco particle: gcc-4.2.0-3.aix5.3.ppc.rpm
15:15 particle grammar Perl; has StrPos $.ws_from;
15:15 particle paco++
15:15 pmichaud particle: no, that doesn't quite work yet.
15:15 [1]JordanG joined #parrot
15:16 * particle just did a diff -u between STD.pm and grammar.pg
15:16 particle i'm studying the output
15:16 pmichaud I'm not exactly sure how that would work, anyway -- at least not as PGE currently models grammars
15:17 particle at some point we're going to have to support attributes, roles, classes, constants...
15:18 particle protos of course
15:18 particle seems like huge changes to pge are required
15:18 pmichaud if I focus on the totality of everything we'll have to support "at some point", then I think we don't make much progress.
15:18 pmichaud no, PGE is just a fancy compiler.  It doesn't have to understand all of that other stuff.
15:18 purl okay, pmichaud.
15:19 pmichaud argggh
15:19 pmichaud stupid bot
15:19 purl Stupid is as stupid does.
15:19 particle no, PGE
15:19 particle no, PGE?
15:19 pmichaud PGE?
15:19 purl hmmm... PGE is just a fancy compiler.  It doesn't have to understand all of that other stuff.
15:19 particle er. right.
15:19 pmichaud no, PGE is the Parser Grammar Engine
15:19 purl okay, pmichaud.
15:20 pmichaud anyway, as I said, PGE really don't have to worry about attributes, constants, classes, etc.
15:20 pmichaud the core of PGE simply compiles regex syntax
15:20 pmichaud it's Rakudo that will handle the other items
15:20 particle ok. point.
15:20 moritz but I guess it will have to support some more modifiers
15:20 moritz eventually ;)
15:21 pmichaud the issue at the moment is that PGE conflates grammars with match objects in order to get inheritance working
15:21 particle it does need to support hashes
15:21 pmichaud ...hashes?
15:21 TimToady maybe ident:{...} can always parse as ident :{...}, since the run-time analog of ident:<a b> is actually ident:[$a, $b], not the curly form...
15:23 TimToady I think conflating grammars with match objects is a necessity--that's what STD5 does right now.  it also happily conflates match objects with cursors :)
15:24 pmichaud TimToady: oh.  Okay, I'm glad to see I was on the right track there, then
15:24 TimToady and all of the fates and peeks and such are now communicated through the unified "match state" cursor
15:24 pmichaud however, it does make me wonder about something like    has StrPos $.ws_from;
15:24 TimToady I thought PGE was still sub based
15:24 pmichaud no, PGE has been method-based for a very long time
15:24 TimToady grammars have to be able to send additional info along through the match state
15:25 pmichaud argggh
15:25 pmichaud (I need to stop writing "no, ")
15:25 TimToady though STD5 cheats and pulls that down into Cursor5 because I don't have cloning in p5 :)
15:26 pmichaud method-based pge was the only way I could get inheritance to work reliably
15:26 pmichaud but it's been that way since, oh, 2005 or 2006.
15:27 TimToady cool, I've been mistaken for a goodly long time then! :)
15:27 TimToady I blame my surgery.  :)
15:27 pmichaud I blame a lack of documentation.  :)
15:27 pmichaud TimToady: btw, we received the books back okay, many thanks.  It is greatly appreciated.
15:27 TimToady well, if only I were omniscient, the problem wouldn't arise...
15:28 TimToady the problem with demigods is that they're only demiomniscient...
15:29 * TimToady wonders what a hemidemisemigod would look like...
15:29 pmichaud 0.125`god   I suspect
15:29 cognominal pmichaud, and in actions.pm, I can't get a straight way to get at the length of a match which makes adressing #52276 difficult
15:30 pmichaud "length of a match"?
15:31 pmichaud you mean "number of children nodes"?
15:31 moritz $/.chars ?
15:31 TimToady we don't use this word "length" any more :)
15:31 cognominal arf, I keep using length
15:31 cognominal I meant numbers of matches
15:31 pmichaud cognominal:   +@($/)
15:31 TimToady +$/ or $/.elems or ...
15:32 pmichaud (not +$/)
15:32 TimToady right
15:32 TimToady that would integerize the string
15:32 pmichaud (I keep making that mistake also :-)
15:32 pmichaud actually, it numifies the result object
15:32 pmichaud which might not be a string.  :-)   I keep making that mistake too.
15:32 TimToady @() should work in a numeric context
15:33 pmichaud which reminds me, is there a convenient method for getting the text associated with a match object (even if a result object has been set)?
15:33 pmichaud istr we discussed .text at some point but it was never formalized/codified/officially adopted
15:34 TimToady as long as we have .from and .to we can probably have something that returns the appropriate substr, and .text seems as good as anything
15:34 TimToady I've been using .item in STD5, but that's because I have my head in the sand re result objects
15:35 pmichaud right, but .item returns the result object, yes?
15:35 TimToady yes
15:35 pmichaud okay, just checking.
15:35 purl i'm still here, pmichaud.
15:35 pmichaud does .list still return the positional captures, and .hash the named ones?
15:35 TimToady yes
15:35 pmichaud excellent.  I'm wanting to make that change to PGE.
15:35 cognominal say +@($/);  # gets me  Null PMC access in type()
15:35 TimToady since those are just the contextualizers @ and %
15:36 TimToady in theory we have .slice too but I'll not insist on it (yet)
15:36 pmichaud TimToady: Thank you.
15:36 pmichaud :-)
15:36 pmichaud cognominal: in NQP or Rakudo?
15:36 pmichaud if in actions.pm,  say requires the ()
15:37 cognominal oops
15:37 cognominal I always forget it
15:37 pmichaud yes, I'm thinking of adding rudimentary listop parsing to nqp, since people always forget the parens.
15:38 pmichaud but that does complicate things a bit.
15:38 cognominal it is just a question of warming up to a language.
15:39 cognominal when I program in PIR, I put semicolon everywhere
15:39 pmichaud I don't quite understand why elements in a match is needed for [], though.
15:39 pmichaud I suspect the array composer isn't coded right if that's the case.
15:39 Infinoid what's this "Cannot put to non-PIO PMC" stuff about?
15:39 pmichaud Infinoid: seems to be a problem with the makefile generation.
15:39 cognominal because it is the comma operator with 0 or 1 arguments
15:40 cognominal so there is no comma visible
15:40 pmichaud well, with 0 arguments there's no comma operator.
15:40 pmichaud nor is one needed
15:40 pmichaud even with 1 argument there's no comma operator
15:40 cognominal that's the problem
15:41 pmichaud in rakudo,  [ <foo> ]   should translate to   list <foo>
15:41 pmichaud even if <foo> is singleton or empty
15:41 pmichaud (er, list(<foo>) )
15:42 cognominal currently the comma returns a list whatever the context scalar or not
15:43 cognominal so in the mean time, I just want the 0 and 1 element array composer to work even if it is not the good way in the long run
15:43 cognominal just to pass basic tests
15:44 pmichaud it's basically the same code that allows   foo()    foo(1)    and    foo(1, 2, 3)   to work properly
15:46 sjansen joined #parrot
15:46 * pmichaud wants to add :pasttype('list') to PCT, too.
15:46 cognominal +( $<statementlist>  )  got me  something like no method get_number in Hash
15:47 moritz +@( $<statementlist> ) perhaps?
15:47 cognominal say( +@($/));  gets me Null PMC access in get_number
15:48 cognominal moritz, I think I tried it too
15:49 allison joined #parrot
15:49 IllvilJa joined #parrot
15:58 particle dang. studying that diff has reminded me of yet another task i haven't gotten to
15:59 particle pge should allow <foo=bar>
16:05 pmichaud +@( $<statementlist> ), probably
16:05 pmichaud particle:  is there a ticket for it yet?
16:05 particle i don't think so
16:06 pmichaud go ahead and add one, I'll take it
16:06 pmichaud (so that it stays on my radar)
16:07 particle pmichaud: i can take a stab at it now, presuming i can relearn pge well enough
16:07 particle where's the parsing done? inside Perl6Regex.pir?
16:07 pmichaud okay.  I'd say create the ticket, then assign it to one of us.
16:07 pmichaud yes, in Perl6Regex.pir
16:08 particle i'm looking at PGE::Exp::Alias
16:08 particle (namespace)
16:08 pmichaud but it would actually parse in parse_subname
16:08 pmichaud so probably don't need the PGE::Exp::Alias at all
16:08 particle awesome, that's just what i needed
16:09 pmichaud er, parse_subrule
16:09 pmichaud line 763
16:09 pmichaud note that this code will change a bit because of the <foo: bar>  ==>   <foo: 'bar'>    change
16:10 particle if $S0 == '=' goto subrule_alias
16:11 particle ...
16:11 pmichaud if an '=' is found following the subrule identifier, then the lhs becomes the cname entry (look farther down in the code for 'cname')  and the rhs becomes the new subname
16:12 pmichaud really, though, the cname computation probably needs to be hoisted up a bit higher
16:14 pmichaud in fact, I would set the capture/negated flags before parsing out a subname
16:14 rdice_ joined #parrot
16:14 pmichaud and look specifically for aliases before the ' ' or ':'
16:14 particle heh. seems like you know exactly what you want to do here.
16:14 particle should i even bother, or can you bang this out now?
16:14 pmichaud yes
16:15 pmichaud I'll bang it out today
16:15 particle ok. i'll write up a ticket
16:15 pmichaud right after lunch.  :-)   I also need to figure out how to get <?foo>  to work
16:15 pmichaud and that's right in this code as well.
16:15 particle ? ?
16:15 particle will you look at the : changes too?
16:15 pmichaud non-capturing <?foo> became <.foo>, and <?foo> became zero-length match
16:16 particle ah, that's still undone.
16:16 pmichaud I already added <.foo>, but haven't changed <?foo> to its new semantic.
16:16 particle right.
16:16 pmichaud and yes, I'll go ahead and do : while I'm at it :-)
16:16 pmichaud I started ':' last night, but got too tired to trust the code I was writing.
16:16 particle <foo=bar> will make the grammars prettier
16:16 Tene pmichaud: speaking of zero-length-match, have any thoughts on fixing PGE repeatedly matching the same zero-length-match in the same place?
16:16 pmichaud okay, I'll do lunch, then take care of all of the subrule syntax changes.
16:17 iblechbot joined #parrot
16:17 pmichaud Tene: so far my thought has been that it hasn't occurred enough to worry about :-)
16:17 pmichaud but perhaps I'm just not hearing about it.
16:17 pmichaud (yes, I've thought about it beyond that. more)
16:17 Tene I don't recall where it bit my last.  Probably the first time I worked on cardinal.  So, no, probably not often enough.
16:18 pmichaud I do need to get the repetition constructs to be smart enough to watch for zero-length recursions
16:18 pmichaud I had a few ideas about it and played with it a bit, but didn't like what I had and then discovered "not often enough"
16:18 pmichaud so it's kinda on the back-burner for now.
16:19 pmichaud okay, lunch, then PGE.
16:19 Tene Thought so.  If it comes up again, I'll harass you about it.
16:19 pmichaud please do.
16:19 pmichaud even just adding a note to the ticket that says "it came up again" will work.
16:19 pmichaud when I get enough of those, I'll fix it.  :-)
16:20 pmichaud afk, lunch
16:20 davidfetter joined #parrot
16:20 NotFound joined #parrot
16:21 NotFound Hello.
16:21 Theory joined #parrot
16:30 Coke joined #parrot
16:30 Coke .
16:31 NotFound I'm looking #45989... it mentions src/objects.c but I don't see that file.
16:32 pmichaud I'm guessing it's pre-pdd15oo
16:33 NotFound The date is oct 2007
16:34 Coke -> oo.c
16:35 NotFound Ah, right, thanks.
16:41 gryphon joined #parrot
17:15 Andy joined #parrot
17:17 Theory joined #parrot
17:57 ambs joined #parrot
18:05 NotFound I don't see how Parrot_add_attribute in src/oo.c can be used, all my attempts calls add_attribute in src/pmc/class.pmc
18:06 Coke this still for 45989?
18:06 NotFound Yes.
18:07 Ivatar joined #parrot
18:10 pmichaud I think it's dead code.
18:10 Coke It is quite possible that ParrotClass no longer exists.
18:10 pmichaud I agree (ParrotClass)
18:10 Coke that is only called in the addattribute opcode, and is conditional on the type of object, of which we had two, but now have one.
18:11 Coke Good catch. =-)
18:11 pmichaud is ParrotClass officially deprecated?
18:11 pmichaud (of course, if it doesn't exist I guess it doesn't matter)
18:12 Coke ls src/pmc/parrotclass*
18:12 NotFound By the way, the exception in class.pmc does noy include the class name.
18:12 Coke No such file or directory
18:12 NotFound s/noy/not
18:12 Coke notfound, do you have commit bits?
18:12 Coke I can't keep track anymore. =-)
18:12 NotFound Coke: I'm a newbie.
18:13 Coke Try this: delete Parrot_add_attribute(). remove the code path in the addattribute op. rebuild everything do a make test.
18:13 NotFound Ok.
18:13 Coke if that passes, attach that patch to the ticket and we'll apply it.
18:14 Coke (it's also in a .h somewhere.)
18:14 Coke that docs for that function read like dan.
18:14 NotFound Parrot_single_subclass in oo.c uses it.
18:15 Coke did I miss a usage? hurm.
18:15 Coke might be the same thing, let's see if that's every used. =-)
18:15 NotFound if (!parent_is_class) {
18:15 NotFound /* we append one attribute to hold the PMC */
18:15 NotFound Parrot_add_attribute(interp, child_class,
18:15 NotFound CONST_STRING(interp, "__value"));
18:16 pmichaud but I still agree that the code in the addattribute op should be fixed.
18:16 Coke yah.
18:17 Coke I think however that is adding attributes the other way is probably the right way, though.
18:17 pmichaud yes, likely.
18:17 Coke s/that is/that/
18:17 Coke rip out one thing at a time. =-)
18:17 Coke some kind of c-level code coverage in the test suite would be nice.
18:18 ambs \o/
18:20 NotFound Parrot_single_subclass is used in default.pmc
18:21 Coke Yup. so for now, removing the parrotclass path in the opcode would be a help.
18:22 tedkat joined #parrot
18:22 NotFound Don't know how to do that.
18:23 AndyA joined #parrot
18:24 desertmax joined #parrot
18:24 Coke look at src/ops/object.c - look for the call to the function in question. it's in a code path that is conditional on something being equal to parrotclass, which it can never be.
18:25 Coke (since that PMC was apparently removed.)
18:25 pmichaud actually, src/ops/object.ops
18:25 pmichaud (src/ops/object.c is a generated file)
18:27 japhb joined #parrot
18:31 Coke gah. yes.
18:31 Coke pmichaud++
18:32 NotFound What must I look for, VTABLE_subclass ?
18:32 Coke no, Parrot_add_attribute.
18:32 Coke (the function that started all this) - it's only used once in this file, and if we eliminate the dead conditional, we can eliminate it's usage, getting us one step closer to not having to fix it. =-)
18:33 Coke s/it's/its/
18:33 NotFound Ok.
18:33 NotFound else if (VTABLE_isa(interp, $1, pclass_name))
18:33 NotFound Parrot_add_attribute(interp, $1, $2);
18:34 spinclad s:1st/its/it's/  s:2nd/it's/its/   # revert and reapply
18:34 NotFound pclass_name is ParrotClass
18:35 spinclad so pclass_name could go, too?
18:35 NotFound Looks like is tne only usage, yes.
18:36 Coke so try to rip that out, and then do a rebuild and see how make test does.
18:37 NotFound Doing.
18:37 Coke (If you're bored, look for other usages of that value for pclass_name; might be a holdover in a few places.
18:37 spinclad (none)
18:38 NotFound Is a local variable in the function.
18:38 ambs All tests successful, 26 tests and 568 subtests skipped.
18:38 ambs Files=583, Tests=11121, 424 wallclock secs (288.78 cusr + 58.43 csys = 347.21 CPU)
18:38 ambs You have new mail in /var/mail/ambs
18:38 ambs ops, that last line should not be sent O:-)
18:39 particle :)
18:39 ambs now, let me check for macOS
18:39 spinclad lib/Parrot/Pmc2c/PMCEmitter.pm:  use Parrot::Pmc2c::PMC::ParrotClass;
18:40 Coke not of pclass_name itself: the value it was checking against.
18:41 spinclad value was just a local STRING
18:47 Coke ... yes, but if anything else is checking against that string...
18:47 Coke it is probably also wrong.
18:47 spinclad lib/Parrot/Pmc2c/PMCEmitter.pm  'use's  lib/Parrot/Pmc2c/PMC/ParrotClass.pm , but doesn't use it that i can see;  kill the latter, drop the former 'use'?
18:48 NotFound Files=583, Tests=11105, 449 wallclock secs ( 5.90 usr  0.95 sys + 306.94 cusr 68.94 csys = 382.73 CPU)
18:48 NotFound Result: PASS
18:48 Coke spinclad: avoid unecessary uses, yes.
18:48 spinclad ack shows no other "ParrotClass"es except editor/pir-mode.el
18:51 spinclad mentions in a bunch of .pod's and comments...
18:52 spinclad and MANIFEST.
18:53 ambs Files=583, Tests=11275, 552 wallclock secs ( 4.22 usr  3.77 sys + 245.53 cusr 91.12 csys = 344.64 CPU)
18:53 ambs Result: PASS
18:53 ambs for MacOS, nice
18:53 ambs :D
18:54 NotFound Sending patch.
19:07 Coke NotFound++
19:08 NotFound Thanks.
19:08 admin joined #parrot
19:09 Eevee joined #parrot
19:10 dalek r27377 | chromatic++ | trunk:
19:10 dalek : [OO] Removed Parrot_single_subclass and Parrot_add_attribute, which were parts
19:10 dalek : of the old OO implementation (NotFound, RT #45989).
19:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27377
19:16 dalek r27378 | pmichaud++ | trunk:
19:16 dalek : [pge]:
19:16 dalek : * Initial code refactor to handle zero-width matches.
19:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27378
19:17 Coke NotFound: ... heh. chromatic is always watching. =-)
19:17 * Coke waves to chromatic.
19:17 NotFound I see-
19:17 desertmax I've finished work on #45015 some days ago. How do I get my code commited? :-)
19:18 * Coke checks.
19:19 Coke NotFound: oooh. I didn't realize you tried to rip out *everything* and it still passed. awesome.
19:19 Coke NotFound++
19:19 Coke NotFound++
19:20 NotFound Well, not everything, the bits mentioned by spinclad not.
19:21 Coke desertmax: minor nits on the test file: print foo; print "\n" is more simply written as say foo.
19:21 Coke (just fyi)
19:22 desertmax oh, okay. I am going to change this.
19:22 Coke (some commented out code at teh end of the test...)
19:23 desertmax the uploaded files are not up to date, btw. I've made some changes.
19:23 Coke If this is a new test file, the copyright should just be 2008 ...
19:24 Coke Should probably have a test that runs if GMP is not installed to make sure it errors out cleanly.
19:25 grim_fandango joined #parrot
19:26 Coke I'm not sure I would make an exception for version. Or perhaps have it return Undef instead of 0?
19:26 Coke (not sure if we have a standard to follow there.)
19:27 desertmax Thanks for the feedback.
19:28 Coke otherwise looks good, and those are mostly nits.
19:28 Coke You have another patch pending on that?
19:28 desertmax I tried to match BigInt's behaviour, btw, because it uses GMP too.
19:29 Coke I've taken the ticket, so I'll see it when it gets updated.
19:29 Coke (bigint) fair enough. if that's how it does the versioning, makes sense to follow it.
19:30 desertmax Okay, then I'll change all the other things and reupload the files.
19:30 Coke desertmax++
19:30 Coke (don't forget a patch to CREDITS)
19:31 dalek r27379 | pmichaud++ | trunk:
19:31 dalek : [pge]:
19:31 dalek : * Remove <alpha-[jJ]> form of enumerated character list -- it's
19:31 dalek :   no longer allowed by S05.  (The <+alpha-[jJ]> form still
19:31 dalek :   exists, though.)
19:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27379
19:46 dalek r27380 | pmichaud++ | trunk:
19:46 dalek : [pge]:
19:46 dalek : * Refactor handling of iscapture flag somewhat.
19:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27380
19:49 rdice joined #parrot
19:50 cognominal pmichaud, what does it takes to make  +@( $<statementlist> )  work?
19:50 pmichaud where are you trying to use it?
19:51 pmichaud null pmc in that case makes it look as though $<statementlist> doesn't exist.
19:51 pmichaud (although that's a bit weird, as I would expect to get an Undef )
19:53 cognominal I try to parse   []   and [ 1 ]
19:54 cognominal I just add      say(  +@( $<statementlist> )  );  below    if $key eq '[ ]' { in the circumfix rule
19:54 pmichaud since <statementlist> is optional, it might not exist.
19:55 pmichaud in which case we can't find out how many elements it has :-)
19:55 pmichaud oh, it's not optional
19:55 cognominal but I get it for [1,2] too
19:55 pmichaud hmmmm
19:55 pmichaud statement list contains an array of <statements>
19:56 pmichaud so you probably want   +@( $<statementlist><statement> )
19:56 pmichaud but truthfully, you don't want to be looking at the parse tree
19:56 pmichaud what you should be looking at is  $( $<statementlist> )
19:57 pmichaud if that's an infix:<,> node, then you know it's a comma-separated list as opposed to a singleton or null
19:57 desertmax_ joined #parrot
19:58 particle[ventus] joined #parrot
19:58 cognominal ok
19:59 patrick joined #parrot
20:00 particle[ventus] phone
20:05 Coke watch coke lose weight :: http://coke-floats.blogspot.com/
20:06 rdice joined #parrot
20:06 NotFound The exception for attribute already exists in class pmc does not include the class name, unlike the removed Parrot_add_attribute version. Must this be changed?
20:06 Coke might be helpful.
20:07 NotFound "Attribute 'attr name' already exists in 'class name'" ?
20:08 * Coke smacks chromatic.
20:10 particle[ventus] coke-floats++
20:12 wknight8111 joined #parrot
20:26 dalek allison@perl.org | Concurrency Tasks:
20:26 dalek link: http://www.perlfoundation.org/pa​rrot/index.cgi?concurrency_tasks
20:26 shorten dalek's url is at http://xrl.us/bjqpy
20:38 dalek r27381 | pmichaud++ | trunk:
20:38 dalek : [pge]:
20:38 dalek : * S05 changes the non-capturing subrule syntax from <?foo> to <.foo>.
20:38 dalek : * Fix a few more instances of this.  There are still more to do,
20:38 dalek :   especially in some of the languages/ subdirectories.
20:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27381
20:57 dalek r27382 | pmichaud++ | trunk:
20:57 dalek : [core]:
20:57 dalek : * Update DEPRECATED.pod with notes about current/upcoming PGE changes.
20:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27382
20:58 barney joined #parrot
21:08 Coke pmichaud: when you say 'at which point', do you mean 'after which' ?
21:09 Coke (defining it in terms of the point makes it somewhat unclear what happens on releaase day.)
21:20 pmichaud after which
21:32 teknomunk joined #parrot
21:40 mj41 joined #parrot
21:53 particl1 joined #parrot
21:56 dalek r27383 | pmichaud++ | trunk:
21:56 dalek : [pge]:
21:56 dalek : * Add <alias=foo> syntax for capturing subrules.
21:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27383
22:05 Theory joined #parrot
22:07 Jonathan Anyone here run Mac OSX?
22:08 masak yes, why?
22:09 Jonathan Looking for confirmation/reproduction/analysis of a Rakudo bug that someone has reported on OSX, but works for me on Win32.
22:09 masak ok
22:09 masak which bug?
22:09 purl hmmm... which bug is <noreply>
22:09 masak quiet, purl
22:09 * purl listens as a hush falls over #perl
22:09 Jonathan http://use.perl.org/~Jonath​anWorthington/journal/36343
22:09 Jonathan See comments.
22:10 * masak reads
22:10 Jonathan Needs turning into a ticket, but I'm curious if anyone else can reproduce this.
22:11 masak ok, so do I just `svn up` and do that `perl Configure.pl`?
22:11 Eevee purl is confused, he doesn't even know where he is
22:12 Jonathan masak: Yes
22:12 Jonathan And then "make"
22:12 purl then "make" is kind enough to create it again.
22:12 * masak does so
22:13 Jonathan cd languages/perl6 && make # after the make of Parrot is done
22:13 masak purl: hush. and this isn't #perl
22:13 purl masak: what?
22:13 masak purl: ssh
22:13 purl ssh is non-free, all platforms: ftp://ftp.cs.hut.fi/pub/ssh/, UNIX (free): http://www.openssh.org/, MacOS: NiftyTelnetSSH http://www.lysator.liu.se/​~jonasw/freeware/niftyssh/, Win: TeraTerm or puTTY (skip SecureCRT). Book: O'Reilly's http://www.snailbook.com/ or sing; sing; halt or (see the OpenSSH project at http://www.openssh.org) or NetBook: http://sourceforge.net/projects/syossh/ or BE QUIET! or ugly?
22:13 masak :)
22:13 Ivatar doesn't print anything for me.
22:14 Jonathan Ivatar: What platform?
22:14 Ivatar Mac
22:14 Ivatar 10.5
22:14 Ivatar Rev: 27376
22:14 masak make returned an error
22:14 Jonathan Did you use the perl6 executable?
22:15 Jonathan (that was for Ivatar)
22:15 Ivatar yep
22:15 Jonathan masak: make of Parrot?
22:15 masak of languages/perl6
22:15 Ivatar both as a script and interactively.
22:15 slightlyoff joined #parrot
22:15 Jonathan Ivatar: Could you possibly try it with the PBC? (cd languages/perl6 && make, then run it as ../../parrot perl6.pbc)
22:15 masak Jonathan: shall i nopaste the make error?
22:15 Jonathan masak: CAn you nopaste the...yes, please. :-)
22:16 masak I can read books, too
22:16 masak not just minds
22:16 Tene Jonathan: could the problem be that the user copied from the rendered html?
22:16 Tene your example cod needs more htmle scapes.
22:16 masak Jonathan: http://paste2.org/p/26174
22:17 Ivatar still nothing with parrot+pbc... :/
22:17 Tene my example fingers need more keyboards.
22:17 Jonathan Tene: Oh!!!
22:17 Jonathan Godo catch.
22:18 Tene Godo enough for karma?
22:18 masak Tene++
22:18 Jonathan Tene++
22:18 Tene Mmm.  Karma.  :)
22:19 Jonathan Jonathan-- # can write compilers, but HTML is too hard for him
22:19 Tene Jonathan: perhaps you need a compiler targeting HTML.
22:20 NotFound I'm looking #46038 and #42374, that complains about a warning when freeing cstrings. I don't see that warnings, but I think that changing the signature of string_cstring_free to(ARGIN_NULLOK(char * const p)) will fix it.
22:20 Ivatar just typed out by hand, still nothing.
22:21 Jonathan Ivatar: Try with second line as it is now shown in that post (refresh, I edited it)
22:21 Jonathan Shoudl have been
22:21 Jonathan grammar Many is Loads { rule TOP { <Lots> of <Lots> } };
22:21 Jonathan But the <Lots> got eaten as HTML tags.
22:21 Ivatar I kind of thought it was missing something there :)
22:21 Ivatar (having done the squaak exercises)
22:22 Ivatar yeah, that was it
22:22 Jonathan Great.
22:22 Jonathan Phew, now we don't have an OSX-specific Rakudo bug to track down.
22:22 masak goodie
22:22 Jonathan Thanks all.
22:23 Jonathan masak++, Tene++, Ivatar++
22:23 masak wee!
22:23 masak Jonathan: looking forward to hearing your talk at NPW, btw
22:24 Jonathan Looking forward to being over in Stockholm. :-)
22:24 Jonathan And with Perl folks.
22:28 Jonathan Plus by then, I will have survived moving.
22:28 * Jonathan is exhausted from an evening's packing.
22:28 wknight8111 where are you moving to/from?
22:29 Jonathan wknight8111: south of Spain to Bratislava.
22:29 wknight8111 oh okay
22:29 Jonathan Lived in Spain for the winter.
22:30 Jonathan I'm originally from the UK.
22:30 wknight8111 I can't even get my fiance to go to spain for our honeymoon
22:30 Jonathan Too hot?
22:31 Jonathan Erm, not knowing where you're from that might be a silly question. :-)
22:31 NotFound Come to the north, not so hot.
22:31 Jonathan True. The south has started to warm up some.
22:33 NotFound Northwest, even better.
22:34 * NotFound plays 'On the road to Santiago'
22:48 mire joined #parrot
22:56 contingencyplan joined #parrot
22:57 tetragon joined #parrot
23:15 particl1 c:\usr\local\parrot\trunk>parrot t\pmc\orderedhash_9.pasm
23:15 particl1 c:\usr\local\parrot\trunk>parrot -G t\pmc\orderedhash_9.pasm
23:15 particl1 101101
23:15 * particl1 found a gc bug :(
23:15 particl1 society--
23:20 dalek r27384 | pmichaud++ | trunk:
23:20 dalek : [pge]:
23:20 dalek : * Add <foo: 'bar'> quoted argument syntax (RT#53606, RT#53834).
23:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27384
23:21 NotFound particle[ventus]: same result for me with or without -G
23:24 particle[ventus] which result?
23:24 NotFound 101101
23:25 particle[ventus] you're not running msvc with a 32bit build on x64
23:25 * tetragon waits for her build to finish
23:25 particle[ventus] msvc++ # good at finding gc bugs
23:25 NotFound Ops, no.
23:26 particle[ventus] i bet if you ran the gcdebug runcore you'd see it
23:27 particle[ventus] parrot --runcore=gcdebug t/pmc/orderedhash_9.pasm
23:28 NotFound $ ./parrot --runcore=gcdebug t/pmc/orderedhash_9.pasm
23:28 NotFound src/gc/dod.c:180: failed assertion 'obj'
23:28 particle[ventus] there you go!
23:28 particle[ventus] chromatic++ gcdebug++
23:30 NotFound pobject_lives is called with a NULL obj.
23:32 NotFound Looks like the object is a hash item.
23:40 * tetragon compares the parrot exceptions.c backtrace against the crash reporter backtrace
23:41 tetragon They differ
23:42 NotFound The error happens at delete P0[P1]
23:45 dalek r27385 | pmichaud++ | trunk:
23:45 dalek : * Adjust wording in DEPRECATED.pod (Coke++)
23:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27385
23:51 dalek r27386 | pmichaud++ | trunk:
23:51 dalek : [pge]:
23:51 dalek : * Go ahead and allow the <foo: "bar"> syntax as well as <foo: 'bar'>.
23:51 dalek :   It won't yet interpolate like normal double-quotes would in Perl 6,
23:51 dalek :   but it lets us get rid of some backslashes and is more dwimmy.
23:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27386
23:52 dalek r27387 | pmichaud++ | trunk:
23:52 dalek : * Convert a variety of <foo: xyz> into <foo: 'xyz'>.  (RT#53606)
23:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27387
23:52 dalek r27388 | chromatic++ | trunk:
23:52 dalek : [PMC] Removed long-deprecated subclass vtable entry from Default PMC (NotFound,
23:52 dalek : RT #45975).
23:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27388
23:55 dalek r27389 | pmichaud++ | trunk:
23:55 dalek : [pge]:
23:55 dalek : * Update tools/dev/mk_language_shell.pl to use <foo: 'bar'> syntax.
23:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27389
23:56 Patterner joined #parrot

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

Parrot | source cross referenced