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