Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-12-09

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:10 rakudo_svn r33674 | jonathan++ | [rakudo] Provide a way to get at all the possible multi dispatch candidates that could be invoked for a given set of arguments.
00:13 pugs_svn r24214 | jnthn++ | [t/spec] Completely re-work the calling sets tests, allowing us to separately test them in the case of single dispatch, multiple dispatch and when the methods come from roles; many of the existing tests were incorrect with regard to the current spec on indirect method calls also.
00:20 rakudo_svn r33675 | jonathan++ | [rakudo] Implement clone method in Perl6MultiSub.
00:20 rakudo_svn r33676 | jonathan++ | [rakudo] Extensively refactor .?, .+ and .* so they know about multi methods. Also add function level docs for them, which were missing before, plus for !.^.
00:20 rakudo_svn r33677 | jonathan++ | [rakudo] Add calling sets of methods tests to spectest; Rakudo passes all 29 tests in that file.
00:23 jnthn And thus ends a vaguely productive evening's hacking.
00:46 meppl good night
00:54 aindilis joined #perl6
01:12 smg joined #perl6
01:40 ChrisDavaz joined #perl6
01:54 eternaleye joined #perl6
02:50 simcop2387 joined #perl6
02:52 spx2 joined #perl6
03:13 Psyche^ joined #perl6
03:29 literal why is there no word-based equivalent to the &() contextualizer? like "hash" for %(), "item" for $(), etc
03:33 [particle] never came up. "code" may be it, though.
03:34 [particle] it's worth asking on p6l
03:39 xinming_ joined #perl6
03:46 alester_ joined #perl6
03:58 hcchien joined #perl6
04:28 kanru joined #perl6
04:31 pugs_svn r24215 | hinrik++ | [util/perl6.vim] add a keyword, highlight all contextualizers the same way, highlight TODO (et al) in multiline comments
04:49 c9s joined #perl6
05:20 rakudo_svn r33695 | allison++ | [pdd22io] Merging the pdd22io_part2 branch into trunk for r32922 to r33687.
05:25 justatheory joined #perl6
05:47 DJ-DONGDOT joined #perl6
06:04 rhr joined #perl6
06:12 justatheory joined #perl6
06:34 pugs_svn r24216 | pmichaud++ | [t/spec]:  regress array extending and binding tests for rakudo (temporary)
06:35 DJ-DONGDOT left #perl6
06:45 [particle]1 joined #perl6
06:46 spx2 joined #perl6
07:00 rakudo_svn r33699 | pmichaud++ | Merge rakudo's 'assign' branch back into trunk.
07:00 rakudo_svn r33699 | pmichaud++ | List slicing and list assignment now (mostly) work,
07:00 rakudo_svn r33699 | pmichaud++ | although we temporarily lose array element binding and
07:00 rakudo_svn r33699 | pmichaud++ | correct array lengths.
07:00 pmichaud rakudo: say 'hello';
07:01 p6eval rakudo 33698: OUTPUT[hello␤]
07:26 ashizawa joined #perl6
07:30 rakudo_svn r33700 | particle++ | [rakudo] slurp('') becomes readall(); bacek++
07:33 dukeleto joined #perl6
07:44 mberends joined #perl6
07:51 pugs_svn r24217 | moritz++ | [t/spec] unfudge array_ref.t for rakudo
07:52 pugs_svn r24218 | bacek++ | [spec] Use "lines()" instead of "slurp()" for List context
07:53 pugs_svn r24219 | moritz++ | [t/spec] more S02 unfudges for rakudo
08:09 dr_df0 joined #perl6
08:09 dr_df0 rakudo: say 'test';
08:09 p6eval rakudo 33701: OUTPUT[test␤]
08:10 moritz_ rakudo: my ($x, $y) = (4, 5); say $x + $y;
08:10 p6eval rakudo 33701: OUTPUT[0␤]
08:11 moritz_ rakudo: my ($x, $y) = (4, 5); say $x; say $y
08:11 p6eval rakudo 33701: OUTPUT[␤␤]
08:14 pugs_svn r24220 | moritz++ | [t/spec] unfudge four more files for rakudo
08:15 zamolxes joined #perl6
08:19 DemoFreak joined #perl6
08:30 rakudo_svn r33702 | pmichaud++ | [rakudo]:  Add the @a[] slice (slice with no arguments).
08:34 dr_df0 joined #perl6
08:34 dr_df0 hi all
08:34 dr_df0 i've just checked out the latest version of parrot tree 33701 rev
08:35 dr_df0 and IMHO readline support in interactive env for perl6 stopped working
08:35 moritz_ dr_df0: right, that's due to the merge of the IO branch by allison
08:35 dr_df0 at least the Up and Down cursor keys are not working
08:36 dr_df0 but ... rakudo has the support for slices !
08:36 moritz_ http://irclog.perlgeek.de/​parrot/2008-12-09#i_749358
08:40 dr_df0 ok
08:41 dr_df0 thanks for info
08:53 iblechbot joined #perl6
09:06 moritz_ rakudo: sub f(@a) { say @a.perl }; f(3)
09:06 p6eval rakudo 33702: OUTPUT[3␤]
09:06 moritz_ rakudo: sub f(@a) { @a.WHAT }; say f(3)
09:06 p6eval rakudo 33702: OUTPUT[Int␤]
09:52 spx2 joined #perl6
09:52 bacek joined #perl6
09:59 samlh joined #perl6
10:04 kane_ joined #perl6
10:12 ejs joined #perl6
10:16 elmex joined #perl6
10:19 jferrero joined #perl6
10:26 smtms joined #perl6
10:32 eternaleye joined #perl6
10:49 pugs_svn r24221 | moritz++ | [t/spec] more unfudging, and add tests to passing-arrays.t
11:02 meppl joined #perl6
11:08 smg joined #perl6
12:03 Lorn joined #perl6
12:05 justatheory joined #perl6
12:08 zamolxes joined #perl6
12:15 buu joined #perl6
12:20 rakudo_svn r33704 | jonathan++ | [rakudo] Update calls to readline for updated Parrot IO. Patch courtesy of bacek++.
12:40 rakudo_svn r33705 | jonathan++ | [rakudo] Implement lines method on IO objects and export it. Patch courtesy of bacek++.
13:06 buu joined #perl6
13:18 DemoFreak joined #perl6
13:32 yahooooo joined #perl6
13:37 vixey joined #Perl6
13:50 iblechbot joined #perl6
13:54 pugs_svn r24222 | jnthn++ | [t/spec] Unfudge an IO test. Also, S16 does not say file-handles auto-chomp by default, so fix the test to not assume that.
13:55 moritz_ jnthn: S29: "    Note: Most users should just let their I/O handles autochomp instead. (Autochomping is the default.)
13:55 moritz_ "
13:56 moritz_ jnthn: so the test was actually correct.
13:57 jnthn ...so half of S16 is in S29? Wonderful.
13:57 jnthn *sigh*
13:58 moritz_ jnthn: S16 is nothing you can really rely on :(
13:58 ruoso joined #perl6
13:59 ruoso Hello!
13:59 PerlJam hi ruoso.
13:59 PerlJam I notice that p6l is as silent as ever :(
14:00 moritz_ they just rant about the possible file system abstractions
14:00 rakudo_svn r33706 | pmichaud++ | [rakudo]: spectest-progress.csv update: 236 files, 4805 tests, 13 failing
14:00 rakudo_svn r33706 | pmichaud++ | Failure summary:
14:00 rakudo_svn r33706 | pmichaud++ |     S16-filehandles/io_in_while_loops.t aborted 13 test(s)
14:00 rakudo_svn r33707 | jonathan++ | [rakudo] Make chomp Win32-aware.
14:00 rakudo_svn r33708 | jonathan++ | [rakudo] Make for =$fh { ... } style loops work.
14:00 rakudo_svn r33709 | jonathan++ | [rakudo] Add an IO test that we now pass completely to spectest.
14:03 pugs_svn r24223 | jnthn++ | [t/spec] Need to learn not to rely on S16 for much...
14:11 iblechbot_ joined #perl6
14:12 xinming_ joined #perl6
14:20 rakudo_svn r33710 | jonathan++ | [rakudo] Implement auto-chomping, as mentioned in S29.
14:21 jhorwitz joined #perl6
14:28 ejs left #perl6
14:34 dr_df0 joined #perl6
14:34 dr_df0 hi all
14:35 dr_df0 perl6: my @array = <a b c d>; my $foo="B"; my $bar="C"; @array[1,2] := ($foo,$bar); say @array;
14:35 p6eval elf 24223: OUTPUT[syntax error at (eval 117) line 6, near "] :"␤ at ./elf_f line 3861␤]
14:35 p6eval ..rakudo 33710: OUTPUT[rtype not set␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤]
14:35 p6eval ..pugs: OUTPUT[abB Cd␤]
14:35 dr_df0 this command should return <a B C d>, right?
14:36 dr_df0 perl6: my @array = <a b c d>; my $foo="B"; my $bar="C"; @array[1,2] := ($foo,$bar); say ~@array
14:36 p6eval elf 24223: OUTPUT[syntax error at (eval 119) line 6, near "] :"␤ at ./elf_f line 3861␤]
14:36 p6eval ..rakudo 33710: OUTPUT[rtype not set␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤]
14:36 p6eval ..pugs: OUTPUT[a b B C d␤]
14:43 lichtkind joined #perl6
14:45 pmichaud binding slices isn't supported in rakudo yet.
14:47 pmichaud and I don't know what pugs is doing there.
14:48 ruoso it's probably turning 1,2 into 2
14:48 ruoso and binding the second element to a list
14:48 ruoso which is then flattened to that result
14:48 ruoso s/the second/the third/
14:51 pugs_svn r24224 | dr_df0++ | spec/S09-subscript_slice/slice.t fudged for rakudo
14:53 * ruoso later &
15:03 Tene rakudo: my @array = <a b c d>; my $foo="B"; my $bar="C"; @array[1,2] = ($foo,$bar); say @array.perl
15:03 p6eval rakudo 33710: OUTPUT[["a", "B", "C", "d"]␤]
15:04 alester joined #perl6
15:26 c9s joined #perl6
15:34 araujo joined #perl6
15:36 dr_df0 Tene: but it's not binding
15:36 dr_df0 Tene: it's an asignment to selected elements in an array
15:39 smg joined #perl6
15:56 pugs_svn r24225 | jnthn++ | [t/spec] Unfudge tests for reduction meta-operator with chaining comparrison ops for Rakudo.
16:00 rakudo_svn r33713 | jonathan++ | [rakudo] Make reduction meta-operator work with chaining comparrison operators.
16:10 xinming_ joined #perl6
16:12 stephens joined #perl6
16:28 xinming_ joined #perl6
16:40 moritz_ rakudo: say "yes" if 2 < 4 < 5
16:40 p6eval rakudo 33713: OUTPUT[yes␤]
16:41 [particle]1 joy.
16:41 moritz_ rakudo: say "yes" if [<] 2,  4, 5
16:41 p6eval rakudo 33713: OUTPUT[yes␤]
16:41 moritz_ rakudo: say "yes" if [===] 1, 1, 1,
16:41 p6eval rakudo 33713: OUTPUT[No result object␤current instr.: 'parrot;PCT;Grammar;item' pc 52 (src/PCT/Grammar.pir:65)␤]
16:41 moritz_ rakudo: say "yes" if [===] 1, 1, 1
16:41 p6eval rakudo 33713: OUTPUT[yes␤]
16:41 moritz_ rakudo: say "yes" if [===] 1, 1, 2
16:41 p6eval rakudo 33713: RESULT[Bool::False]
16:41 moritz_ rakudo: my $x; my $y say "yes" if [=:=] $x, $x, $x
16:41 p6eval rakudo 33713: OUTPUT[Statement not terminated properly at line 1, near "say \"yes\" "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
16:41 [particle] oh, that's totally perlish! i'm giddy.
16:42 [particle] rakudo: my $x; my $y; say "yes" if [=:=] $x, $x, $x
16:42 p6eval rakudo 33713: OUTPUT[yes␤]
16:42 [particle] rakudo: my $x; my $y; say "yes" if [=:=] $x, $x, $y
16:42 p6eval rakudo 33713: RESULT[Bool::False]
16:42 moritz_ that's what I wanted to do :-)
16:43 moritz_ rakudo: my $x; my $y :_ $x; say "yes" if [=:=] $x, $x, $y
16:43 p6eval rakudo 33713: OUTPUT[Statement not terminated properly at line 1, near ":_ $x; say"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
16:43 moritz_ rakudo: my $x; my $y := $x; say "yes" if [=:=] $x, $x, $y
16:43 p6eval rakudo 33713: OUTPUT[yes␤]
16:43 moritz_ gotta run to catch the bus, bbl&
16:49 hercynium joined #perl6
17:00 rakudo_svn r33714 | pmichaud++ | [rakudo]:  Set postcircumfix:<[ ]> to also be callable as a function
17:00 rakudo_svn r33714 | pmichaud++ | * This should help with other HLLs that don't provide a method form.
17:00 rakudo_svn r33715 | jonathan++ | [rakudo] First cut on non-dwimmy hyper ops. The non-unicode quote forms now work, there's some problem with the unicode forms.
17:06 ruoso joined #perl6
17:07 ruoso Hello!
17:16 smg joined #perl6
17:20 rakudo_svn r33716 | pmichaud++ | [rakudo]:  Update gen_metaop_pir.pl to generate the unicode forms of sub/hyper.
17:28 [particle] rakudo: @('a'..'z').[<18 1 11 21 4 15> >>-<< [xx] 1, 6].say;
17:28 p6eval rakudo 33715: OUTPUT[rakudo␤]
17:28 [particle] rakudo: @('a'..*).[<18 1 11 21 4 15> >>-<< [xx] 1, 6].say;
17:28 p6eval rakudo 33715: OUTPUT[Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤␤]
17:29 malfx joined #perl6
17:29 malfx left #perl6
17:34 moritz_ rakudo: my ($x, $y) = (3, 4); say $x;
17:34 p6eval rakudo 33716: OUTPUT[␤]
17:53 pbuetow joined #perl6
17:57 schmalbe joined #perl6
18:09 moritz_ can prefix ops have an adverb?
18:09 moritz_ and if so, would it go before or after the operand?
18:17 adc_penner2 joined #perl6
18:22 bacek_ joined #perl6
18:23 ejs joined #perl6
18:30 rakudo_svn r33719 | jonathan++ | [rakudo] Add the various dwimmy variants of infix hyperoperators.
18:30 pmichaud after
18:31 moritz_ that's good
18:31 [particle] rakudo: @('a'..'z').[<18 1 11 21 4 15> >>->> [xx] 1].say;
18:31 p6eval rakudo 33717: OUTPUT[Statement not terminated properly at line 1, near ".[<18 1 11"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
18:31 [particle] rakudo: @('a'..'z').[<18 1 11 21 4 15> >>->> 1].say;
18:31 p6eval rakudo 33717: OUTPUT[Statement not terminated properly at line 1, near ".[<18 1 11"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
18:31 [particle] still have to wait two revs...
18:32 moritz_ [particle]: rebuilt (although the rev. number in the output isn't updated=
18:32 [particle] rakudo: @('a'..'z').[<18 1 11 21 4 15> >>->> 1].say;
18:32 p6eval rakudo 33717: OUTPUT[rakudo␤]
18:33 [particle] jnthn++
18:33 pmichaud so very cool.  Now if only we could get the unicode forms to work.
18:33 [particle] moritz++ for not stealing my thunder :)
18:36 jnthn I do now have the fun that I want tests for hyper ops.
18:36 jnthn But the unicode lots are nicely interspersed between the ASCII lot.
18:37 jnthn Which would make it a nightmare to fudge.
18:37 moritz_ jnthn: maybe I can fiddle them out for you
18:37 jnthn Anyone object to a little re-arranging, or anyone fancy some fudging?
18:37 jnthn moritz_: If you can do that, would be wonderful.
18:37 moritz_ go right ahead
18:37 jnthn Oh, OK. :-)
18:37 * jnthn wants to review the tests anyway.
18:37 moritz_ I don't mind either way
18:37 moritz_ I'm just not into the hyper ops right now
18:37 jnthn Since things like auto-extending into nested arrays also works.
18:38 jnthn say (1,[2,[3,4],5],6) <<*>> 2; # works
18:38 * moritz_ is duly impressed
18:38 [particle] rakudo: say (1,[2,[3,4],5],6) <<*>> 2;
18:38 p6eval rakudo 33717: OUTPUT[24 6 8 1012␤]
18:39 moritz_ rakudo: say ((1,[2,[3,4],5],6) <<*>> 2).perl
18:39 p6eval rakudo 33717: OUTPUT[[2, [4, [6, 8], 10], 12]␤]
18:40 jnthn I didn't do it for hashes yet. I'll save that for another day, or for someone else to have fun with.
18:49 rindolf joined #perl6
18:58 jferrero joined #perl6
19:01 jhorwitz_ joined #perl6
19:03 TimToady joined #perl6
19:03 ejs joined #perl6
19:03 zostay joined #perl6
19:03 p6eval joined #perl6
19:03 lizsac joined #perl6
19:03 dalek joined #perl6
19:04 jiing joined #perl6
19:04 adc_penner2 joined #perl6
19:04 vixey joined #perl6
19:04 meppl joined #perl6
19:04 samlh joined #perl6
19:04 dukeleto joined #perl6
19:04 aindilis joined #perl6
19:04 Exodist joined #perl6
19:04 apeiron joined #perl6
19:04 moritz_ joined #perl6
19:04 cookys joined #perl6
19:04 broquaint joined #perl6
19:04 rafl joined #perl6
19:04 pugs_svn joined #perl6
19:04 rakudo_svn joined #perl6
19:04 ilogger2 joined #perl6
19:04 jiing__ joined #perl6
19:04 Helios- joined #perl6
19:04 krunen joined #perl6
19:05 moritz_ rakudo: for (a => 2, b =>1).kv { .perl.say }
19:05 p6eval rakudo 33719: OUTPUT[0␤("a" => 2)␤1␤("b" => 1)␤]
19:06 moritz_ rakudo: say "alive"
19:06 p6eval rakudo 33719: OUTPUT[alive␤]
19:06 moritz_ wtf?
19:06 pmichaud the .kv, .values, .pairs methods are all somewhat broken.
19:06 pmichaud they're high on my list to fix.
19:07 p6eval joined #perl6
19:08 lichtkind_ joined #perl6
19:08 lichtkind_ (nick lichtkind
19:10 buubot joined #perl6
19:11 adc_penner2 joined #perl6
19:11 vixey joined #perl6
19:11 meppl joined #perl6
19:11 samlh joined #perl6
19:11 dukeleto joined #perl6
19:11 aindilis joined #perl6
19:11 Exodist joined #perl6
19:11 apeiron joined #perl6
19:11 moritz_ joined #perl6
19:11 cookys joined #perl6
19:11 broquaint joined #perl6
19:11 rafl joined #perl6
19:11 pugs_svn joined #perl6
19:11 rakudo_svn joined #perl6
19:11 ilogger2 joined #perl6
19:11 Helios- joined #perl6
19:11 krunen joined #perl6
19:17 simcop2387 joined #perl6
19:20 avar rakudo: [<18 1 11 21 4 15> >>-<< [xx] 1, 6]
19:20 p6eval rakudo 33721: RESULT[[17, 0, 10, 20, 3, 14]]
19:21 [particle] avar: you can deobfuscate with >>->> 1 instead
19:22 [particle] partially deobfuscate, anyway :)
19:26 vixey joined #Perl6
19:27 liufeng joined #perl6
19:30 Tene why [xx] 1, 6 instead of 1 xx 6?
19:30 pmichaud both work.
19:30 pmichaud first might be slightly more readable
19:30 pmichaud second requires parens
19:30 pmichaud (1 xx 6)
19:31 pmichaud because xx is lower precedence than >>-<<
19:32 rakudo_svn r33722 | pmichaud++ | [rakudo]:  Clean up some minor errors in hyperop generator.
19:32 pugs_svn r24226 | moritz++ | [t/spec] clean up hyper.t a bit, and fudge some tests for rakudo
19:32 pugs_svn r24226 | moritz++ | (unfurtunately the fudging added more visual clutter)
19:35 pugs_svn r24227 | moritz++ | [t/spec] group tests in hyper.t by Unicodeness to avoid too many fudge markers
19:40 rakudo_svn r33723 | moritz++ | [rakudo] add hyper tests to t/spectest.data
19:41 moritz_ rakudo: say -<< ([1, 2], [3, [4, 5]]);
19:41 p6eval rakudo 33721: OUTPUT[Statement not terminated properly at line 1, near "-<< ([1, 2"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
19:44 masak joined #perl6
19:46 bacek joined #perl6
19:46 masak moritz_: I'm not sure if I will have time to contribute, but I'm definitely interested in discussing S24.
19:56 moritz_ masak: http://nopaste.snit.ch/14884 is my current "outline"
19:56 pmichaud I'm also interested in S24
19:57 rindolf rakudo: 1 xx 6
19:57 p6eval rakudo 33723: RESULT[[1, 1, 1, 1, 1, 1]]
19:57 rindolf rakudo: 1 x 6
19:57 p6eval rakudo 33723: RESULT["111111"]
19:57 moritz_ the syntax was discussed with TimToady a few weeks or months ago
19:58 masak it's... unorthodox.
19:58 moritz_ any comments and questions are welcome
19:58 moritz_ aye ;-)
19:59 masak any direct advantage to doing it like this?
19:59 moritz_ masak: the reasoning was that is($a, $b, '...') leaves it very unclear how comparison is performed...
19:59 masak that's true.
19:59 moritz_ masak: so the current fallback is ok($a =:= $b, 'explanation')
19:59 moritz_ masak: which suffers from very bad diagnostics
19:59 masak yeah, suboptimal.
20:00 moritz_ so if a test went wrong, it's not easy to see what these two values where
20:00 moritz_ so the idea is that we already have many "test operators", ie those that return a boolean value
20:00 masak `$x eq 'foo' :ok()` sort of has the wrong stress to it. usually, the adverb doesn't contain the most vital part of the statement.
20:01 moritz_ that's true. It would be nice if the start of a line told us that it's a test
20:01 jnthn moritz_: Ah, I'd done some work on the hyper tests too. :-)
20:02 jnthn I'll see what you've done. :-)
20:02 masak moritz_: in the best of worlds, is() would be a macro which analyzed the boolean operator in its first argument. :)
20:03 masak something like `is( $a eq $b, ...)`
20:03 moritz_ masak: in the best of worlds that would be ok(), not is()
20:03 masak hm, yes.
20:03 moritz_ 'is' is already used in too many places inthe language
20:04 masak aye.
20:04 moritz_ masak: problem is that macros are hard (for the compiler), and testing should be easy
20:04 masak and having both 'is' and 'eq' would be tautological.
20:04 masak moritz_: why is that a problem?
20:04 masak compilers should do much of the heavy lifting.
20:05 moritz_ masak: compilers should be able to run the test suite in meaningful ways before they do macros
20:05 masak oh, but it can. 'ok()' works even without the macro.
20:05 masak ...at least if it's treated as an ordinary sub.
20:06 liufeng joined #perl6
20:06 masak (but I'm on shaky ground here. I don't really know how macros will work.)
20:07 moritz_ you're right on this one...
20:08 masak apart from the kvetch about :ok being pushed out towards the insignificant right, I have no complaints :)
20:09 moritz_ masak: we're discussed that, and somehow it was discarded. But I can't remember what exactly the killer argument was...
20:09 masak ok.
20:09 moritz_ masak: I think that TimToady wanted a more generic way to access the parse tree or AST for some subs...
20:09 Southen joined #perl6
20:10 lichtkind_ joined #perl6
20:10 masak a more generic way? than what?
20:10 moritz_ masak: than declaring a macro
20:11 moritz_ somethinig like 'sub ok($bool is AST, $msg?)'
20:11 masak ah.
20:12 masak have you considered naming 'tests-done' just 'done'?
20:12 moritz_ I think that's a bit too generic
20:13 moritz_ but otoh plan() is pretty generic too
20:13 masak not to mention is(), ok()...
20:13 moritz_ well, that's another point for using adverbs: they don't pollute the sub namespace
20:13 masak 'tests-done()' is slightly ambiguous.
20:14 moritz_ right now that's not a problem because is(), ok() etc. are only imported when you 'use Test;'
20:18 [particle] how about a magical, like $?PLAN
20:19 moritz_ [particle]: I don't want too many variables involved
20:19 moritz_ I don't even like the currently proposed $*TEST_BACKEND
20:20 moritz_ but I can't think of a better way
20:20 [particle] sure, but perhaps better a magical var than a sub that can be overridden
20:20 [particle] unless perhaps it becomes Test::plan()
20:20 masak [particle]: as long as the usual scoping rules apply, I don't see a problem.
20:20 moritz_ [particle]: if plan() class $*TEST_BACKEND.plan by default, you can simply override it by changing $*TEST_BACKEND
20:21 moritz_ s/class/calls/
20:23 [particle] 2 :plan; :)
20:23 * moritz_ cries in agony
20:25 masak :)
20:25 masak it's consistent, though.
20:26 [particle] yep. that's saying something about the rest, perhaps. :)
20:26 masak in the kindest way possible.
20:26 pmichaud the issue with macros is that it could be hard to analyze anything more than simple operators
20:26 masak aye.
20:27 pmichaud which might simply mean "okay, don't analyze in that case"
20:27 pmichaud but still it can complicate the implementation a fair bit.
20:27 masak difficult to provide coverage in all situations.
20:27 pugs_svn r24228 | jnthn++ | [t/spec] Correct some and unfudge some hyper spec tests.
20:27 moritz_ I'm collecting the pros and cons for both approaches right now
20:27 pmichaud istr that TimToady especially liked the end-weight of :ok on the right
20:27 [particle] istr the same
20:28 pmichaud personally, I think that if we don't go with the :ok approach, then stick with a functional approach like we have now.
20:28 moritz_ that doesn't mean that we have to like it ;-)
20:28 pmichaud it has worked well in practice, and it's relatively easy to understand and implement
20:28 masak nod.
20:28 pmichaud the default builtins aren't supposed to be "everything you'd ever want in a Testing library" -- that's what modules are for.
20:28 pmichaud this is just supposed to be "a good set of defaults for testing."
20:29 moritz_ and "easily extensible"
20:29 pmichaud that too.
20:29 moritz_ we shouldn't forget that there are other thiings than TAP, for example
20:29 masak is the adverb approach easily extensible?
20:29 pmichaud so, I would expect to continue to see todo() as a separate function, meaning "mark the next test(s) as TODO with reason x"
20:30 moritz_ masak: I think so, yes
20:30 masak moritz_: how?
20:31 moritz_ masak: by installing more multis  (sub infix:<eq>($a, $b, :$ok)) and normal subs
20:31 moritz_ and the flexibility is mainly a feature of how easy it is to swap the backend
20:32 [particle] can an adverb be mixed in as a role?
20:32 moritz_ dunno
20:33 [particle] multi infix:<eq>(Any $left, Any $right) gets Testy { ... }
20:35 * ruoso .oO( what is so badly wrong about Test.pm? )
20:35 rindolf ruoso: perl5's Test.pm?
20:36 ruoso no, the idea of a module that provides a set of functinos to do testing
20:36 ruoso and that's all
20:36 moritz_ ruoso: for example is() is badly abused right now, and that won't change easily
20:38 masak moritz_: can you be a bit more specific?
20:38 pmichaud I think the attraction is that testing is (desired to be) a part of Perl culture, so it makes sense for some testing operations to be builtins
20:39 masak that's not the same as having them be adverbs, though.
20:39 moritz_ masak: is() doesn't say how the args are compared, and different comparison semantics are implied all over the place
20:39 pmichaud actually, I'm proposing that is() always use value equivalence.
20:39 ruoso moritz_, and why doesn't the "ok" function of Test.pm analyse the AST of the way its arguments are built?
20:39 [particle] value_is would be more clear, then
20:40 moritz_ ruoso: because functions never see the AST
20:40 masak moritz_: couldn't reasonable heuristics be employed? something like 'if both args are numbers...'
20:40 pmichaud particle:  I'm saying it should compare using infix:<eqv>
20:40 ruoso moritz_, they usually don't
20:40 ruoso moritz_, but they ould
20:40 ruoso *could
20:40 moritz_ pmichaud: value equivalence can be surprisngly tricky
20:40 pmichaud that would mean that is() also automatically has "deeply" semantics.
20:41 moritz_ ruoso: not without major changes and performance penalty
20:41 pmichaud but for standard things like Int, Num, Str, we get the basic "value and type" equivalence.
20:41 ruoso moritz_, uh?
20:41 masak pmichaud: I like that.
20:41 ruoso moritz_, Perl 6 is supposed to be able to introspect into the code itself
20:41 pmichaud yes, it seems natural.
20:41 moritz_ ruoso: but not at the sub level
20:41 pmichaud so,   is($a, $b, 'foo')   returns "ok" if $a eqv $b
20:42 masak ruoso: Perl 6, yes. but not subs whose args are already evaluated.
20:42 pmichaud easy to explain, does the right thing in nearly all cases, including deeply nested structures.
20:42 masak pmichaud: what happens with `5 eqv "5"` ?
20:43 ruoso 5 eqv '5' should be true
20:43 moritz_ no.
20:43 ruoso I thnk
20:43 moritz_ Int is not eqv Str
20:43 pmichaud 5 eqv '5' is false, because they don't have the same type.
20:43 ruoso hmm...
20:43 masak that might be a slight disadvantage.
20:43 pmichaud why?  we can easily cast in the test
20:44 moritz_ so we'll see the rise of   is(~$foo, ~$bar, ...) which is rather ugly IMHO
20:44 masak sure, if we're aware of it.
20:44 masak moritz_: not to me. it's explicit.
20:44 masak and not too long.
20:44 pmichaud I don't think there will be a lot of casting of both operands.
20:44 pmichaud we already see things like    $foo eq $bar   and $foo == $bar, which is the same thing but with a different sort of cast.
20:44 moritz_ masak: the perl philosphy has always been to determine the type of operation by the operator (eq, ==), not by the operands
20:44 bacek joined #perl6
20:45 moritz_ I'd like to stick to that philosphy
20:45 pmichaud I think that philosophy might be changing
20:45 pmichaud comes with the territory of introducing the prefix:<...> operators for coercion
20:45 masak moritz_: but this is a call to a test sub, not an operator. different requirements.
20:45 smg joined #perl6
20:46 pmichaud that was one of the advantages of the   :ok approach, though, in that it left the type of operation up to the operator
20:46 moritz_ masak: but we already have all the ops for doing testing as we wish. It feels unnatural not to use them
20:46 pmichaud moritz_: if you want to use the ops, you can already do that with ok()
20:46 pmichaud ok($foo eq $bar, '...')
20:46 pmichaud that's at least as clear (or better than)    is_eq($foo, $bar, '...')
20:46 moritz_ pmichaud: right. but it's not as convenient, so it's not used very much.
20:47 pmichaud it's not as convenient because people like to do    is($foo, $bar, '...')
20:47 pmichaud but then we have to worry about what type of comparison 'is' is performing
20:47 pmichaud using 'eqv' means that it does the "natural" sort of comparison
20:47 masak moritz_: did anyone consider calling the adverb :test instead? feels a bit more spot-on than :ok for some reason.
20:47 pmichaud mmmm, :test is nice too.
20:48 pmichaud good suggestion.
20:48 ruoso masak, :assert would be more sane, than
20:48 masak ruoso: no, assert has slightly other connotations for me.
20:48 moritz_ ruoso: :assert implies throwing an exception on violation
20:48 masak aye.
20:48 pmichaud same here, I think of assert as throwing exceptions.
20:48 ruoso er...
20:48 ruoso perfect
20:48 ruoso CONTROL exceptions
20:48 ruoso :)
20:49 moritz_ pmichaud: I think that eqv has too strict semantics, for example '@a eqv your_sub()' is false if your_sub returns a list, not an array
20:49 moritz_ pmichaud: I also thing that correct eqv implementation is non-trivial
20:50 moritz_ so we keep is(), then please with string comparison semantics. That's very simplistic, but we can have an is_deeply for more elaborate things
20:50 [particle] it's more trivial than macros...
20:50 moritz_ s/so we/so if we/
20:50 pmichaud moritz_: I disagree (more)
20:51 pmichaud obviously a full Perl 6 implementation has to have a correct eqv at some point
20:51 moritz_ well, macros would only be needed for diagnostics, not for running the tests correctly
20:51 pmichaud so implementation difficulty is only an issue when bootstrapping
20:51 pmichaud but during bootstrap, it's okay to "cheat" and have eqv do string comparison semantics
20:51 pmichaud or to otherwise special-case eqv enough to do whatever you need to pass tests
20:51 masak why is eqv difficult to implement?
20:51 [particle] sub infix:eqv(...) is instead { ... }
20:52 ruoso wouldn't it be sane to have is($a,$b,'...') to perform a ~~ instead of a eqv ?
20:52 pmichaud or even to special-case is() during bootstrapping
20:52 moritz_ pmichaud: from the point of view of a test suite maintainer I have to disagree on cheating eqv. It accounts for many imprecise test that haven'T been caught by now
20:52 pmichaud ruoso: we thought about that, but that actually invites all sorts of comparisons that aren't precise
20:52 [particle] p6 is very different from p5 in that all the dwimminess is in one op, ~~
20:52 pmichaud moritz_: that will be true regardless
20:52 moritz_ ruoso: ~~ does too much magic (for example sub calls, regex matches etc)
20:52 [particle] everywhere else, p6 is much more about precision
20:53 pmichaud moritz_: if it's that big an issue to an implementor, then getting a correct eqv would be high on the list
20:53 pmichaud I don't know that the test suite itself needs to dictate that
20:54 moritz_ pmichaud: maybe I'm biased here, because up until now I haven't see an eqv implementation in rakudo ;-)
20:54 pmichaud because I haven't bothered to do one
20:54 pmichaud or, perhaps I did, but it just does string semantics for now.  :-P :-P
20:54 masak heh
20:54 moritz_ rakudo: say 1 eqv 1
20:54 p6eval rakudo 33724: OUTPUT[Could not find non-existent sub infix:eqv␤current instr.: '_block11' pc 27 (EVAL_13:17)␤]
20:54 pmichaud I can fix that quickly :-)
20:55 moritz_ well, even $a.perl eq $b.perl isn't too bad an approximation
20:55 moritz_ it will fail for hashes, but is quite OK otherwise
20:55 ruoso I wonder if the test module couldn't look into the actual code that was "asserted" and provide the desired error message ?
20:55 pmichaud right, so why not just have eqv do that approximation?
20:55 ruoso $a eq $b :assert '$a should be string-equal to $b'
20:55 [particle] s/assert/test/ # for my taste
20:55 moritz_ ruoso: that was TimToady's proposal
20:56 pmichaud ruoso: that was the point of :test/:ok -- each operator can choose an appropriate error message
20:56 [particle] i don't like :ok
20:56 pmichaud $a eq $b   :test
20:56 moritz_ (IMHO :ok and :test are both OK, if we go that way=
20:56 moritz_ s/=/)/
20:56 ruoso (I really like :assert)
20:56 pmichaud (results in "ok ### - 1 should be eq 1"  in output)
20:56 ruoso (and yes, it throws an exception...)
20:56 [particle] assert screams compile-time failure to me
20:57 moritz_ ruoso: I think you're the only one here ;)
20:57 ruoso but anyway....
20:57 [particle] should .perl give type info when it's ambiguous?
20:57 [particle] Mapping.new( 'a' => 1 );
20:57 pmichaud .perl should give whatever is needed to recreate the value in Perl
20:58 ruoso what would '$a eq $b :test 'This is a test'' imply in terms of the eq operator?
20:58 pmichaud ruoso: that the operator should generate an appropriate testing diagnostic
20:58 moritz_ ruoso: a 'mutli infix:<eq>($a, $b, :$test)'
20:58 [particle] or { 'a' => 1 }.Mapping
21:00 ruoso having to define additional arguments in 'eq' is not that nice
21:00 moritz_ ruoso: they can be autogenerated
21:01 masak moritz_: can they be autogenerated and still provide precise diagnostics?
21:01 [particle] yes, as long as .perl is precise enough
21:01 masak hm.
21:02 wastrel joined #perl6
21:03 moritz_ masak: I'd expect 98% to be autogenerated and 2% to be hand written for better diagnostics
21:03 moritz_ for example for =:= the default output would be pretty meaningless
21:03 moritz_ and for ~~
21:04 masak aye.
21:04 ruoso hmm... the idea of an additional argument to the ops really looks bad
21:04 masak actually, I'm warming up to the idea.
21:04 masak but I'd prefer if :ok were :test.
21:05 pmichaud for ~~ the diagnostics can be pretty good, since it knows the type of its rhs
21:05 pmichaud it can say what kind of match it thought it was doing :-)
21:05 masak that'd be awesome.
21:06 moritz_ pmichaud: yes, but not the autogenerated diagnostics that other ops like eq and == use
21:06 pmichaud moritz_: agreed.
21:07 moritz_ anyway, you've given me much food for thought, thanks masak, pmichaud, [particle] and ruoso
21:08 masak np.
21:09 pmichaud I know that chromatic also wanted to be heavily involved in that synopsis
21:10 moritz_ I'm sure I won't reject his input ;-)
21:11 moritz_ I'd like to put my thoughts to a wiki page, but not perlfoundation.org (I hate socialtext) - any recommendations?
21:14 * masak wishes he could recommend one particular wiki more whole-heartedly
21:14 masak we really need that server-side upgrade soon.
21:17 adc_penner2 joined #perl6
21:17 meppl joined #perl6
21:17 samlh joined #perl6
21:17 dukeleto joined #perl6
21:17 aindilis joined #perl6
21:17 Exodist joined #perl6
21:17 apeiron joined #perl6
21:17 moritz_ joined #perl6
21:17 cookys joined #perl6
21:17 broquaint joined #perl6
21:17 rafl joined #perl6
21:17 pugs_svn joined #perl6
21:17 rakudo_svn joined #perl6
21:17 ilogger2 joined #perl6
21:17 Helios- joined #perl6
21:17 krunen joined #perl6
21:17 [particle] moritz_: how about trac wiki at pugscode, or at parrot?
21:21 Jedai joined #perl6
21:25 adc_penner joined #perl6
21:27 [particle]1 joined #perl6
21:29 meppl joined #perl6
21:29 samlh joined #perl6
21:29 dukeleto joined #perl6
21:29 aindilis joined #perl6
21:29 Exodist joined #perl6
21:29 apeiron joined #perl6
21:29 moritz_ joined #perl6
21:29 cookys joined #perl6
21:29 broquaint joined #perl6
21:29 rafl joined #perl6
21:29 pugs_svn joined #perl6
21:29 rakudo_svn joined #perl6
21:29 ilogger2 joined #perl6
21:29 Helios- joined #perl6
21:29 krunen joined #perl6
21:37 masak perl6: my @a = <work? this will Yoda himself asked>; say @a[2,1,0,3,5,4].join: " "
21:37 p6eval pugs, rakudo 33726: OUTPUT[will this work? Yoda asked himself␤]
21:37 p6eval ..elf 24228: OUTPUT[Useless use of a constant in void context at (eval 117) line 4.␤Useless use of a constant in void context at (eval 117) line 4.␤Useless use of a constant in void context at (eval 117) line 4.␤Can't locate object method "join" via package "himself" (perhaps you forgot to load
21:37 p6eval .."him...
21:37 masak pmichaud++
21:37 wastrel
21:38 masak wastrel: ␤
21:38 wastrel i don't know what it is but it is beautiful
21:38 pmichaud it's a box on my screen :-(
21:38 masak wastrel: it's a newline symbol :)
21:38 wastrel some utf8 abomination
21:39 PerlJam it's a little diagonal NL on mine
21:39 masak here too.
21:39 wastrel oic N L
21:39 wastrel http://www.fileformat.info/inf​o/unicode/char/2424/index.htm  oui?
21:39 wastrel doesn't look like that on mine :]  maybe font too small
21:39 PerlJam that's the one
21:49 moritz_ https://trac.parrot.org/parrot/wiki/PerlSixTesting this is where I put down my thoughts on S24 for now
21:49 moritz_ [particle]++ for suggesting the parrot wiki ;)
22:01 KriZ joined #perl6
22:01 KriZ hi
22:01 moritz_ hi there
22:02 pugs_svn r24229 | moritz++ | [t/spec] tests for === and =:= and their negated forms inside meta ops
22:04 masak hi, KriZ
22:05 KriZ i have a question , i want to realise a tempo of x millisec in perl script, and i dont have any idea of which function i can use ( sorry guy for my english :) )
22:05 KriZ can u help me ?
22:05 Hinrik joined #perl6
22:05 masak KriZ: you might try a Perl 5 forum, like #perl.
22:06 Hinrik perl6: my $var-iable = 1; say $var-iable
22:06 p6eval pugs: OUTPUT[*** No such subroutine: "&iable"␤    at /tmp/QRYNIMA8hz line 1, column 1-18␤]
22:06 p6eval ..rakudo 33726: OUTPUT[1␤]
22:06 p6eval ..elf 24229: OUTPUT[Useless use of subtraction (-) in void context at (eval 123) line 3.␤Undefined subroutine &GLOBAL::prefix__61 called at (eval 123) line 3.␤ at ./elf_f line 3861␤]
22:06 masak KriZ: this is #perl6, for discussing Perl 6, the upcoming major Perl version.
22:06 masak rakudo: does Perl 6 rock".split(" ").sort[1,0,2,3].perl
22:06 p6eval rakudo 33726: OUTPUT[Statement not terminated properly at line 1, near "6 rock\".sp"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
22:06 Hinrik rakudo: my $var--iable = 1; say $var--iable
22:06 p6eval rakudo 33726: OUTPUT[Statement not terminated properly at line 1, near "iable = 1;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
22:06 masak oops
22:06 masak rakudo: say "does Perl 6 rock".split(" ").sort[1,0,2,3].perl
22:06 p6eval rakudo 33726: OUTPUT[["Perl", "6", "does", "rock"]␤]
22:06 KriZ ok thank you for your help i will try the perl 5 forom
22:06 KriZ bye ;)
22:07 KriZ left #perl6
22:07 moritz_ Hinrik: - and ' are only allowed in identifies if there are word characters on both sides
22:07 masak KriZ: good luck! dang.
22:07 moritz_ rkaudo: my $x-4; # should bail out
22:07 [particle]1 moritz_: and only one-at-a-time it seems
22:07 moritz_ [particle]1: sure, since - isn't a word charcter
22:07 moritz_ rakudo: my $x-4; # should bail out
22:07 p6eval rakudo 33726: RESULT[-4]
22:07 moritz_ or that
22:08 [particle] rakudo: my $don't-mess-with-me;
22:08 p6eval rakudo 33726: RESULT[undef]
22:08 [particle] rakudo: my $don't-mess-with--me;
22:08 p6eval rakudo 33726: OUTPUT[Statement not terminated properly at line 1, near "me;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
22:08 [particle] that's a bit limiting
22:09 moritz_ [particle]: but sane in not generating variables that look like substractions
22:09 [particle] i'm not using numbers anywhere
22:09 [particle] just talking about the lack of ablitity to use a--b
22:09 [particle] or c''d
22:10 [particle] not sure it's good or bad, just noticing, thanks to Hinrik++
22:10 [particle] it should be tested, anyway
22:11 moritz_ aye
22:15 justatheory joined #perl6
22:15 pugs_svn r24230 | moritz++ | [t/spec] tests for [eq], [ne]
22:15 PZt joined #perl6
22:15 jnthn moritz_: Are those passing ones?
22:15 moritz_ jnthn: aye
22:16 jnthn Nice.
22:16 [particle] has autounfudge been run recently?
22:16 moritz_ even the tests for [!=:=] work, the most obscure-lookiing comparison operator ever ;-)
22:16 moritz_ [particle]: yes, after the assign branch merge
22:17 moritz_ aka "today"
22:22 jnthn That looks...so odd. :-)
22:23 masak [!=:=] means 'test that adjacent items are not id-equal to each other'?
22:23 moritz_ masak: yes
22:23 masak yuck :)
22:23 moritz_ masak: if you mean 'container identity' with 'id-equval'
22:23 moritz_ s/v//
22:23 masak let's say I do.
22:23 moritz_ ;-)
22:24 [particle] :)
22:25 pugs_svn r24231 | jnthn++ | [t/spec] Unfudge some attribute initialization tests that Rakudo now passes.
22:25 moritz_ rakudo: sub pow2($x) { [*] ((1 xx $x) >>*>>2 ) }; say pow2(5)
22:25 p6eval rakudo 33727: OUTPUT[32␤]
22:25 moritz_ rakudo: sub pow2($x) { [*] (1 xx $x >>*>>2 ) }; say pow2(5)
22:25 p6eval rakudo 33727: OUTPUT[1␤]
22:26 justatheory joined #perl6
22:26 moritz_ rakudo: sub pow2($x) { [*] ((1 xx $x)>>*>>2 ) }; say pow2(5)
22:26 p6eval rakudo 33727: OUTPUT[32␤]
22:26 moritz_ rakudo: sub pow2($x) { [*](1 xx $x)>>*>>2 }; say pow2(5)
22:26 p6eval rakudo 33727: OUTPUT[32␤]
22:26 moritz_ rakudo: sub pow2($x)  [*](1 xx $x)>>*>>2}; say pow2(5)
22:26 p6eval rakudo 33727: OUTPUT[Statement not terminated properly at line 1, near "[*](1 xx $"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
22:26 [particle] wow. that's overkill.
22:26 moritz_ rakudo: sub pow2($x){[*](1 xx $x)>>*>>2}; say pow2(5)
22:26 p6eval rakudo 33727: OUTPUT[32␤]
22:26 moritz_ now somebody say you can't do obfu in Perl 6 ;-)
22:26 moritz_ rakudo: sub pow2($x){[*](1 xx$x)>>*>>2}; say pow2(5)
22:26 p6eval rakudo 33727: OUTPUT[32␤]
22:26 jnthn moritz_: Stop trying to break it! :-P
22:27 jnthn But, neat. :-)
22:28 masak moritz_: with great pow comes great responsibility.
22:28 moritz_ heh, once I get tired of writing tests I can say "jonathan told me to stop trying to break it" ;-)
22:29 [particle] rakudo: sub powx($x, :$base = 1) { [*] (1 xx $x) >>*>> $base}; say powx(:2, 5);
22:29 p6eval rakudo 33727: OUTPUT[Statement not terminated properly at line 1, near "(:2, 5);"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
22:29 [particle] oops
22:29 moritz_ :base(2)
22:29 [particle] rakudo: sub powx($x, :$base = 1) { [*] (1 xx $x) >>*>> $base}; say powx(:base => 2, 5);
22:29 p6eval rakudo 33727: OUTPUT[get_integer() not implemented in class 'Perl6Pair'␤current instr.: 'infix:xx' pc 16733 (src/builtins/op.pir:224)␤]
22:29 masak ooh!
22:29 [particle] feh.
22:29 masak a bug! :)
22:29 moritz_ [particle]: :base(2) or base => 2
22:29 moritz_ not :base => 2
22:29 masak but still.
22:30 masak there's a bug in there, somewhere.
22:30 [particle] rakudo: sub powx($x, :$base = 1) { [*] (1 xx $x) >>*>> $base}; say powx(:base(2), 5);
22:30 p6eval rakudo 33727: OUTPUT[32␤]
22:30 [particle] rakudo: sub powx($x, :$base = 1) { [*] (1 xx $x) >>*>> $base}; say powx(5);
22:30 rakudo_svn r33728 | jonathan++ | [rakudo] First cut of initializing attributes at the point of declaration (has $.x = 42).
22:30 p6eval rakudo 33727: OUTPUT[1␤]
22:30 smg joined #perl6
22:30 [particle] (optional args with defaults)++
22:31 moritz_ well, it's not Perl 6 release today, but it still feels a bit like christsmas.
22:31 moritz_ jnthn++ pmichaud++
22:32 kanru joined #perl6
22:34 masak indeed.
22:36 Hinrik moritz_: actually, S02 says "An identifier may also contain isolated apostrophes or hyphens provided the next character is alphabetic."
22:36 Hinrik ah, since it has to start with an alphabetic one it effectively requires alphabetical chars on both sides
22:36 [particle] that implies plural, and things like a'-'-'''--'--''-'-b
22:37 [particle] hrmm, "isolated"
22:37 moritz_ if you think the language isn't clear, look at how STD.pm does it
22:38 [particle] that *definitely* means single
22:38 [particle] a--b is *not* allowed.
22:38 * moritz_ agrees
22:38 moritz_ and neither is a-'b
22:38 [particle] agreed
22:51 masak moritz_: FYI, I'm slowly getting acquainted with the contents of t/oo
22:52 masak moritz_: what do you propose one do with the tests containing the keyword 'submethod', which is not implemented by Rakudo yet?
22:53 [particle] masak: stevan had said in the past that there would soon be a bunch of Moose tests that could be imported/converted to p6spectests
22:53 [particle] they may be more current than t/oo
22:54 moritz_ masak: just move them without fudging them
22:54 masak moritz_: ok.
22:54 moritz_ masak: if they are in t/spec/, they have the "hopefully reviewed" status
22:54 masak moritz_: I'll take a close look at them first, then.
22:55 jnthn Hopefully we'll have submethod this month.
22:55 masak I took a stab at implementing submethods in Rakudo, but -- who would have thought? -- that turned out to be non-trivial.
22:55 [particle] ha.
22:56 masak basically, I tried to see if the tests would pass if I just treated a submethod as a method.
22:56 masak (they didn't)
22:56 masak then I tried treating it as a sub. that didn't work either. :)
22:59 jnthn masak: It needs changes to dispatching.
22:59 masak jnthn: aye. so I gathered.
22:59 jnthn I'll do it at the same time I do a bunch of other dispatcher stuff - it's part of the grant I've applied for.
23:00 masak Rakudo is shaping up to be a really nice implementation of Perl 6, methinks.
23:00 rakudo_svn r33730 | moritz++ | [codingstd] remove trailing whitespaces
23:00 rakudo_svn r33732 | moritz++ | [rakudo] tools/autounfudge.pl: add a --section option to for example only
23:00 rakudo_svn r33732 | moritz++ | process S12 tests
23:00 rakudo_svn r33733 | jonathan++ | [rakudo] Implement cross meta-operator, which sicne now we have reduce and we already had infix:X was rather trivial (it's just the de-sugaring shown in S03).
23:00 FurnaceBoy joined #perl6
23:01 [particle] rakudo: <a b> X~X <1 2>
23:01 p6eval rakudo 33728: OUTPUT[Statement not terminated properly at line 1, near "2>"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
23:01 [particle] few revs behind :(
23:19 pugs_svn r24232 | jnthn++ | [t/spec] Unskip/untodo some tests for the cross meta-op.
23:20 rakudo_svn r33734 | jonathan++ | [rakudo] infix:X ended up giving a result that flattened, which meant we got wrong results.
23:20 rakudo_svn r33735 | jonathan++ | [rakudo] infix:X,X is just infix:X.
23:22 ruoso joined #perl6
23:26 pugs_svn r24233 | moritz++ | [t/spec] update fudge reasons in cross-metaop.t
23:35 moritz_ 4886 passing tests, time to call it a day.
23:37 jnthn Ooh, working towards 5,000.
23:38 jnthn MT can be a piece of crap at times...
23:39 thepler_ joined #perl6
23:44 thepler__ joined #perl6
23:46 meppl good night
23:56 km2 joined #perl6
23:57 pmichaud pugs: say ((1,2), (3,4)).elems;
23:57 p6eval pugs: OUTPUT[4␤]
23:59 thepler_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo