|
parrot.org/ - clean up those smolders for the release! Set by moderator on 20 October 2008. |
|||
| jonathan | Here we'd only ever invoke trait_auxiliary:is one time. | 00:00 | |
| pmichaud | just one time? | ||
| jonathan | Right. | ||
| pmichaud | isn't it once per activation? | ||
| jonathan | See discussion I had on #perl6 yesterday with TimToady for more. :-) | ||
| But it seems that since traits are a compile time thing, they actually more act upon the thingy at compile time. | 00:01 | ||
| pmichaud | my eyes glazed over a bit first time I looked at it. | ||
| jonathan | At the discussion on #perl6? | ||
| pmichaud | yes. | ||
| I can look again. | |||
| jonathan | I'm still trying to work out what it really means. | ||
| pmichaud | I think (naively) that we compile the trait once at compile time but apply it on every @x that gets created. | 00:02 | |
| in the Parrot sense I think of it like a PMC property. | |||
| jonathan | What do you mean by "compile the trait"? | ||
| pmichaud | in this case, the fact that we have a certain type of dimension | 00:03 | |
| but I _really_ need to read the discussion and traits a bit more | |||
| jonathan | Or maybe the real question here is, what do we pass to trait_auxiliary:is | ||
| pmichaud | because I know very little of what I'm saying here :-) | ||
| jonathan | Obviously, one parameter is the "dim" | ||
| pmichaud | ...what do we pass, and when do we pass it? | ||
| jonathan | But the other? On the one hand, it could be the PAST::Var node, which can then tweak the viviself to actually contain the code to set the dimensions. | 00:04 | |
| pmichaud | (I'm glad we're talking about traits here and not food :-) | ||
| jonathan | ewwww... | ||
| purl | ewwww is, like, tp's middle name | ||
| pmichaud | I'm actually planning to do this for parameters. | ||
| jonathan looks at his chips and salsa with less hunger now | |||
| pmichaud | i.e., that trait applications are part of the PAST::Var node. | ||
| jonathan | OK. I think that is the Right Thing. | ||
| pmichaud | that's why viviself is created the way it is :-) | ||
| jonathan | Yes. We dispatch to trait_auxiliary:is during compile. | ||
| OK, discussing this is starting to make it feel less scary and more workable. :-) | 00:05 | ||
| pmichaud | in particular, the setproperty opcode is going to be set up so that it returns its first argument in the PAST tree | ||
| i.e., it's like getting a :scope('register') node for free | |||
| so I can do | 00:06 | ||
| PAST::Op.new(:pirop('setproperty'), PAST::Var.new( ... ) ) | |||
| and the "result" of that is the PAST::Var node with the property set on it. | |||
| jonathan | Ah. | ||
| I'm not sure if that works unless trait_auxiliary:is returns something? | 00:07 | ||
| pmichaud | same for other "set" opcodes that don't normally return a value | ||
| we'll see how it goes :-) | |||
| jonathan | I mean, I'm thinking here we want to write something like | ||
|
00:07
kj joined
|
|||
| jonathan | role rw { multi sub 'trait_auxiliary:is'(rw $, PAST::Var $var) { ...something involving $var.viviself... } | 00:08 | |
| } | 00:09 | ||
| So the dispatch to trait_auxiliary gets the Var node and is able to tweak it somehow to set up the rw semantics. | |||
|
00:09
AndyA joined
|
|||
| pmichaud | I think we can do that. | 00:10 | |
|
00:10
bacek joined
|
|||
| kj has dates confused and missed #ps | 00:10 | ||
| pmichaud | or something like that. | ||
| jonathan | OK. | ||
| I think that's what needs to happen. | |||
| pmichaud | I'd like to leave that for a medium-term goal. | ||
| (i.e., as part of your grant) | |||
| short term I'd like to get some of the other class/method refactors in place. | |||
| jonathan looks terrified | 00:11 | ||
| Sure | |||
| pmichaud | and clean up parameter handling a bit. it may be that the traits falls out naturally from that, if so we can do it then. | ||
| this is all starting to look very good. | |||
| jonathan | Sure, if we can do it like that, great. If not, let's at least try and do something that doesn't make it harder to do that later. | ||
| pmichaud | absolutely | ||
| I'm sure the refactors will all make this much easier | |||
| that's been the general case | |||
| jonathan | Sure. | 00:12 | |
| pmichaud | oh, for MAIN -- I'm thinking maybe we could do better by introducing a !MAIN subroutine | ||
| ? | |||
| jonathan | But sometimes you have to do it the Other Way first to know the refactor. | ||
| pmichaud | rather than building it into the AST | ||
| i.e., the AST simply makes a call to !MAIN (passing args array) and it does the rest? | |||
| jonathan | That may work. | ||
| If smaller AST is a goal. | 00:13 | ||
| pmichaud | well, that means less generated code, mainly | ||
| jonathan | Sure | ||
| pmichaud | and simplifies actions.pm, which is a goal. | 00:14 | |
| jonathan | Yes, it's compilation time is creeping up... | ||
| pmichaud | well, not just that, but also trying to keep it somewhat understandable. | ||
| anyway, I have to go | |||
| jonathan | OK, sure, cu | 00:15 | |
| pmichaud | see ya soon | ||
| nopaste | "japhb" at 76.191.190.8 pasted "Demo of Parrot and Rakudo problems, from crashers to mere annoyances" (132 lines) at nopaste.snit.ch/14542 | 00:19 | |
| dalek | r32568 | japhb++ | trunk: | 00:23 | |
| : [OpenGL] Perl 6 examples fixes | |||
| : * Don't exit() from a callback. | |||
| : * shapes.p6: | |||
| : + Get rid of $now variable | |||
| : + Add comment about += failure | |||
| : + Enable keyboard callback | |||
| : + Fix braino in FPS display | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32568 | |||
| jonathan | "Everything can go wrong, and usually does | 00:30 | |
| What a life outlook! ;-) | 00:31 | ||
| Thanks for preparing that file, though. | 00:33 | ||
| jonathan hopes we can get the bugs ironed out in not too long | 00:34 | ||
| chromatic | That return bug bothers me. | 00:37 | |
| Whiteknight | what return bug? | 00:42 | |
| jonathan | chromatic: The exit one isn't too wonderful either. | ||
| Whiteknight: in the code japhb posted | 00:43 | ||
|
00:49
gmansi joined
00:55
bacek joined
01:08
Lorn joined
01:09
hachi left
01:19
MariachiElf joined
|
|||
| japhb | jonathan, chromatic: thanks for taking a look at that for me. | 01:21 | |
|
01:41
jimmy joined
02:08
rhr joined
|
|||
| rblackwe | Hey any parrot gurus that know anything about www.osgi.org that could help me with me efforts to get parrot on buglabs.net if so please let me know at robert@robertblackwell.com. | 02:16 | |
|
02:17
davidfetter joined
03:06
Andy joined
03:16
stockwellb joined
|
|||
| stockwellb | Parrot test question. pir_output_is? Why the output to file? | 03:21 | |
| One more. I discoverd prove can run the perl tests, is there a cli tool to run the PIR tests? | 03:22 | ||
|
03:58
Psyche^ joined
04:02
elmex_ joined
|
|||
| stockwellb | Anyone now how to run a single PIR test? | 04:05 | |
|
04:09
Ademan joined
|
|||
| jimmy | is pirc implemented by c, and other by pirc self ? | 04:25 | |
| dalek | bruce.stockwell@gmail.com | Parrot: | 04:27 | |
| link: www.perlfoundation.org/parrot/index.cgi?parrot | |||
| bruce.stockwell@gmail.com | Parrot: | 04:29 | ||
| link: www.perlfoundation.org/parrot/index.cgi?parrot | |||
| bruce.stockwell@gmail.com | Starting at the bottom: | 04:33 | ||
| link: www.perlfoundation.org/parrot/index...the_bottom | |||
| cotto | stockwellb, the *_output_* files are useful when testing an aspect of parrot that isn't easy to make part of a pure PIR test suite, i.e. something that might segfault. | 05:14 | |
| Most tests can be rewritten as pure PIR tests, although there are some exceptions. | 05:16 | ||
| pure PIR tests can be run directly with the parrot executable or with prove. | 05:18 | ||
| stockwellb | I'm getting errors when I run PIR tests with prove | 05:19 | |
| Perl tests work file with prove | |||
| cotto | example? | 05:20 | |
| stockwellb | hold on. | ||
| cotto | nopaste? | ||
| clunker3 | pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ | ||
| purl | nopaste is, like, at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ | ||
|
05:20
rhr joined
|
|||
| stockwellb | No plan found in TAP output | 05:21 | |
| parrot runs the test just fine. | 05:22 | ||
| cotto | can you nopaste what you ran and its output? | 05:23 | |
| stockwellb | yep | ||
| nopaste | "stockwellb" at 70.160.222.145 pasted "prove pir error" (14 lines) at nopaste.snit.ch/14544 | 05:24 | |
| cotto | you need to run prove from the root of the build dir (or have a parrot in your $PATH). | 05:26 | |
| stockwellb | ah yes prove works when run from the build root. Thank you | 05:28 | |
| cotto | np | ||
| stockwellb | cotto, do you know a lot about the test suite? | 05:29 | |
| do all of the Perl tests need to be converted to PIR tests? | |||
| cotto | That depends on who's asking. ;) I know more than nothing. | ||
| They don't. It speeds up the test suite if they are and it's a good way to learn your way around parrot, but it's not necessary. | 05:30 | ||
| stockwellb | I'm new to parrot and perl. I really want to learn more PIR, I thought I'd start by converting some tests. | 05:31 | |
| So that won't really help the project, but it should help me. | 05:32 | ||
| cotto | Go for it. I'd be glad to review and commit any patches of that nature. | 05:33 | |
| A faster test suite is always welcome. | 05:34 | ||
| stockwellb | I've never done any collaborative development before, so I'll definately have to lean on and learn from you vets. | ||
| cotto | docs/* is your friend | 05:36 | |
| There's a surprising amount of useful information there. | 05:37 | ||
| stockwellb | there certainly is. | 05:38 | |
| dalek | bruce.stockwell@gmail.com | Starting at the bottom: | 05:57 | |
| link: www.perlfoundation.org/parrot/index...the_bottom | |||
| stockwellb | Sleepy time... | 06:05 | |
| dalek | bruce.stockwell@gmail.com | Starting at the bottom: | ||
| link: www.perlfoundation.org/parrot/index...the_bottom | |||
|
06:20
davidfetter joined
|
|||
| jimmy | is particle here now? | 06:33 | |
| davidfetter | particle: idle for 9 hours, 21 minutes, 18 seconds (on since Tue, Nov 11, 2008 2:31:52 PM) | 06:37 | |
| jimmy | i just want this patch can be aplied in other place.svn.perl.org/viewvc/parrot/trunk/ru...p;r2=32488 | 06:40 | |
| unification of usage. | 06:42 | ||
|
06:54
masak joined
|
|||
| dalek | r32569 | allison++ | calling_conventions: | 06:59 | |
| : [calling_conventions] Standardize parameter processing so the invocant is | |||
| : handled while iterating through the paramters, rather than being a special | |||
| : case. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32569 | |||
| MariachiElf | How do you recover from a failed test? | 07:04 | |
| t/stm/runtime...............................NOK 4/5# Failed test 'queue adapted for the library' | 07:05 | ||
| masak | jonathan++ # $?PACKAGE | 07:06 | |
| moritz | masak: what do you mean by "recover from"? the test harness doesn't die after a failed test | ||
| MariachiElf | moritz: Mine did | 07:07 | |
| masak | moritz: sorry, need more context. where are we? | ||
| MariachiElf | Failed 1/394 test programs. 1/11452 subtests failed. | ||
| NMAKE : fatal error U1077: 'C:\\Perl\\bin\\perl.exe' : return code '0x1' | |||
| Stop. | |||
| I'm on Vista | |||
| moritz | uhm, that's weird. | ||
| MariachiElf | Just did a fresh SVN checkout a few moments ago | ||
| masak | moritz: did I say 'recover from'? where? | ||
| moritz | masak: sorry, I meant MariachiElf :/ | 07:08 | |
| masak | moritz: that explains it. | ||
| purl | Damn right it does. | ||
| moritz | masak: my usual ma<tab> mistake :/ | ||
| masak | moritz: don't type with your eyes closed! | ||
| MariachiElf | nmake went fine | 07:09 | |
| nmake html seems to have gone well too | |||
| masak | chromatic: re refcount, continuations/exceptions: sounds reasonable. anything a lower-rung coder like me can do to eliminate any of those errors? I get them often enough to feel antipathy against them. | 07:10 | |
| moritz | ah well, 'make test' returns a non-zero exit value if the test failed | ||
| MariachiElf: what else do you want 'make' to do? | |||
| MariachiElf | moritz: I'm assuming there were more tests to run | 07:11 | |
| moritz | MariachiElf: don't assume. It already printed the summary (Failed 1/394 test programs. 1/11452 subtests failed.), so it's done now. | ||
| MariachiElf | Ohhhhh | 07:12 | |
| poundperl.pastebin.com/m9adfffb | 07:13 | ||
| There's the full output of the stop | |||
| The output was just scary and not what I'm used to | 07:14 | ||
| my apologies | |||
| moritz | it happend to be the last test that failed, no worries ;) | ||
| MariachiElf nods. | 07:15 | ||
|
07:33
uniejo joined,
samlh joined
|
|||
| masak | rakudo: my @a = (1,2,3); @a.[2] = 5; say @a.perl | 07:34 | |
| polyglotbot | OUTPUT[[1, 2, 5]ā¤] | ||
| masak | S09 says this should be a compile-time error. | ||
| masak reports | |||
| chromatic | masak, mostly we just have to understand all of the places we refer to an existing context and make sure that we update its reference count appropriately. | 07:35 | |
| moritz | wtbh? | ||
| chromatic | With regard to the double-free errors. | ||
| masak | chromatic: aye. | 07:36 | |
| moritz | masak: it says my @a.[5] should be an error | ||
| masak: you didn't confuse that, I hope? | |||
| masak | moritz: oh, I did. | ||
| moritz: thx. | |||
| masak doesn't report | |||
| moritz was very disturbed, for a second ;) | 07:37 | ||
| masak | ah. right now my @a[5] doesn't work either. | ||
| moritz: sorry ;) | |||
| moritz | np :-) | ||
| dalek | r32570 | allison++ | calling_conventions: | 07:38 | |
| : [calling_conventions] Bringing the calling_conventions branch up-to-date with trunk r32569. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32570 | |||
|
07:53
mj41 joined
08:07
Zaba joined
08:18
allison joined
09:06
iblechbot joined
09:10
tomyan joined
09:12
idemal joined
09:16
cosimo joined
09:53
Zaba joined
10:16
Zaba joined
10:30
masak joined
|
|||
| masak | szabgab: weblog.infoworld.com/fatalexception...t_vap.html | 10:31 | |
| szabgab | yeah, I read that already a few days ago, | 10:37 | |
| lucky that at least you ppl don't get discouraged by such things | 10:38 | ||
| btw is there any plan when can one install parrot ? | 10:39 | ||
|
10:39
ruoso joined
|
|||
| szabgab | as in not running it from svn workspace | 10:39 | |
|
10:39
konstantin joined
|
|||
| masak | szabgab: not discouraged, but sad to see such outside opinions. | 10:39 | |
| szabgab: you can install parrot already. | 10:40 | ||
| szabgab: it's on CPAN. | |||
| moritz | szabgab: reini urban was working on a proper 'make install' | ||
| szabgab | yeah, but I thought it keeps saying, you better not run make install | ||
| moritz | szabgab: there's a branch for it, but sadly his work as stalled atm | ||
| masak | szabgab: ah. | 10:41 | |
| szabgab | ah, so the recomenndation for people who want stable (realatively) is to download from CPAN, compile it and run it from there> | ||
| ? | 10:42 | ||
| masak | I suppose. | ||
| since I don't have those requirements myself, I don't really know, though. | |||
| I always work on bleeding edge Parrot. | |||
| cotto | That way when you cut yourself, you can give Parrot a bandage. | 10:48 | |
| masak | bandages++ | 10:49 | |
| moritz | and chromatic is master of bandages ;) | ||
| masak | ...and of de-FUDding, incidentally. | 10:50 | |
| szabgab | what about rakudo? it does not have separate release cycle from parrot right? | 10:51 | |
| masak | no. | ||
| szabgab | so I should consider the released parrots to be stable rakudos as well? | ||
| masak | szabgab: depending on what you put into the term, yes. | 10:52 | |
| szabgab | the stabelest we can have now | ||
| masak | right. | ||
| szabgab | and btw is there some estimation for parrot 1.0? | 10:55 | |
| masak esteems Parrot 1.0 | 10:56 | ||
| :) | |||
| szabgab | anything like "more than 6 months for sure" or "might be in 3 month" | 10:58 | |
| masak | szabgab: when you ask about the release of 1.0, what particular feature(s) do you wish for? | 10:59 | |
| moritz says 6 months | |||
| szbalint | you know the standard estimate, szabgab | ||
| ready by xmas | |||
| szabgab | I don't care so much about features, more about the marketing bit | ||
| thats' for perl 6 | |||
| parrot is almost independent from perl 6 | 11:00 | ||
| Patterner | the standard answer is "xmas". the standard omission is the year. | 11:01 | |
| masak | szabgab: well, yes and no. a dep for the release of Parrot is "two stable HLLs" or something like that. Rakudo will be one of them. | ||
|
11:02
barney joined
|
|||
| masak | s/release/1.0 release/ | 11:02 | |
| moritz | masak: but "stable" ne "full" | ||
| masak | true. | ||
| szabgab | I know all the Xmas answers and I am not expecting anything like it will be done by that time, I am ok with an answer, at least 6 month | ||
| so basically the "two stable HLLs" make it parrot quite dependent on the perl 6 design process, right? | 11:03 | ||
| masak | szabgab: um, depends on whether "stable" means "not changing" or "useable" | 11:06 | |
| moritz | szabgab: I don't think that one of them has to be Perl 6. It could be partcl (tcl) and cardinal (ruby), for example | 11:08 | |
| szabgab | I want to be able to run Padre on Parrot at least paritally written in Perl 6, I don't mind using a subset of the language | 11:09 | |
| and of course I'd like to let people use tcl and/or ruby to add plugins to Padre | |||
| but I have to give the user a relatively painless and fearless way to install it | 11:11 | ||
| moritz | szabgab: in a comment on perlbuzz.com/2008/10/perl-6-isnt-ex...rware.html I wrote down what I think is needed to actually code in Perl 6, without too many "wtfs per minute" (No. 2 has been fixed since then) | ||
| szabgab | painless is technical, fearless is more psychological, marketingish issue | ||
| moritz | that's the "painless" part I was referring to ;) | 11:12 | |
| szabgab | moritz: and do you any kind of time estimate for the other 3 ? | 11:16 | |
| masak | szabgab: I'd rate #1 as "almost fixed now". maybe a week or two. | 11:18 | |
| szabgab | and the other two? even a minimum time would do it for me. see I am begging :-) | 11:26 | |
| masak | szabgab: you'll probably have to beg pmichaud++ and jonathan++ for estimates to #3 and #4. :) | 11:28 | |
| jonathan | #4 is waiting on a refactoring of part of the grammar to get us more in line with STD.pm. | 12:08 | |
| I don't think it should be so bad to do, and I think we've got enough tests now that I shouldn't break too much. :-) | |||
|
12:14
ruoso joined
12:29
Lorn joined
12:44
konstantin joined
12:53
DietCoke joined,
konstantin joined
13:08
jimmy joined
|
|||
| pmichaud | (from perlbuzz.com/2008/10/perl-6-isnt-ex...rware.html comment): "There's no way to turn an array ref into an array" ... example? | 13:19 | |
|
13:21
iblechbot joined
|
|||
| szbalint | you need to give an example to disprove that statement | 13:27 | |
| jonathan | @array.values? | 13:28 | |
| er | |||
| $arrayref.values? | |||
| pmichaud | I don't understand what "turn an array ref into an array" means here. | ||
| szbalint | me neither, but I didn't make that statement :) | 13:31 | |
| jonathan | pmichaud: I suspect they're trying to do the Perl 5 equivalent of @$array_ref | 13:32 | |
| pmichaud | ah. | ||
| jonathan | But you really don't need to in Perl 6. | ||
| In most circumstances. | |||
| pmichaud | sometimes you do | ||
| actually, often you do | |||
| for $arrayref { ... } | |||
| jonathan | Ah, yes, that won't iterate over the array's values, will it... | ||
| pmichaud | you really need for @$arrayref { ... } or for $arrayref.values { ... } | ||
| jonathan | Right | 13:33 | |
| jonathan needs more coffee | |||
| Anyway, the .values way exists now | |||
| pmichaud | I wonder why .list isn't working. | ||
| jonathan | It's not? | 13:34 | |
| pmichaud | according to jhorwitz yesterday it wasn't. | ||
| building now so I can check. | |||
| jonathan | kk | ||
| Coke | ... what does for $arrayref do ? | ||
| it just fires once on the ref? | 13:35 | ||
| pmichaud | coke: it would loop over the single array element. | ||
| it's essentially the same as for ($arrayref, 2, 3) { ... } | |||
| except without the 2, 3 part. | |||
|
13:35
ChrisDavaz joined
|
|||
| Coke | Hurm. I am thinking I'd rather that act like an array in that context, and have to specify I wanted the ref instead of the array. | 13:36 | |
| pmichaud | how would one "specify I want the ref" ? | 13:37 | |
| anyway, that's a language design issue, so I get to pass the question off to p6l. :-) | |||
| Coke | ayup. (can't be a method, because that'd return a ref... which i already said I wanted to be special.) | 13:38 | |
| Coke guesses $$ | |||
| pmichaud | in this sense it's really the same as Perl 5, though | 13:39 | |
| my $a = [1, 2, 3]; | 13:40 | ||
| for ($a) { print "$_\\n"; } # "1 2 3\\n" | |||
| for (@{$a}) { print "$_\\n"; } # "1\\n2\\n3\\n" | |||
| (perl 5 code above) | |||
| oops | |||
| in reality | |||
| purl | in reality is probably that it is generated by on setup_function | ||
| pmichaud | for ($a) { print "$_\\n"; } # "ARRAY(0x......)" | 13:41 | |
| ahhh, I see the problem with 'list'. | 13:42 | ||
| jonathan: do we have a way to go from an ObjectRef to the thing it references? | |||
|
13:44
bacek joined
|
|||
| pmichaud | (in PIR) | 13:44 | |
| jonathan | pmichaud: Anything that invokes get_pmc would probably do it... | 13:47 | |
| But I can't think of an op right away... | |||
| hmm | |||
| pmichaud | is there a get_pmc op? | ||
| jonathan | maybe | ||
| pmichaud | I think there's a set_pmc op. | ||
| jonathan | It's a vtable | ||
| pmichaud | hrm, guess there isn't. | 13:48 | |
| ah, setref and deref | |||
| how strange that they're actually called by names that indicate what they do. :-P | 13:49 | ||
| jonathan | lol! | 13:50 | |
| pmichaud++ | |||
|
14:14
Zaba joined
|
|||
| nopaste | "pmichaud" at 72.181.176.220 pasted "going from arrayref to a list" (12 lines) at nopaste.snit.ch/14547 | 14:16 | |
|
14:17
gryphon joined
14:23
Lorn joined
|
|||
| dalek | r32571 | pmichaud++ | trunk: | 14:23 | |
| : [rakudo]: spectest-progress.csv update: 216 files, 4528 passing, 8 failing | |||
| : Failure summary: | 14:24 | ||
| : S02-literals/radix.rakudo aborted 8 test(s) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32571 | |||
| r32572 | pmichaud++ | trunk: | |||
| : [rakudo]: update test_summary.pl to report failures, output < 80 cols | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32572 | |||
|
14:26
Zaba joined
|
|||
| jimmy | parrotvm is so slow... | 14:28 | |
|
14:29
bacek joined
14:35
dalek joined
14:43
rdice joined
|
|||
| dalek | r32573 | pmichaud++ | trunk: | 14:51 | |
| : [rakudo]: Fix .list method on arrays (and arrayrefs). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32573 | |||
|
14:52
Zaba joined
14:58
Zaba joined
15:02
dmknopp joined
15:05
dmknopp left,
dmknopp joined
15:06
Lorn joined
15:18
Andy joined,
Zaba joined
15:20
NotFound joined
|
|||
| NotFound | Hi | 15:20 | |
| purl | hey, NotFound. | ||
| Coke | jimmy: I am often inclined to agree with that. | 15:22 | |
| jimmy | had parrot implemented array class? | 15:30 | |
| Coke | s/class/PMC/ yes. | 15:31 | |
| $P1 = new 'Array' # or 'ResizablePMCArray', usually. | 15:32 | ||
| # or any of a lot of other more specific container types. | |||
|
15:32
AndyA joined
|
|||
| jimmy | where is the s dir? | 15:32 | |
| Coke | s// is a perl-ism, it means replace the first part with the second. | 15:33 | |
| so, to expand that, "if by class, you mean PMC, then yes." | |||
| szbalint | s// is an error actually | ||
| :] | |||
| Coke | sorry about the confusion. | ||
| and about szbalint. | 15:34 | ||
| jimmy | find it, thanks coke | 15:36 | |
| szbalint | purl: regexp? | 15:37 | |
| purl | i guess regexp is short for regular expression | ||
| szbalint | purl: regular expression? | ||
| purl | regular expression is a predicate on strings | ||
| szbalint | pfft | ||
| jimmy | i thought there is a class, because i saw it ever. | 15:38 | |
| purl: regexp? | 15:40 | ||
| purl | regexp is short for regular expression | ||
|
15:42
Zaba joined
15:44
cosimo joined
15:47
hercynium joined
15:52
ruoso joined
|
|||
| dalek | r32574 | pmichaud++ | trunk: | 15:53 | |
| : [rakudo]: Make log(0) return a Failure (RT #60490, masak++) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32574 | |||
| jonathan | particle: ping | 15:56 | |
| Coke | pmichaud: (anon) perhaps: .namespace ['Signature'] | 16:31 | |
| .sub 'onload' :anon :init :load | |||
| that doesn't correspond directly to a user-defined block, does it? | |||
| (it's also neither an inner block nor a anonymous sub, of course.) | |||
| pmichaud | that's correct, those are auto-generated. | 16:32 | |
|
16:40
jhorwitz joined,
Zaba joined
|
|||
| jonathan thinks that the bytecode annotations stuff really needs doing so we can generate good errors soon | 16:42 | ||
| But it goes with a whole bunch of bytecode handling refactors which are quite a bit of work, though Infinoid++ has made a good start. | 16:43 | ||
| Coke | I wonder if it would be possible to create an artistic-license'd version of cold fusion running on parrot. | 16:45 | |
| I don't think it would be it, | 16:46 | ||
| pmichaud | jonathan: btw, I think I've convinced myself that $?PACKAGE, $?CLASS should indeed be held as lexicals. | 16:47 | |
| Coke | er, be worth the effort, but I wonder if legally it would be doable. | ||
| pmichaud | in particular, we can replace existing instances of 'def' with $?CLASS :-) | ||
| jonathan | (implementing it like the spec says)++ | 16:50 | |
| Yes, that's very true. | |||
| pmichaud | oh, there was a proposed PCT change that came out during your vacation | 16:51 | |
| I'm thinking of allowing string/int/num constants directly in the PAST tree | 16:52 | ||
| jonathan | Rather than needing PAST::Val nodes? | ||
| pmichaud | yes. | ||
| jonathan | Rational, other than less objects to create? | ||
| Or is that enough? | |||
| pmichaud | we still have PAST::Val nodes for things that have special requirements (typing, construction, etc.), but simple string/int/num can go directly in the tree | ||
| less objects to create, easier to read and process | |||
| jonathan | OK | 16:53 | |
| No immediate objections from me. | |||
| pmichaud | it just seems cleaner in a lot of ways | ||
| jonathan | I've at lesat a couple of times mistakenly not created a PAST::Var node when I shoulda done and just stuck a value in, anyway... | ||
| pmichaud | right. | 16:55 | |
| for this limited case I think it's worth dwim instead of enforcing a rigid strictness | 16:56 | ||
|
16:57
Theory joined
|
|||
| jonathan | Yes. | 16:57 | |
| Makes sense. | |||
| Go for it. | |||
|
16:58
Zaba joined
|
|||
| Coke goes WOOOT for a reason entirely not to do with parrot. | 17:03 | ||
| pmichaud | I don't know when it'll occur, but it's in the planning stage. | ||
| jonathan | Sure, I guess not high priority compared to other things. | 17:04 | |
| *cough*lexicals*cough*protoregexes*cough* | |||
| pmichaud | well, there's a fair bit of refactoring to do in actions.pm, which is what makes me think of it. | ||
| jonathan | *nod* | ||
| pmichaud | I'll be really glad to give someone else lexicals to do, btw. :-) | ||
| jonathan | Erm. | 17:05 | |
| pmichaud | the only reason I'm doing it is because nobody else seems to want to take care of it. :-| | ||
| jonathan | How do the lolcats say... | ||
| ...DO NOT WANT. | |||
| ;-) | |||
| It's...hard. | |||
| How far along is the lex branch? | |||
| pmichaud | I'll bite the bullet and spend a day on it soon. | ||
| jonathan | As in, what's missing? What's done? | 17:06 | |
| pmichaud | the basics are in place -- I have the capture_lex and newclosure opcodes done. | ||
| The hard part is autoclose semantics. | |||
| Coke | pmichaud: are you a coffee drinker? | ||
| pmichaud | I _think_ I have autoclose worked out mostly -- just need to write it down and then implement it. | ||
| jonathan | If you've got it worked out, then it's probably best you do at lesat one half of that. | 17:07 | |
| pmichaud | part of the problem is that I'm working with code where I understand very few of the design parameters that are involved, so I don't know if I'm breaking anything | ||
| Coke: I very rarely drink coffee. | |||
| like, usually only in Europe. :-) | |||
| Coke | pmichaud: heh | ||
| so throwing a DD or SB card at you will not help you code faster. Roger. =-) | |||
| jonathan | pmichaud: If you can write up what you want, I maybe can help on implementing it. | ||
| pmichaud | jonathan: that's what I'm working on now. :-) | 17:08 | |
| jonathan | I need to refactor variable_decl (I think it's that one) to look more like STD.pm. | ||
| Then we can have things like "has $.x = 42" | |||
| pmichaud | what I have so far is at www.pmichaud.com/perl6/lexical.txt | ||
| refactoring variable_declarator really means we should have signature fixed first. | 17:09 | ||
| jonathan | Perhaps - I'd rather do the first refactor which is just shuffling around code mostly, rather than changing too much at one go. | ||
| But yes, it will want to change with respect to sigs also. | 17:10 | ||
| pmichaud | it's all the same pieces | ||
| jonathan | Autoclose | 17:11 | |
| erm | |||
|
17:11
tewk_ joined
|
|||
| jonathan | The stuff under that heading doesn't sound that vastly different to what we do today? | 17:12 | |
| Other than mentioning capture_lex? | |||
| pmichaud | the big difference is that I won't be chasing up the caller chain. | ||
| jonathan | Aha. | ||
| pmichaud | s/is/will be/ | ||
| so far none of this requires looking up the caller chain | |||
| which is where I think the current problems lie. | 17:13 | ||
| jonathan | OK | ||
| pmichaud | (well, we might look at the immediate caller as part of invoke, but that's about it.) | ||
| iiuc, what happens today is that autoclose tries to chase up the caller chain looking for contexts that match its criteria | 17:14 | ||
| jonathan | Ah, OK. | ||
| pmichaud | which is bad, especially if an outer lexical scope isn't even *in* the caller chain. | ||
| jonathan | Yes. | ||
| Plus perhaps a source of subtle bugs. | |||
| pmichaud | anyway, I'll finish the writeup today if I can. | 17:15 | |
| jonathan | OK. | 17:16 | |
|
17:16
ruoso joined
|
|||
| jonathan ponders subtypes | 17:22 | ||
| I think the SubSet class needs to go away. | |||
| I suspect since the subset types are just refinements to real types, we can do it as an anonymous subclass of the proto that overrides ACCEPTS | 17:23 | ||
| jonathan JFDI | |||
|
17:38
rob joined
17:42
PacoLinux_ joined
17:46
konstantin joined
17:47
PerlJam joined
|
|||
| dalek | r32575 | Whiteknight++ | trunk: | 17:54 | |
| : [Book] Fix up the first half of Chapter 2. Fix prose and flow, grammar, and the occasional spelling problem. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32575 | |||
|
18:09
cognominal joined
|
|||
| jonathan | rakudo: subset Even of Int where { $^n %2 == 0 }; say Even.WHAT; | 18:11 | |
| polyglotbot | OUTPUT[Subsetā¤] | ||
|
18:11
rhr joined
18:12
wonko joined
18:15
chromatic joined
|
|||
| pmichaud | (anonymous subclass)++ | 18:15 | |
| jonathan | pmichaud: Yeah, the current bug (as shown there) will go away then. | 18:16 | |
| pmichaud | for that matter, does it have to be anonymous? ;-) | ||
| looks to me like it has a name ("Even") | |||
| jonathan | Oh, in that case, yes. | ||
| In the general case they can be anonymous. | |||
| pmichaud | yes. :-) | 18:17 | |
| jonathan | but yeah, may well name the named ones | ||
| Just trying to make sure my approach is going to work first. | |||
| pmichaud | afk, lunch | 18:22 | |
|
18:24
bacek joined
|
|||
| Coke | jonathan: what should that have output? Even ? | 18:28 | |
| jonathan | Coke: Yes. | 18:30 | |
| I think so. | |||
| Oh,no | |||
| I think maybe Int | |||
| Since subtypes are just refinements on real types. | |||
| It certainly shouldn't have emitted Subset. | 18:31 | ||
| I can argue it either way on the other one, but I suspect Int is the answer. | |||
| jonathan -> dinner | |||
|
18:31
Zaba joined
|
|||
| pmichaud | I suspect Int is the answer, also. | 18:37 | |
| I'm not even sure that .WHAT works on Even | 18:38 | ||
| (since it's really a macro) | |||
| afk, lunch for real this time. | |||
|
19:07
Zaba joined
|
|||
| dalek | r32576 | coke++ | trunk: | 19:29 | |
| : use of .return as a synonym for .tailcall is [DEPRECATED] | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32576 | |||
| particle | so, WHAT gives a shortname of "Int", and WHO gives "Even of Int"? | 19:35 | |
| or can you not get the name of a subclass even after you've named it? | |||
| pmichaud | note that subset != subclass | 19:36 | |
| particle | oops, i meant subset of course | 19:37 | |
| my point is that if you name a subset, you should be able to somehow recover that name | |||
| pmichaud | maybe. I'm not sure that we could do things like my $x = Even; | 19:38 | |
|
19:38
findlay joined
|
|||
| particle | no, i'm not sure of that either | 19:39 | |
| but why bother with having a name if it's declaration-only | |||
|
19:43
kj joined
|
|||
| pmichaud | oh, it's still usable wherever we expect a typename | 19:45 | |
| i.e., my Even $x = 2; | |||
| but the fact that it's visible as a name doesn't necessarily imply it's a value that can be .WHAT | |||
| (it doesn't imply that it can't either -- I'm just saying we're not clear on it yet) | |||
| particle | yes, we're not clear. | 19:46 | |
| i suspect the fullname (.WHO) will contain the subset name | |||
| Coke runs "make TEST_JOBS=3 test" | 19:49 | ||
| dalek | r32577 | coke++ | trunk: | 19:52 | |
| : using .return as a synonym of .tailcall is [DEPRECATED] | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32577 | |||
| Coke | that's the last test failure regarding .return/.tailcall, I think. | 19:54 | |
|
19:59
johbar joined
|
|||
| TimToady | phone | 20:00 | |
| dalek | r32578 | coke++ | trunk: | ||
| : RT #58974; remove [DEPRECATED] .return syntax; use .tailcall instead. (all tests pass) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32578 | |||
| Coke | TimToady: 1m. | ||
| pmichaud | be there in 3 | 20:01 | |
| Coke | TimToady++ | 20:03 | |
| particle | coke: does r32578 requires realclean? | 20:17 | |
| Coke | I don't think so. | 20:25 | |
| presuming the deps are correct. | 20:26 | ||
|
21:01
AndyA joined
21:16
masak joined
|
|||
| masak | have I got a Rakudo bug for you tonight! | 21:19 | |
| nopaste | "masak" at 130.238.45.242 pasted "a bug involving gather, pattern matching and .substr" (15 lines) at nopaste.snit.ch/14553 | 21:20 | |
| bacek | masak: good morning :) | ||
| masak | bacek: y0 Ć= | ||
| :) | |||
| when looking at the above code, keep in mind that it shouldn't produce anything. that's because I've removed all the parts that didn't cause trouble. | 21:21 | ||
| IOW, I'm aware that one would never want a program exactly like this. the point is that the program crashes. | 21:22 | ||
| bacek | bacek@icering:~/src/parrot/languages/perl6$ ../../parrot perl6.pbc g.pl | 21:23 | |
| Cannot take substr outside string | |||
| masak | bacek: that's it. | ||
| it's a reasonable error, in some circumstances. but I think you can look at the code and prove to yourself that it shouldn't do that. | 21:24 | ||
| bacek | masak: (crash) same bug with "die in subroutines" | ||
| pmichaud | that's a Parrot message | 21:25 | |
| Parrot complains (with that message) if you attempt to take a substring beyond the end of a string. | |||
| masak | ok. | ||
| pmichaud | the answer is probably for rakudo's .substr method to check for that and do something reasonable. | ||
| masak | bacek: I don't understand what you mean with "same bug with 'die in subroutines'" | 21:26 | |
| pmichaud | or, catch the exception and convert it to something reasonable. | ||
| masak | pmichaud: if you remove the gather block, the program doesn't crash | ||
| bacek | pmichaud: #56216 :) | ||
| masak | pmichaud: something is horribly wrong here. | 21:27 | |
| bacek | pmichaud: patch is quite old. It should call '!FAIL' in moder rakudo | ||
| masak: it's #57330. | |||
| masak | bacek: yes, what about it? is this the same thing? | 21:28 | |
| bacek | 57396 & 57398 is actually duplicates. | ||
| masak: technically - yes. | |||
| masak | I'm lost -- how can adding a gather block cause the crash? | 21:29 | |
| pmichaud | I don't believe they are all the same thing. | ||
| masak | the program works fine without it | ||
| bacek | masak: try 'sub foo { die }; foo' | ||
| pmichaud | Let's not assume things are the same until we can prove it. | ||
| masak | bacek: I know about that one, it's not the same. | ||
| trust me. | |||
| pmichaud | masak: the gather block imposes an exception handler in the mix | ||
| masak | ok. | ||
| bacek | masak: NO WAY :) | ||
| masak | bacek: :) | 21:30 | |
| pmichaud | masak: so it may be the existence (or non-existence) of the exception handler that is affecting things here. | ||
| masak | would looking at the PIR code make things clearer, perhaps? | ||
| pmichaud | let me look at the perl 6 snippet a bit closer, first. | ||
| bacek | afk # $kids->school | ||
| masak | pmichaud: yes, of course. | 21:31 | |
| purl | Indubitably. | ||
| nopaste | "Coke" at 65.91.151.195 pasted "small-ish PIR from phone" (11 lines) at nopaste.snit.ch/14554 | ||
| Coke | chromatic, particle, pmichaud: that sample depends on the perl6 code you're trying to eval. if you use a different invalid bit of perl6, it works. | 21:32 | |
| e.g. if you leave off the trailing }; something about that particular exception is causing trouble. | |||
| bacek | masak: try to put try around gather. It will fix crash | ||
| Coke | could probably narrow it down further if necessary. | ||
| masak | bacek: hokay. | ||
| bacek | masak: because of "handle all exceptions handler"... | 21:33 | |
| pmichaud | of course, it's not clear why an exception is generated in the first place. | ||
| chromatic | That's an ASSERT failure. | ||
| masak | bacek: thing is, I don't want it to crash, try block or no try block. | ||
| chromatic | I think it's related to the exception handler gyrations. | 21:34 | |
| Huh. | |||
| It's compiling code. | |||
| do_sub_pragmas | |||
| pmichaud | (we now have two exception conversations going... my comments are aimed at the masak/bacek one :-) | ||
| chromatic | PackFile_fixup_subs | ||
| masak | pmichaud: aye, it's not clear why. that's what troubles me. | ||
| pmichaud | masak: it throws an exception only if gather is present? | 21:35 | |
| masak | correct. | ||
| chromatic | I can't get it to segfault though. | ||
| pmichaud | masak: I'll need to svn up and rebuild parrot -- need about 5 mins | 21:36 | |
| Coke | pmichaud: when running target=pir, there's an .include file that is included -after- constants from it are used. | ||
| masak | pmichaud: no problems -- I'm blogging right now, take your time. | ||
| Coke | chromatic: lemme double check. | ||
| pmichaud | Coke: is the file included more than once, or just the once? | 21:37 | |
| Coke: I suspect that may have been from jonathan's MAIN change yesterday. | |||
| or the $?PACKAGE one | |||
| Coke | chromatic: crap. now i can't either. | ||
| pmichaud: just once. | |||
| pmichaud | okay, I'll have to check on the code there. | ||
| Coke | chromatic: but we can worry about that once the assert failure goes away. | 21:38 | |
| pmichaud | I'm trying to eliminate the use of the constants from the generated code, but someone keeps adding them back in :-) | ||
|
21:38
davidfetter joined
|
|||
| pmichaud | or, I should say: adding new ones in :-) | 21:38 | |
| PerlJam | masak: does #november-wiki actually exist anywhere? | ||
| moritz | PerlJam: on freenode | ||
| masak | moritz is faster than I am :) | 21:39 | |
| PerlJam: did some documentation lead you to believe otherwise? | |||
| Coke | (hurm. if c. can fix this assert, maybe I'll start throwing some of tcl's spec test explosions at him.) | ||
| chromatic++ | 21:40 | ||
| PerlJam | no, that I joined #november-wiki and I'm the only one on the channel led be to believe otherwise | ||
| (on freenode) | |||
| moritz | PerlJam: netsplit, I think | ||
| 22:26 -!- Netsplit kubrick.freenode.net <-> irc.freenode.net quits: @masak, @viklund, @zarah, p6eval | |||
| masak | PerlJam: looking forward to seeing you there after the netmerge :) | 21:41 | |
| chromatic | I don't know if we can trust the backtrace, thanks to all of the setjmp/longjmp. | ||
| pmichaud | masak: I think it may be a lexicals issue. | 21:44 | |
| masak | pmichaud: I'm all ears. | 21:45 | |
| pmichaud | I suspect the 'gather' scope isn't getting the correct set of lexicals. | 21:46 | |
| Coke | (netsplits) purl, be Coke. | 21:47 | |
| masak | pmichaud: is there any sense in me reporting the code snippet to rakudobug? | ||
| moritz | masak: put it as a test under t/spec/integration/ | 21:48 | |
| pmichaud | works for me. | ||
| masak | moritz: aye. | ||
| pmichaud | (putting it as a test works for me) | ||
| masak | moritz: how should I test it, according to you? | ||
| put a try block around it and check $! ? | |||
| moritz | masak: yes, or lives_ok | 21:49 | |
| pmichaud | ouch. | ||
| masak | moritz: will do. | ||
| pmichaud: note also that looping over only one of the strings doesn't crash. | 21:50 | ||
| pmichaud | yes | ||
| it happens on the second iteration | |||
| masak | aye. | ||
| pmichaud | what appears to be happening is that we retrieve the $c from the previous execution | ||
| but retain the $/ from the current execution | 21:51 | ||
| masak | not good. | ||
| pmichaud | so when it tries to do a .substr($/.from) that becomes .substr(3) on an empty string and we get the exception. | ||
| more precisely, the $c .= substr($/.from); uses the $c from the previous execution. | |||
| masak | pmichaud++ | 21:52 | |
| that makes perfect sense. | |||
| (except that it's wrong, of course) | |||
| pmichaud | yes. | ||
| and if I remove the explicitly 'newclosure' op that is being run on gather nodes, I get even stranger output. | 21:53 | ||
| *explicit | |||
| masak | uh huh. | ||
| pmichaud | there are times that I think the only thing more broken than imcc is Parrot's lexicals. | 21:54 | |
| masak | I know the feeling. | ||
| nopaste | "pmichaud" at 72.181.176.220 pasted "the diagnostic I ran (for masak)" (34 lines) at nopaste.snit.ch/14555 | 21:56 | |
| pmichaud | it's actually doing .substr(3) on '1', not the empty string. But it's still the string left over from the previous execution. | ||
| masak | aye. | 21:57 | |
| I was wondering where the heck that "1" came from. | |||
| now I understand. | |||
| pmichaud checks with family members to see if he can devote the evening to trying to fix lexicals. | 21:58 | ||
| PerlJam | pm: heh! | 21:59 | |
| pm: Wednesdays are supposed to be "mine" for hacking or whatever. So far it hasn't worked out that way. | 22:00 | ||
| 4 kids + wife + other relatives are too demanding of my time. | |||
|
22:01
MariachiElf joined
|
|||
| dalek | r32579 | coke++ | trunk: | 22:02 | |
| : remove [DEPRECATED] warning - this is gone now. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32579 | |||
|
22:15
gmansi joined
22:16
sjansen joined
|
|||
| masak | test added in r22996 | 22:20 | |
| it fails in Rakudo. | |||
| moritz | masak++ | ||
|
22:24
hercynium joined
22:31
Zaba joined
|
|||
| dalek | r32580 | moritz++ | trunk: | 22:45 | |
| : [rakudo] more test files for spectest, and restored alphabetical order. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32580 | |||
| jonathan | OK folks, I'm off for my pre-flight sleeps - be seeing some of you in California soonish. :-) | 23:08 | |
| pmichaud | sounds good | ||
| see you in 48 hrs | |||
| oh, more like 50 | |||
| (forgot the timezone difference) | 23:09 | ||
| jonathan | Yes | 23:10 | |
| Looking forward to it. :-) | |||
| pmichaud | same here. Any particulars on how we should meet up? | 23:11 | |
| just on IRC, perhaps? | |||
| jonathan | I will be arriving with particle, on the van he will be brining from SJC. | ||
| I'm taking the first night in San Francisco, then coming to the airport and meeting particle and others there. | |||
| pmichaud | oh, then I'll see you there. | ||
| jonathan | I think you're arriving about then. | ||
| Yes. | |||
| pmichaud | I arrive an hour before particle. | ||
| jonathan | Ah, OK. | 23:12 | |
| pmichaud | (unless he's changed his travel arrangements ... /me checks) | ||
| jonathan | He gets in at 4:10pm I think. | ||
| pmichaud | I arrive 2:30p | ||
| jonathan | Ah, OK, a bit before. | 23:13 | |
| To SJC? | |||
| pmichaud | I'm arriving American 1865 | ||
| yes, to SJC | |||
| should we designate a meeting point at SJC? | |||
| jonathan | I don't know SJC at all. | 23:15 | |
| pmichaud | me neither. I guess we can just wing it. | ||
| jonathan | OK, I will come to the airport a bit earlier so we can mee. | ||
| *meet | |||
| Well, I am armed with a cell phone. ;-) | |||
| pmichaud | me too... 214-682-9420 | ||
| jonathan | OK. That allows lazy evaluation of the problem. ;-) | ||
| pmichaud | works for me. | ||
| before departing you might also grab the latest copy of lexical.txt -- I'm adding some updates now (and plan to work on it much of the evening) | 23:16 | ||
| jonathan | aha, OK | ||
| I'm getting my half-done subset patch shoved over to the laptop too | |||
| OK | 23:19 | ||
| Will take an earlier trian than I'd planned. | |||
| pmichaud | see you in 48. | ||
| jonathan | Yes | ||
| Safe journey - see you there :-) | 23:20 | ||
| dalek | r32581 | coke++ | trunk: | 23:22 | |
| : Add a failing TODO test for RT#45859 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=32581 | |||
|
23:23
bacek_ joined
|
|||
| Coke | hurm. anyone know enough lex/yacc to figure out where methods calls are processed in IMCC? I am prettysure that .tailcall <blah> allows them, so I think I'm looking for sub_call, but I can't see where sub_call is processed. | 23:27 | |
| chromatic | Processed how? | 23:29 | |
| pmichaud | .tailcall <blah> does allow method calls -- in fact, they're used quite heavily in much of PGE, PCT, Rakudo, etc. | 23:30 | |
| Coke | aha. found it. | ||
|
23:35
Zaba joined
|
|||
| Coke | chromatic: if you make an imcc patch to remove bareword method names (45859), I'll fixup everything in 'make test' to comply. | 23:47 | |
| (I thought I had it, but am failing to pass the new test I just added) | |||
| pmichaud | (fixup everything) that sounds like a big job. Worth doing, but big nonetheless. :-) | 23:48 | |
| nopaste | "coke" at 72.228.52.192 pasted "thought this was it." (16 lines) at nopaste.snit.ch/14557 | 23:49 | |
| Coke | but that also breaks foo.'foo'() | 23:50 | |
| chromatic | Coke, will do. | 23:51 | |
| Coke | it's gotta be in that section, damnit. | 23:52 | |
| ... hurm. | 23:53 | ||
| ooh, idea. | |||
| aha! | 23:54 | ||
| chromatic | I think there's a trick to it. | 23:55 | |
| Check to see if there's a symreg defined with that name (so you already have a PMC or a String register of that name). If not, check that it has quotes. | |||
| Coke | ah. | ||
| chromatic | If it doesn't, throw a parse exception. | 23:56 | |
| Coke | I was thinking just replacing STRINGC with STRINGCONSTANT might do it. | ||
| ok. I leave the tricky bits to you. I can do all the grunt work after. =-) | |||