Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-07-18

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:32 meppl good night
01:54 c1sung joined #perl6
02:13 kanru joined #perl6
02:16 s1n pugs: 1..^5
02:16 p6eval pugs: RESULT[(1, 2, 3, 4)]
02:26 s1n pugs: 5..1
02:26 p6eval pugs: RESULT[()]
02:26 s1n Auzon: what do i do with tests that should work but are currently failing?
02:27 s1n mark them as rakudo skip tests?
02:29 SamB s1n: why would you want to do that?
02:29 s1n SamB: do what, mark them rakudo skip? the test is currently in spectest_regression.dat, so i assumed we didn't want anything in those tests failing
02:34 SamB oh, sure, I guess it doesn't qualify as a regression if it never worked in rakudo...
02:34 s1n SamB: are you suggesting it should be skipped then?
02:36 * SamB dunno
02:44 s1n pugs: 'd'..'a'
02:44 p6eval pugs: RESULT[()]
02:44 s1n pugs 'a'..'d'
02:44 s1n pugs: 'a'..'d'
02:44 p6eval pugs: RESULT[("a", "b", "c", "d")]
02:46 s1n pugs: 1..1
02:46 p6eval pugs: RESULT[(1,)]
02:53 PZt joined #perl6
02:55 s1n if a spectest is failing but shouldn't be, and it's in the spectest_regression.dat, should it be marked as SKIP?
03:06 Schwern joined #perl6
03:09 virbyte joined #perl6
03:10 dduncan joined #perl6
03:13 dduncan_ joined #perl6
03:14 dduncan_ joined #perl6
03:14 pbuetow joined #perl6
03:17 bacek pugs: say 5..1;
03:17 p6eval pugs: OUTPUT[␤]
03:17 s1n see
03:17 s1n pugs: 'a'..'d'
03:17 p6eval pugs: RESULT[("a", "b", "c", "d")]
03:18 s1n pugs: 'd'..'a'
03:18 p6eval pugs: RESULT[()]
03:18 s1n it's a fail, but probably shouldn't be
03:18 bacek rakudo: 'a'..'d'
03:18 p6eval rakudo 29575: RESULT["a".."d"]
03:18 bacek rakudo: 'd'..'a'
03:18 p6eval rakudo 29575: RESULT["d".."a"]
03:18 bacek rakudo: ('a'..'d').WHAT
03:18 p6eval rakudo 29575: OUTPUT[Null PMC access in get_bool()␤current instr.: 'parrot;Range;true' pc 4722 (src/gen_builtins.pir:3203)␤]
03:18 s1n rakudo: 'd'^..'a'
03:19 p6eval rakudo 29575: RESULT["d"^.."a"]
03:19 bacek rakudo: say ('a'..'d').WHAT
03:19 p6eval rakudo 29575: OUTPUT[Range␤]
03:19 s1n hmm, lemme check my tests again
03:19 bacek s1n: rakudo's output looks sane for me
03:20 s1n rakudo: 1..1
03:20 TimToady pugs doesn't implement Range objects yet
03:20 p6eval rakudo 29575: RESULT[1..1]
03:20 s1n rakudo (1..1).WHAT
03:21 s1n TimToady: there's some partial work there, i went through the tests yesterday, i think there were 64 passing with a handful being fudged
03:21 s1n rakudo: (1..1).WHAT
03:21 p6eval rakudo 29575: OUTPUT[Null PMC access in get_bool()␤current instr.: 'parrot;Range;true' pc 4722 (src/gen_builtins.pir:3203)␤]
03:21 bacek rakudo: say (1..1).WHAT
03:21 p6eval rakudo 29575: OUTPUT[Range␤]
03:22 bacek rakudo: say ~('a'..'d')
03:22 p6eval rakudo 29575: OUTPUT[a b c d␤]
03:22 bacek rakudo: say ('a'..'d')
03:22 p6eval rakudo 29575: OUTPUT[abcd␤]
03:22 s1n rakudo: say ~('d'..'a')
03:22 p6eval rakudo 29575: OUTPUT[␤]
03:22 s1n hmmm
03:23 s1n rakudo say ~(5..1)
03:23 s1n damnit
03:23 bacek s1n: stringified empty list.
03:23 s1n rakudo: say ~(5..1)
03:23 p6eval rakudo 29575: OUTPUT[␤]
03:23 s1n bacek: wouldn't an empty list be wrong in this case?
03:24 bacek no. Why?
03:24 s1n so you can't create decreasing ranges?
03:24 bacek rakudo: say reverse(1..5)
03:24 p6eval rakudo 29575: OUTPUT[54321␤]
03:24 s1n yeah but if i can do increasing ranges, why can't i do increasing ranges without using reverse?
03:25 s1n err decreasing ranges w/o reverse
03:25 bacek s1n: just because you can't.
03:25 s1n heh
03:25 bacek Range is increasing only.
03:25 s1n monotonically increasing ranges only?
03:25 s1n is that in the spec?
03:27 s1n hmm, i never tried that in perl5 but it does that in perl5, if it's in the spec to keep it as-is, then that's fine
03:28 bacek s1n: perl5 doesn't have 'decresing ranges'...
03:30 bacek Probably S02 should be clarified about Ranges.
03:31 s1n yeah, i noticed
03:31 s1n how about i mark them as skip and unspecced
03:32 s1n i don't really see anything in the spec that clarifies this
03:33 bacek s1n: sounds good for me.
03:34 s1n bacek: okay
03:35 baest joined #perl6
03:41 pbuetow_ joined #perl6
03:44 s1n rakudo: say ~(1..1)
03:44 p6eval rakudo 29575: OUTPUT[1␤]
03:47 s1n moritz_: should unspecced tests be fudged? i talked it over with Auzon and he said go ahead and unfudge them
03:47 s1n moritz_: i'm adding a few more things that test .perl so if they should be fudged, let me know
03:48 s1n moritz_: they pass, but if they're supposed to be fudged, that's fine (i.e. (1..5).perl acually gives '1..5')
03:53 dduncan_ left #perl6
03:53 bacek rakudo: say (1..5).perl
03:53 p6eval rakudo 29575: OUTPUT[1..5␤]
03:54 bacek rakudo: say (1..'a').perl
03:54 p6eval rakudo 29575: OUTPUT[1.."a"␤]
03:54 bacek rakudo: say (1..'a')
03:54 p6eval rakudo 29575: OUTPUT[␤]
03:54 bacek pugs: say (1..'a')
03:54 p6eval pugs: OUTPUT[␤]
03:58 Auzon s1n: If it's a parsefail, mark it as skip. But if it parses and gives the wrong result, 'todo' is the proper one
03:59 Auzon Some parsefails might require some more creativity if fudge doesn't remove the correct line. This happens if the parsefail is on the line above the test and fudge doesn't get both lines.
04:00 Auzon The solution here is to skip the test and use something like #?rakudo emit #
04:12 TimToady sigh, it *is* specced...  see S03:2641
04:18 s1n joined #perl6
04:28 Jamtech joined #perl6
05:11 virbyte joined #perl6
05:11 hcchien joined #perl6
05:12 Jamtech joined #perl6
05:12 agentzh joined #perl6
05:12 Khisanth joined #perl6
05:12 kcwu joined #perl6
05:12 kcwu_ joined #perl6
05:13 Jamtech_ joined #perl6
05:18 ingy hola
05:20 * TimToady chirps like crickets
05:23 Khisanth joined #perl6
05:29 TimToady heh, STD found a bug in t/spec/S02-whitespace_and_comments/unspace.t
05:34 pugs_svn r21369 | lwall++ | [STD] now handles @foo non-interpolation
05:34 pugs_svn r21369 | lwall++ | [unspace.t] accidentally tried to use #() comments at beginning of line
05:48 Psyche^ joined #perl6
06:00 bacek pugs: say (1|2|3) < 2;
06:00 p6eval pugs: OUTPUT[any(VBool False,VBool True)␤]
06:00 bacek pugs: say (1&2&3) < 2;
06:00 p6eval pugs: OUTPUT[all(VBool False,VBool True)␤]
06:00 bacek hmm..
06:06 bacek pugs: say (1&2&3) < 5;
06:06 p6eval pugs: OUTPUT[all(VBool True)␤]
06:07 tuxdna joined #perl6
06:09 alanhaggai joined #perl6
06:13 ashizawa joined #perl6
06:38 Psyche^ joined #perl6
06:41 pmurias joined #perl6
06:42 pmurias wouldn't it be possible to just have the parser skip things it doesn't understand rather than fudging parsefail?
06:44 moritz_ pmurias: bad idea, I think
06:45 moritz_ I can't see how it could reliably resume after an unknown construct
06:45 moritz_ plus, sometimes the test files are wrong - it's nice to get a syntax error then
06:47 iblechbot joined #perl6
06:47 pmurias if you add todo markers, adding parse failure markers is similiar i guess
06:48 moritz_ I can't really imagine how that could work
06:50 pmurias skip a line and try again
06:50 pmurias and the statement level
06:52 moritz_ so you basically want to merge fudge and the grammar
06:54 pmurias moritz_: i would to it for STD.pm, but it tends to parse things
06:56 pmurias s/to/do
06:56 moritz_ well, for the tests you'd have to do a bit more, for example note the number of skipped tests
06:56 moritz_ so you have to put it into the AST somehow as well
06:56 moritz_ I don't think it's worth the trouble
06:57 barney joined #perl6
06:59 pmurias moritz_: they would be failed tests really
07:00 moritz_ and how could you skip/todo them?
07:00 pmurias with fudge ;)
07:00 moritz_ ;-)
07:05 pmurias moritz_: do you know what the general test numbering policy is?
07:06 moritz_ what do you mean?
07:07 pmurias should the test numbers in a test suit reflect the order of test creation, the order how they depend on each other or something else?
07:09 moritz_ I generally don't number my tests, except the very basic ones to run first
07:09 moritz_ smop seems to number in order of creation
07:10 pugs_svn r21370 | lwall++ | [STD] handle \@foo and other fiddly issues
07:11 pmurias and how should i do test removal?, leave gaps
07:11 moritz_ I'd leave the gaps, but I wouldn't have numbered them in the first place ;-)
07:31 pugs_svn r21371 | lwall++ | [STD] handle Q forms
07:31 pugs_svn r21371 | lwall++ | [quoting.t] change q:q and q:qq to Q:q and Q:qq
07:32 meppl joined #perl6
07:37 jan___ joined #perl6
07:41 pmurias @tell where should i put the root namespace creation ruoso and destruction, as SMOP_DISPATCH and SMOP_RELEASE take an interpreter as a parameter
07:41 lambdabot Consider it noted.
07:43 moritz_ pmurias: wrong target person ;-)
07:54 rakudo_svn r29576 | moritz++ | [rakudo] added S04-statements/do.t to spectest_regression, Auzon++
07:54 rakudo_svn r29576 | moritz++ |  +14 pass, +9 todo/skip tests
07:58 masak joined #perl6
08:01 pmurias @tell ruoso where should i put the root namespace creation ruoso and destruction, as SMOP_DISPATCH and SMOP_RELEASE take an interpreter as a parameter
08:01 lambdabot Consider it noted.
08:05 masak speaking of cascaded subscripts, will we be seeing any compile-time checks for array index that are out of bounds in Perl 6?
08:06 moritz_ I don't think it'll be specced to happen at compile time
08:06 masak but theoretically it could, right?
08:06 masak I mean, some of the checks, constants and stuff
08:06 moritz_ partially, yes
08:06 masak my @a[10]; say @a[15] # BAM
08:07 moritz_ there are so many checks that could actually made at compile time... I think we won't see very much of this in an initial release, but the compiler will improve for quite some time after the release
08:07 masak that's fine by me.
08:07 moritz_ like compile-time checking for read-only variables
08:08 masak just wondering if it was on the table at all
08:08 masak by me, if it can be done at compile time, it should
08:08 masak but I realize it might not be prio before christmas
08:08 moritz_ I agree, "fail early" is important
08:09 moritz_ just like "use strict;"
08:10 moritz_ perl5 doesn't do some checks at compile time because the code might not be reachable
08:11 masak ACK
08:12 moritz_ perl5.8.8 -ce ' if (0) { 1/ 0}'
08:12 moritz_ Illegal division by zero at -e line 1.
08:12 moritz_ perl5.10.0 -ce ' if (0) { 1/ 0}'
08:12 moritz_ -e syntax OK
08:13 rindolf joined #perl6
08:13 moritz_ I haven't made up my mind yet if that's a good thing or not
08:13 moritz_ I mean in the case of literal constants it's not a good thing
08:14 moritz_ but it allows you to write stuff like 'our $debug = 0; ... if ($debug) { my $ratio = 1 / $debug; ... }
08:15 pmurias masak: the problem with such checks is that there would be false positives
08:16 pmurias with things like eval which can changed everything
08:21 isop joined #perl6
08:21 pmurias Perl 6 offers much more dynamism by default than healthy/nessesary but a pragma could be used to force it to compile time
08:23 isop joined #perl6
08:24 isop joined #perl6
08:35 elmex joined #perl6
09:09 Nebster joined #perl6
09:15 jfredett_ joined #perl6
09:22 jfredett1 joined #perl6
10:02 tuxdna joined #perl6
10:11 araujo joined #perl6
10:16 hcchien_ joined #perl6
10:28 fullermd joined #perl6
10:37 kanru2 joined #perl6
10:49 ashizawa joined #perl6
10:51 ruoso joined #perl6
10:56 wknight8111 joined #perl6
11:17 chris2 joined #perl6
12:06 iblechbot joined #perl6
12:07 pmurias joined #perl6
12:07 pmurias ruoso: hi
12:10 pmurias ruoso: where should namespace creation/destruction live?
12:11 pmurias i can't put it in the init/destroy sequence as it needs a interpreter
12:21 pugs_svn r21372 | jnthn++ | [spectest] Tests for anonymous classes.
12:22 rakudo_svn r29580 | jonathan++ | [rakudo] Implement anonymous classes.
12:33 masak TimToady: can there be anon grammars?
12:36 pmurias masak: why not?
12:36 masak pmurias: I also don't see why not, but the spec is silent on that point
12:37 masak same with modules, but in that case my intuition says there shouldn't be anon modules
12:37 masak also, this is not a case where spec-doesn't-say-so-same-as-p5 applies
12:37 pmichaud why shouldn't we have anonymous modules?
12:38 masak I don't know... because modules are containers, and if you can't refer to the container by name, it's pretty useless?
12:38 masak I might be wildly wrong, though
12:39 pmurias masak: they would parse at least if it weren't for a bug in STD/gimme5
12:40 masak pmurias: could one imagine a use case for them?
12:40 pmurias masak: for anon grammars?
12:40 masak modules
12:40 pmurias mixing them in
12:42 masak hm
12:42 pmurias mixing them in refered to grammars
12:42 pmurias masak: you can use anon modules the same as normal ones
12:42 pmurias i guess
12:42 masak but you cannot refer to them
12:43 masak or can you?
12:43 pmurias if you have them in a scalar, why not?
12:43 masak ah
12:43 masak right.
12:44 masak so anon grammars/modules are ok, then
12:56 pmurias ruoso: should the root namespace be global or per interpreter?
13:01 cmarcelo joined #perl6
13:08 Arathorn joined #perl6
13:09 Arathorn hi all - don't suppose anyone knows if anyone's already expressed the RFC822 address syntax as perl6 rules?
13:13 pmurias Arathorn: hi, want to try?
13:15 Arathorn hehe
13:15 Arathorn guess I could - was more wondering whether there was prior art
13:16 ruoso pmurias, we could start a prelude interpreter
13:16 lambdabot ruoso: You have 2 new messages. '/msg lambdabot @messages' to read them.
13:18 ruoso pmurias, the global namespace needs to be present as C symbol... for boostrap reasons
13:20 pmurias prelude interpreter - explain please
13:20 pmurias ruoso: i can create the global namespace withough a interpreter, but i need one to destroy it
13:21 pmurias * withought
13:22 ruoso the point is that at some point, we are going to need a interpreter available to continue the boostrap
13:22 ruoso and even to start another intepreter, eventually
13:22 ruoso so starting a interpreter would be part of the prelude, the same way the global namespace would
13:23 pmurias so there will be a global interpreter
13:23 pmurias ?
13:23 pmurias s/global/main
13:23 ruoso not really main in the sense that everything would depend on it...
13:24 ruoso but that it would be avialable for everyone to use it
13:24 ruoso I mena...
13:24 ruoso mean
13:24 ruoso native types doesn't need an interpreter...
13:24 ruoso but initializing Object will require
13:25 ruoso that's where the "prelude intepreter" comes in... it can be used by anyone that needs some interpreter
13:25 ruoso but it doesn't mean that it will be the interpreter used for everything....
13:26 ruoso one could switch interpreters and probably no one would notice
13:26 ruoso but we're probably going to stick with it for now,
13:26 ruoso at least untill the bootstrap is finished...
13:27 [particle] joined #perl6
13:27 ruoso pmurias, does it make sense now?
13:30 pmurias yes
13:31 ruoso the point is... after loading the prelude, the "prelude interpreter" could be used, or some other interpreter could be used instead...
13:33 pmurias wouldn't the "bootstrap interpreter" be a better name?
13:33 ruoso yeah... probably... ;)
13:33 * ruoso not really good at naming things...
13:36 pmurias in what variable should the stored, and where should it be created?
13:45 ruoso SMOP__GlobalNamespace?
13:45 ruoso smop_s1p.h?
13:45 ruoso and then it would be created during smop_init()
13:45 ruoso and destroyed during smop_destr()
13:46 isop left #perl6
13:48 rakudo_svn r29582 | jonathan++ | [rakudo] role_name goes away, since we want to parse a signature in a role definition, and an expression when it's used with does. This should somewhat simplify things when we implement parametric roles. Note role_name is also gone in STD.pm (though getting to what it has now
13:48 rakudo_svn ..would take a larger refactor).
13:52 pmurias ruoso: i'll implement it
13:52 ruoso pmurias++ cool
13:54 * ruoso from one workplace to another &
13:57 rindolf joined #perl6
13:57 nothingmuch joined #perl6
14:00 pjcj joined #perl6
14:04 kane_ joined #perl6
14:15 alester joined #perl6
14:21 cmarcelo joined #perl6
14:27 rakudo_svn r29585 | jonathan++ | [rakudo] Implement .^ (call on metaclass) syntax, with passing the invocant in as a first argument to the metaclass method, as specified in S12.
14:51 virbyte left #perl6
14:54 Jamtech joined #perl6
15:01 ruoso joined #perl6
15:09 meppl joined #perl6
15:18 hercynium joined #perl6
15:26 hcchien joined #perl6
15:32 masak perl6: my $var = 0; nothing while $var++ < 3; say "et voilà!"
15:32 p6eval elf 21372: OUTPUT[Undefined subroutine &GLOBAL::nothing called at (eval 119) line 5.␤ at ./elf_f line 3861␤]
15:32 p6eval ..pugs: OUTPUT[et voilà!␤]
15:32 p6eval ..rakudo 29585: OUTPUT[Could not find non-existent sub while␤current instr.: '_block11' pc 71 (EVAL_13:26)␤]
15:34 ludan joined #perl6
15:34 TimToady kinda sad that rakudo doesn't tell you the name of the missing sub...
15:35 TimToady also kinda sad that pugs doesn't fail  :)
15:35 masak TimToady: rakudo does tell me the name: 'while'
15:36 masak only it's not supposed to be a missing sub
15:36 Exodist joined #perl6
15:36 rakudo_svn r29586 | jonathan++ | [rakudo] Move WHENCE related things that were in P6Object.pir into the Rakudo source tree (Object.pir).
15:37 masak and I don't think it's sad that Pugs doesn't fail :)
15:39 TimToady er, you want non-existent subs to silently just do nothing?
15:41 pmichaud rakudo is thinking that 'while' is an undeclared sub
15:42 pmichaud and it's trying to evaluate 'while' so that it can pass the result to 'nothing'
15:42 pmichaud (which is also an undeclared sub, but rakudo hasn't figured that out yet.)
15:43 TimToady nothing should be taken as a listop, but "while" should terminate its list
15:44 masak pmichaud: but 'nothing' is declared, I found it in the rakudo source
15:44 masak TimToady: I just assumed that Pugs eval-ed it correctly
15:45 pmichaud TimToady: I agree that rakudo probably isn't parsing 'while' correctly.
15:45 pmichaud masak: nothing is declared in the rakudo source? where?
15:45 pmichaud (I don't disagree -- I'm just unaware of it)
15:46 masak pmichaud: src/builtins/control.pir
15:46 TimToady there's nothing in the spec, and who's on first
15:46 masak line 91
15:46 masak TimToady: :)
15:46 masak use/mention
15:46 pmichaud ah, nothing is in S29.  It probably needs to be defined as a named 0-ary, perhaps?
15:47 TimToady interesting--thanks for nothing...
15:47 masak pmichaud: if you point me to something else that is defined as a named 0-ary, I can try to fix it
15:47 TimToady I wonder who put it there
15:47 masak ...and send a patch
15:47 pmichaud masak:  rand
15:47 masak TimToady: probably nobody :)
15:47 masak pmichaud: oki, thanks
15:48 pmichaud masak:  it's in grammar.pg, under  "named_0ary"
15:48 masak goodie
15:48 pmichaud we probably need to revise S29 to use the correct syntax for the named 0-aries
15:49 TimToady and I'm not entirely sure I believe in "nothing" yet
15:49 [particle] consult satre
15:50 TimToady he doesn't exist
15:50 [particle] perhaps godot will drop by
15:51 TimToady I think it has something to do with free will...
15:51 [particle] will is free to leave anytime. heck, sanity has already left.
15:52 pmichaud TimToady: in     "listop while 1;"    --- what in STD.pm causes 'while' to not be treated as a post-declared listop
15:52 pmichaud ?
15:55 TimToady well, if correctly coded, the fact that we have terminator:sym<while> defined
15:56 TimToady but it's possible the listop parser isn't checking correctly since we took the terminator check out of expect_term
15:56 pmichaud right
15:56 pmichaud that's what I was just following
15:57 pmichaud I get listop -> arglist -> EXPR -> expect_term -> noun -> term:name    (or something like that)
15:57 pmichaud I could be missing a step that takes care of it, though.
15:57 TimToady it needs a <!stdstopper> before parsing arglist I think
15:58 pmichaud ah, that would work nicely.
15:58 peeps[work] joined #perl6
15:58 TimToady well, probably needs to go into arglist
15:58 pmichaud even better.
15:58 TimToady after .ws
15:59 pugs_svn r21373 | lwall++ | [STD] parse nothing while correctly
16:00 TimToady now to test it  :)
16:00 rakudo_svn r29588 | jonathan++ | [rakudo] Make multi-methods vaguely work (in as far as subs work, anyway).
16:02 TimToady well, STD still parses itself
16:08 rakudo_svn r29589 | jonathan++ | [rakudo] Fix nothing. Patch courtesy of Carl Masak <cmasak@gmail.com>. masak++
16:11 justatheory joined #perl6
16:14 armagad joined #perl6
16:38 kanru joined #perl6
16:40 GarulfoUnix joined #perl6
16:46 rakudo_svn r29590 | jonathan++ | [rakudo] [p6object] Make isa and can in the metaclass take the object to test as a first parameter, as specified in recent-ish S12 updates.
16:47 rindolf joined #perl6
16:48 pugs_svn r21374 | lwall++ | [STD] restore missing precedence limiter in arglist
16:50 pmurias joined #perl6
16:51 pmurias doesn't do {} fill the role of &nothing?
16:51 TimToady sure, so does ()
16:51 TimToady so does 0, unless you get a "useless use" warning...
16:51 [particle] what about *;
16:52 TimToady that would work, but kinda implies "do whatever", which is more like anything than nothing
16:52 pmurias so why do we need nothing?
16:53 TimToady we don't
16:53 pmurias should i remove it then? ;)
16:53 TimToady it's good for making much ado about :)
16:53 TimToady who put it there in the first place?
16:53 [particle] nobody
16:53 [particle] or was it not me?
16:54 TimToady mugwump, it would appear
16:55 silug joined #perl6
16:56 [particle] the villain from down under
16:56 pmurias TimToady: based on svn blame?
16:56 pmurias svn log -r 3270 Functions.pod
16:56 TimToady pmurias: *nod*
16:57 pmurias Hand-over version from Rod Adams
16:57 TimToady well, I think we probably have lots of ways to indicate a noop without it
16:58 TimToady and likely * will turn out to be the canonical way, though maybe not
16:58 TimToady * still counts as something outside of a void context
16:58 TimToady so maybe () is better
16:59 TimToady particularly in a list context that thinks it's collecting all the iteration results
16:59 pmurias 1 while something(); is the perl5 idiom isn't it?
16:59 TimToady which I always though should be 0 while something() instead...
16:59 [particle] i really want to see foo while 1 replaced by foo while true in perl 6 code
17:00 TimToady but 0 is also something in list context, and () isn't
17:00 [particle] (magic numbers)--
17:00 [particle] is false something in list context?
17:01 TimToady yes, any scalar value will be something in list context
17:01 cmarcelo joined #perl6
17:03 TimToady "while true" isn't going to fly
17:03 TimToady true is a unary
17:04 rhr is 'foo loop' allowed?
17:05 TimToady no
17:05 Exodist I am about to write some tests for subroutines, I want to verify the following syntax:
17:05 TimToady rhr: logically it would make sense, but the use cases are rare enough that it would leave lots of people scratching their heads
17:06 Exodist sub hi { say "hi" }
17:06 rhr nod
17:06 Exodist &hi.wrap({ callsame; say "there" })
17:06 rakudo_svn r29591 | jonathan++ | [rakudo] Implement .WHERE.
17:06 TimToady perl6: say *.true
17:06 p6eval elf 21374: OUTPUT[Undefined subroutine &GLOBAL::whatever called at (eval 119) line 3.␤ at ./elf_f line 3861␤]
17:06 p6eval ..pugs: OUTPUT[1␤]
17:06 p6eval ..rakudo 29590: OUTPUT[Statement not terminated properly at line 1, near ".true"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤]
17:07 TimToady pugs has it right there, I think
17:07 TimToady so "while *" works
17:08 TimToady and indicates similar semantics to 'xx *'
17:08 [particle] while * and while () instead of 1 and 0, then
17:08 eternaleye joined #perl6
17:08 [particle] it's not any prettier
17:09 TimToady while 0 isn't terribly useful anyway
17:09 [particle] it's used in debugging
17:09 TimToady how is it different from if 0
17:10 [particle] it's not, but if you want to remove a while statement instead of an if statement...
17:10 TimToady and why not use for ()
17:10 [particle] while (0) { #foo < bar) {
17:11 TimToady s/#/#(
17:11 [particle] /
17:11 TimToady :P
17:14 Exodist perl6: sub hi { say "hi" }; &hi.wrap({ callsame; say "there" }); hi
17:14 p6eval elf 21374: OUTPUT[/home/evalenv/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤     from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
17:14 p6eval ../home/evalenv/pugs/mi...
17:14 p6eval ..pugs: OUTPUT[*** No such method in class Sub: "&wrap"␤    at /tmp/VM8YvJ7Dbq line 1, column 22-57␤]
17:14 p6eval ..rakudo 29591: OUTPUT[Method 'wrap' not found for invocant of class 'Closure'␤current instr.: '_block11' pc 27 (EVAL_13:16)␤]
17:14 Exodist now, my question is did I do it wrong, or is it not yet implimented?
17:16 TimToady looks okay to me
17:16 Exodist ty.
17:16 TimToady but what do I know...
17:19 dylanc joined #perl6
17:19 dylanc joined #perl6
17:25 pugs_svn r21375 | lwall++ | [Functions.pod] nothing isn't sacred, just use () which is less than nothing
17:28 jhorwitz joined #perl6
17:31 pugs_svn r21376 | lwall++ | [nothing.t] nothing here, move along
17:49 REPLeffect joined #perl6
17:53 Exodist perl6: sub hi { "Hi" }; ok try { &hi.wrap({ callsame _ " there" }) }; is( hi, "Hi there" )
17:53 p6eval elf 21376: OUTPUT[/home/evalenv/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤     from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
17:53 p6eval ../home/evalenv/pugs/mi...
17:53 p6eval ..pugs: OUTPUT[*** No such subroutine: "&ok"␤    at /tmp/eWgbvaRMXS line 1, column 18-62␤]
17:53 p6eval ..rakudo 29591: OUTPUT[Could not find non-existent sub ok␤current instr.: '_block11' pc 40 (EVAL_13:21)␤]
17:53 alanhaggai_ joined #perl6
17:54 Exodist perl6: sub hi { "Hi" }; try { &hi.wrap({ callsame _ " there" }) }; say $@; hi;
17:54 p6eval elf 21376: OUTPUT[Parse error in: /tmp/jRDtK8SSv8␤panic at line 1 column 60 (pos 60): Can't understand next input--giving up␤WHERE: p({ callsame _ " there" }) }; say $@; hi;␤WHERE:                              /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in
17:54 p6eval ..`scan_unitstopper'␤...
17:54 p6eval ..pugs: OUTPUT[*** ␤    Unexpected "@;"␤    expecting "::"␤    at /tmp/GbeCDqe8Lf line 1, column 66␤]
17:54 p6eval ..rakudo 29591: OUTPUT[Statement not terminated properly at line 1, near "$@; hi;"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤]
17:54 Exodist perl6: sub hi { "Hi" }; try { &hi.wrap({ callsame _ " there" }) }; hi;
17:54 p6eval elf 21376: OUTPUT[/home/evalenv/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤     from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
17:54 p6eval ../home/evalenv/pugs/mi...
17:54 p6eval ..pugs: RESULT["Hi"]
17:54 p6eval ..rakudo 29591: RESULT["Hi"]
17:59 Exodist perl6: say "hi" ~ " there";
17:59 p6eval elf 21376: OUTPUT[hi there␤]
17:59 p6eval ..pugs: OUTPUT[hi there␤]
17:59 p6eval ..rakudo 29591: OUTPUT[hi there␤]
17:59 Exodist perl6: say "hi" _ " there";
17:59 p6eval elf 21376: OUTPUT[Parse error in: /tmp/mn9q5hjWhA␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say "hi" _ " there";␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤
17:59 p6eval ..STD_red/std.rb:...
17:59 p6eval ..pugs: OUTPUT[*** ␤    Unexpected "_"␤    expecting operator, ":" or ","␤    at /tmp/DrqHZnUtPX line 1, column 10␤]
17:59 p6eval ..rakudo 29591: OUTPUT[Statement not terminated properly at line 1, near "_ \" there\""␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤]
17:59 kanru joined #perl6
17:59 TimToady wow, ancient history...
17:59 Exodist is there a way to use the eval there w/o flooding the channel?
18:00 TimToady maybe with /mst
18:00 TimToady er, /msg
18:00 Exodist TimToady: Yeah, I am just starting on perl 6, today is my first time tryint o write any.
18:00 TimToady cool.  do you have a pugs commit bit yet?
18:00 Exodist yes, I got it last week.
18:00 Exodist My company is giving me 4 hours a week to work on perl6.
18:01 TimToady sugoi
18:01 Exodist I plan to write tests since my C is probably not up to working on rakudo.
18:01 Exodist perl is my lang of choice for a few years now.
18:01 TimToady how's your Haskell ;)
18:02 Exodist nonexistant.
18:02 Exodist :-/
18:02 TimToady Haskell is easy to learn--I've done it several times now
18:02 TimToady I just have a personality conflict with its compiler...
18:03 alanhaggai_ joined #perl6
18:03 Exodist I had a hard time getting the compiler installed, on gentoo (my distro of choice) or ubuntu (work distro)
18:03 TimToady anyway, we certainly need more tests
18:03 TimToady I got the cabal version installed on ubuntu this week
18:04 Exodist I spent 2 weeks trying to get pugs going before giving up and making rakudo work in an hour.
18:04 Exodist *2 weeks off and on.
18:05 TimToady I had to make one tweak to get zlib to use the provided version rather than the system version, and then cabal works okay
18:05 Exodist hmm, I may give it another try at some point here. but for now I am trying to figure out how these spec tests work... all my attempts at any kind of eval or try are giving me errors about unterminated lines.
18:06 Exodist but others I did not write are giving me the same... is this a rakudo thing?
18:06 TimToady that tends to be the default error message
18:06 Exodist it seems that it does not finish parsing the line before bailing.
18:06 Exodist t/spec/S06-advanced_subroutine_features/wrapping.t....Statement not terminated properly at line 9, near "try({ &hi."
18:06 TimToady the way the parser works, if something fails but doesn't give an immediate error, it backs off and then stalls out in the middle of the statement, yielding that error
18:06 Exodist 9 try({ &hi.wrap({ callsame ~ " there" }) });
18:06 TimToady STD has the same difficulty
18:06 Exodist hmm.
18:07 TimToady with STD I look at the log to see what the high-water mark was, but we'll have to get better control of reporting what was expected and not found
18:08 Exodist 'the log'?
18:08 TimToady when you parse with STD.pm you can get it to spit out a debugging log, but it's about 10 times slower that way
18:09 Exodist hmm, is this documented somewhere? I could use a good doc on test procedures and such.
18:09 * Exodist feels like a newb.
18:09 TimToady STD.pm is independent of rakudo
18:09 cjfields joined #perl6
18:09 TimToady (so far)
18:10 TimToady except that rakudo's grammar is converging on STD, more or less
18:10 TimToady so don't worry about that part, if you're concentrating on parrot
18:10 Exodist ok.
18:11 TimToady I'll need to think about how to get better errors in STD, and then that will probably get into rakudo at some point
18:13 Exodist perl6: sub hi { "Hi" }; try{ &hi.wrap({ callsame ~ " there" }) };
18:13 p6eval elf 21376: OUTPUT[/home/evalenv/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤     from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
18:13 p6eval ../home/evalenv/pugs/mi...
18:13 p6eval ..pugs: RESULT[undef]
18:13 p6eval ..rakudo 29591: RESULT[Null PMC access in find_method()␤current instr.: '_block11' pc 25 (EVAL_13:12)␤]
18:13 Exodist perl6: sub hi { "Hi" }; try{ &hi.wrap({ callsame ~ " there" }) }; hi;
18:14 p6eval elf 21376: OUTPUT[/home/evalenv/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤     from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
18:14 p6eval ../home/evalenv/pugs/mi...
18:14 p6eval ..pugs: RESULT["Hi"]
18:14 p6eval ..rakudo 29591: RESULT["Hi"]
18:14 zostay joined #perl6
18:16 * Exodist hits himself hard... he forgot a semiclon on the previous line... been a long time since I had this much trouble from something that simple.
18:16 Exodist it also explains why it worked in here...
18:25 pmurias Exodist: re rakudo, C-fu is not really a topmost priority when working on rakudo
18:25 Exodist pmurias: I am listening.
18:26 pmurias a high-pir tolerance and an ability to read the synopsis should be enough
18:26 Exodist high-pir?
18:26 pmurias a high pir tolerance, sorry ;)
18:27 Exodist pir?
18:27 pmurias pir is parrot assembler
18:27 * Exodist pulls up google+wikipedia
18:27 Exodist ah, ok.
18:29 Exodist hmm, I will read this tutorial and see if I can get into Rakudo coding.
18:29 Exodist oh, this tutorial: http://www.perlfoundation.org/parrot/index.cgi?pir_tutorial_and_faq
18:29 lambdabot Title: PIR Tutorial and FAQ / Parrot, http://tinyurl.com/5mhdqv
18:29 Exodist unless you have a better reference.
18:29 pmurias i'm not a parrot guy
18:31 pmurias i hate pir ;)
18:31 Exodist so what do you normally work on?
18:31 pmurias smop now
18:33 pmurias it's a sort of parrot alternative
18:33 Exodist reading this: http://www.perlfoundation.org/perl6/index.cgi?smop
18:33 lambdabot Title: SMOP / Perl 6
18:34 pmurias and did some work on elf previously which is a partialy bootstraped perl6 implementation
18:35 Exodist hmm, maybe I should ask this: "I am a perl guy, my other languages have been neglected greatly, and my skillsets in them were probably not all that high to begin with. I want to work on and contribute to perl 6, what is the best place for me?"
18:36 pmurias either rakudo or elf
18:37 Exodist have a link for 'elf'?
18:37 pmurias misc/elf in the pugs repo
18:40 pmurias you could hack on elf only coding in perl5 and perl6, but rakudo has more monumentum
18:41 * Exodist is reading the elf README... scary.
18:42 pmurias a bit skimpy
18:43 pmurias Exodist: re scary, an questions?
18:44 Exodist no, I just had a hard tiem reading it for some reason, probably long week + no sleep + info overload + full moon.
18:46 Tene Exodist: probably rakudo.
18:47 Exodist yeah, I am reading the PIR tutorial again, I am probably gonna stick to tests for a bit, but I took an assembly class forever ago, I might be able to dive in again.
18:48 pmurias pir isn't really a traditional assembler, it dosn't have all the memory manipulation
18:50 Exodist thats ok, I never got into assembly enough to have anything in memory to get int he way.
18:52 Tene Exodist: you should be able to pick it up pretty quick by looking at a few examples.  It's a pretty simple language.
18:52 pmurias s/simple/silly/ ;)
18:52 [particle] it's a low-class language, for sure
18:52 [particle] look in examples/tutorial/
18:53 pmurias i prefer it to sm0p however
18:53 alanhaggai_ joined #perl6
18:58 pmurias but sm0p is a DSL only
19:02 Exodist thanks for all the suggestions guys.
19:07 wknight8111 joined #perl6
19:09 pugs_svn r21377 | pmurias++ | [smop]
19:09 pugs_svn r21377 | pmurias++ | root namespace
19:09 pugs_svn r21377 | pmurias++ | global interpreter (causes horrible leakage, when i try to destroy it spits out segfaults)
19:09 pugs_svn r21377 | pmurias++ | some work on p6opauque
19:10 pmurias ruoso: i get a segfault when it RELEASE the global interpreter
19:16 ruoso pmurias, /me checking
19:16 pmurias thanks
19:18 armagad left #perl6
19:21 ruoso pmurias, test/12 is still valid?
19:22 ruoso pmurias, the same for test/14
19:22 ruoso it seems you removed the .sm0p, but kept the test...
19:23 pmurias i move tests 12 and 14 to misc
19:23 ruoso alright...
19:23 ruoso I removed the compiled tests 12 and 14 and have no more segfaults
19:23 ruoso they were using the old version of p6opaque
19:24 ruoso (but that was there only by a missing make clean on my part)
19:24 pmurias ruoso: i commented the segfault causing part
19:24 pmurias in smop.c
19:24 pmurias sorry
19:26 ruoso oh... ok
19:27 pmurias as i considered memory leaks less serious
19:34 destiney joined #perl6
19:36 Exodist using Rakudo perl6, hwo would one run the tests verbosely? liek the -v flag for prove?
19:38 Tene easiest is just parrot perl6.pbc t/the/test.pl
19:41 ruoso pmurias, the main issue is that the global interpreter still holds a reference to the last frame at that time
19:42 pmurias looking
19:42 Exodist Tene: thank you.
19:44 pmurias ruoso: how can we fix it?
19:44 ruoso pmurias, I'm experimenting one thing
19:45 ruoso there's a shutdown sequence issue
19:47 ruoso there's something that depends on hash that is being held until after the hash RI is destroyed.
19:49 ruoso I think we need to make an extra boot phase
19:50 pmurias loads RIs and then setup objects
19:51 * ruoso have an almost working version
19:53 pugs_svn r21378 | ruoso++ | [smop] define yet another boot phase in smop, one that can count on a interpreter...
19:54 ruoso pmurias, take a look now...
19:54 ruoso now there's a single s1p hash leaking
19:56 pmurias ruoso: looking/fixing
19:56 ruoso pmurias, I've just changed a bit the indentation in root_namespace.c
19:57 pugs_svn r21379 | ruoso++ | [smop] a little more indentation in root_namespace.c
19:57 ruoso pmurias, you should only RELEASE the object *after* using it...
19:58 ruoso you might get your object destroyed before you want to...
19:58 pmurias i can't RELEASE a brand new object?
19:58 r0bby joined #perl6
20:00 pmurias (if i don't use it)
20:00 ruoso if you don't... yes...
20:00 * ruoso referring to the RELEASE call on the top of the hash message
20:01 ruoso pmurias, btw... you're not using locks
20:01 pmurias oops
20:02 ruoso pmurias, is there anyone using the global namespace already?
20:03 pmurias a test
20:03 ruoso hmm
20:03 pmurias * a lame test
20:03 ruoso then it doesn't make sense for it to be leaking in every test
20:03 ruoso weid
20:03 ruoso wird
20:03 ruoso weird
20:03 pmurias ruoso: RELEASE's have to be before the loop?
20:03 ruoso gah
20:03 araujo joined #perl6
20:03 ruoso yes
20:04 pmurias it's released after
20:04 ruoso cool
20:04 ruoso that's it
20:05 pmurias how should the new destruction pass be names
20:05 pmurias * named
20:05 pmurias ?
20:05 pugs_svn r21380 | ruoso++ | [smop] the interpreter loops through the rest of the continuations before finishing the GlobalInterpreter
20:05 ruoso I called it  SMOP_BOOTSTRAP_INIT_SEQUENCE
20:06 ruoso they're defined in smop.c and smop_internal.
20:06 ruoso h
20:06 ruoso YAY! no more leaks
20:06 * ruoso turning into a good plumber
20:09 pmurias ruoso++
20:10 pmurias do you too see [bool] "has_next" is not implemented in bool.?
20:12 ruoso pmurias, yes...
20:12 ruoso there are some places setting a bool as the continuation...
20:12 ruoso we need a "empty continuation"
20:12 ruoso that simply returns false to "has_next"
20:13 ruoso it can be constant...
20:17 pmurias a continuation isa a Frame currently?
20:18 ruoso continuation isa anything... ;)
20:18 ruoso "Polymorphic Eval"
20:18 * ruoso adding a trick to make goto false as goto nowhere...
20:19 pugs_svn r21381 | ruoso++ | [smop] goto(bool) means release the current continuation
20:19 pmurias ruoso: assuming we use our only runloop slime
20:20 ruoso pmurias, what do you mean?
20:20 ruoso wow... all tests passing, no warnings...
20:21 ruoso I haven't seen this outcome in "make test" for a long time ;) ;)
20:21 alanhaggai_ joined #perl6
20:23 ruoso pmurias, how hard you think it would be to bring .^!how back to p6opaque?
20:23 pmurias ruoso: i meant what does SLIME use as it's continuations, Frames
20:23 ruoso yes... SLIME uses Frames
20:24 pmurias $obj.^!how = $foo;
20:24 ruoso but it should not assume the continuations to be frames...
20:24 ruoso pmurias, yes...
20:25 pmurias the assignment itself would be trivial
20:25 ruoso pmurias, so we can take back the metaclass delegation for method dispatch
20:25 ruoso see misc/p6opaque.sm0p:176
20:28 pugs_svn r21382 | pmurias++ | [smop] p6opaque.how
20:31 pugs_svn r21383 | ruoso++ | [smop] SMOP_REFERENCE how before returning
20:31 ruoso pmurias, have you seen how to use the locking?
20:31 ruoso it's simple as three functions in the API
20:31 pmurias reading...
20:32 ruoso smop_lowlevel_rdlock(value), smop_lowlevel_wrlock(value) and smop_lowlevel_unlock(value)
20:32 alanhaggai_ joined #perl6
20:32 ruoso it's a simple interface to the pthread rwlock
20:33 pugs_svn r21384 | fglock++ | moved local tests to t/v6-pm/; added t/spec/, etc  # 408 tests pass
20:33 * ruoso knows STM is cooler, but is not that smart...
20:34 pmurias STM is more complicated for sure
20:35 Alias_ joined #perl6
20:35 pmurias fglock has revived v6.pm?
20:37 ruoso pmurias, you're creating both the metadata and instance for every p6opaque
20:37 ruoso you don't need to
20:37 ruoso you just need to create it as it is needed...
20:38 ruoso because instance values are not going to have metadata (usually)
20:38 ruoso as well as protoobjects are not going to have instance data...
20:39 ruoso pmurias, I've added a few items that were missing in p6opaque structure
20:39 pugs_svn r21385 | ruoso++ | [smop] completing p6opaque structure definition...
20:41 pmurias ruoso: wouldn't just sharing the metadata pointer be better for class based objects?
20:41 ruoso pmurias, maybe, but that's not what Perl 6 spec says...
20:42 pmurias got the precise quote?
20:43 ruoso all the HOW and WHAT thing...
20:43 ruoso if we make the metadata as HOW, we make prototype-based OO impossible with p6opaque
20:44 ruoso HOW is just one of the metadata items p6opaque hs
20:44 pmurias p6opaque is for class oo only
20:45 ruoso not really...
20:45 ruoso that's not up to p6opaque to define
20:45 ruoso p6opaque should support both
20:45 ruoso (and in fact, the current design in smop does)
20:46 pmurias re p6opaque is ..., maybe is misrembered it's lateish
20:47 pugs_svn r21386 | exodist++ |  * Initial tests for function wrapping.
20:47 ruoso pmurias, actually I'm not sure the spec defines that...
20:47 ruoso pmurias, but I would be really sad on forcing only class-based OO in p6opaque
20:47 Exodist woohoo, my first commit to perl6 :-)
20:47 ruoso Exodist++
20:48 * ruoso home &
20:48 * ruoso 'll try to log in later... but he certainly need some beers...
20:48 pmurias ruoso: instanceof is an Array?
20:48 ruoso pmurias, nope...
20:48 ruoso it points to a direct protoobject
20:49 pmurias you have multiple of those in prototype-oo
20:49 pmurias otherwise it's just poor man's class based oo
20:49 pmurias like in javascript
20:49 ruoso pmurias, yes yes... and that's why you have isa and does
20:49 ruoso you can do it pure prototype
20:49 ruoso but when it's prototype by delegatoin
20:49 donaldh joined #perl6
20:50 ruoso you can say that this object delegates entirely to *that* prototype
20:50 pmurias il think about it tommorow
20:50 * ruoso have people waiting for him...
20:50 pmurias * i'll
20:50 * ruoso later &
20:55 Alias__ joined #perl6
21:06 rakudo_svn r29594 | chromatic++ | [Rakudo] Fixed a POD error in Object.
21:08 pugs_svn r21387 | exodist++ |  * Added temporization test on wrapping.
21:08 pugs_svn r21387 | exodist++ |  * Added tests for unwrapping a sandwitched wrapper.
21:17 Kattana_ joined #perl6
21:20 wknight8111 joined #perl6
21:47 ingy joined #perl6
21:54 rakudo_svn r29598 | jonathan++ | [rakudo] Implement WHICH in object. We now need to override it in the various value types, and then we can implement ===.
22:02 Limbic_Region joined #perl6
22:08 jferrero joined #perl6
22:18 REPLeffect joined #perl6
22:27 eternaleye_ joined #perl6
22:34 pugs_svn r21388 | fglock++ | [v6.pm] fixed block interpolation in string
22:39 mncharity joined #perl6
22:40 pugs_svn r21389 | putter++ | [misc/elfish/rx_on_re] No longer segfaults.
22:40 pugs_svn r21389 | putter++ | The bootstrap grammar for p5 re modifiers uses a (?{helper($^N)}),
22:40 pugs_svn r21389 | putter++ | which then called a split().  split() within regexps is a known
22:40 pugs_svn r21389 | putter++ | locus of corruption.  As now.  Thankful kudos to moritz_++ TimToady++.
22:41 mncharity I would have thought rx_on_re was (?{}) (??{}) free.  Turned out the grammar for p5 regexps used a (?{}) helper sub.  Which then lived dangerously with a split().
22:41 lambdabot mncharity: You have 1 new message. '/msg lambdabot @messages' to read it.
22:41 mncharity Thanks all.
22:51 ikeda joined #perl6
23:07 eternaleye_ joined #perl6
23:26 s1n moritz_: should I skip and/or not add any tests using .perl, even if they pass?
23:27 s1n Auzon: same question for you
23:27 s1n .perl isn't specced, but in many cases it works
23:28 peeps[work] joined #perl6
23:28 s1n that is, this will pass: is (1..5).perl, '1..5', ".perl ..";
23:42 icwiener joined #perl6
23:57 Alias__ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo