The topic for #perl6 is: pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/
Set by TimToady on 25 November 2008.
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:10
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:13
rakudo_svn r33675 | jonathan++ | [rakudo] Implement clone method in Perl6MultiSub. 00:20
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 !.^.
r33677 | jonathan++ | [rakudo] Add calling sets of methods tests to spectest; Rakudo passes all 29 tests in that file.
jnthn And thus ends a vaguely productive evening's hacking. 00:23
meppl good night 00:46
00:47 meppl left 00:50 aindilis` left 00:54 aindilis joined 01:12 smg joined 01:40 ChrisDavaz joined 01:45 stephens left 01:54 eternaleye joined 02:16 jhorwitz left 02:17 DemoFreak left 02:36 elmex left 02:40 thei0s left 02:47 lichtkind left 02:48 simcop2387 left 02:50 simcop2387 joined 02:51 spx2 left 02:52 spx2 joined 03:13 Psyche^ joined 03:24 Patterner left, Psyche^ is now known as Patterner
literal why is there no word-based equivalent to the &() contextualizer? like "hash" for %(), "item" for $(), etc 03:29
[particle] never came up. "code" may be it, though. 03:33
it's worth asking on p6l 03:34
03:39 xinming_ joined 03:46 alester_ joined 03:47 alester left 03:55 xinming left 03:58 hcchien joined 04:16 Limbic_Region left, xinming_ left 04:27 kanru left 04:28 kanru joined
pugs_svn r24215 | hinrik++ | [util/perl6.vim] add a keyword, highlight all contextualizers the same way, highlight TODO (et al) in multiline comments 04:31
04:49 c9s joined
rakudo_svn r33695 | allison++ | [pdd22io] Merging the pdd22io_part2 branch into trunk for r32922 to r33687. 05:20
05:25 justatheory joined 05:46 justatheory left 05:47 DJ-DONGDOT joined 06:04 rhr joined 06:12 justatheory joined 06:18 rhr_ left
pugs_svn r24216 | pmichaud++ | [t/spec]: regress array extending and binding tests for rakudo (temporary) 06:34
06:35 DJ-DONGDOT left 06:42 zamolxes left 06:44 spx2 left 06:45 [particle]1 joined 06:46 spx2 joined 06:50 c9s left 06:56 [particle] left
rakudo_svn r33699 | pmichaud++ | Merge rakudo's 'assign' branch back into trunk. 07:00
r33699 | pmichaud++ | List slicing and list assignment now (mostly) work,
r33699 | pmichaud++ | although we temporarily lose array element binding and
r33699 | pmichaud++ | correct array lengths.
pmichaud rakudo: say 'hello';
p6eval rakudo 33698: OUTPUT[hello␤] 07:01
07:12 alester_ left 07:19 meteorjay left 07:26 ashizawa joined
rakudo_svn r33700 | particle++ | [rakudo] slurp('') becomes readall(); bacek++ 07:30
07:33 dukeleto joined 07:44 mberends joined
pugs_svn r24217 | moritz++ | [t/spec] unfudge array_ref.t for rakudo 07:51
r24218 | bacek++ | [spec] Use "lines()" instead of "slurp()" for List context 07:52
r24219 | moritz++ | [t/spec] more S02 unfudges for rakudo 07:53
08:00 bacek left 08:09 dr_df0 joined
dr_df0 rakudo: say 'test'; 08:09
p6eval rakudo 33701: OUTPUT[test␤]
08:10 dr_df0 left
moritz_ rakudo: my ($x, $y) = (4, 5); say $x + $y; 08:10
p6eval rakudo 33701: OUTPUT[0␤]
moritz_ rakudo: my ($x, $y) = (4, 5); say $x; say $y 08:11
p6eval rakudo 33701: OUTPUT[␤␤]
pugs_svn r24220 | moritz++ | [t/spec] unfudge four more files for rakudo 08:14
08:15 zamolxes joined 08:19 DemoFreak joined
rakudo_svn r33702 | pmichaud++ | [rakudo]: Add the @a[] slice (slice with no arguments). 08:30
08:34 dr_df0 joined
dr_df0 hi all 08:34
i've just checked out the latest version of parrot tree 33701 rev
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
dr_df0 at least the Up and Down cursor keys are not working
but ... rakudo has the support for slices ! 08:36
moritz_ irclog.perlgeek.de/parrot/2008-12-09#i_749358
dr_df0 ok 08:40
thanks for info 08:41
08:42 eternaleye left 08:43 dr_df0 left 08:47 ChrisDavaz left 08:53 iblechbot joined
moritz_ rakudo: sub f(@a) { say @a.perl }; f(3) 09:06
p6eval rakudo 33702: OUTPUT[3␤]
moritz_ rakudo: sub f(@a) { @a.WHAT }; say f(3)
p6eval rakudo 33702: OUTPUT[Int␤]
09:23 smtms left 09:30 DemoFreak left 09:37 smg left 09:50 spx2 left 09:52 spx2 joined, bacek joined 09:59 samlh joined 10:04 kane_ joined 10:12 ejs joined 10:16 elmex joined 10:19 jferrero joined 10:26 smtms joined 10:32 eternaleye joined
pugs_svn r24221 | moritz++ | [t/spec] more unfudging, and add tests to passing-arrays.t 10:49
11:02 meppl joined 11:08 smg joined 11:37 justatheory left 11:55 eternaleye left 12:02 zamolxes left 12:03 Lorn joined 12:05 justatheory joined 12:08 zamolxes joined 12:14 buu left 12:15 buu joined
rakudo_svn r33704 | jonathan++ | [rakudo] Update calls to readline for updated Parrot IO. Patch courtesy of bacek++. 12:20
r33705 | jonathan++ | [rakudo] Implement lines method on IO objects and export it. Patch courtesy of bacek++. 12:40
12:43 ashizawa left 12:50 iblechbot left 12:54 buubot left 13:06 buu left, buu joined 13:18 DemoFreak joined 13:30 yahooooo left 13:32 yahooooo joined 13:37 vixey joined 13:50 iblechbot joined
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:54
moritz_ jnthn: S29: " Note: Most users should just let their I/O handles autochomp instead. (Autochomping is the default.) 13:55
"
jnthn: so the test was actually correct. 13:56
jnthn ...so half of S16 is in S29? Wonderful. 13:57
*sigh*
moritz_ jnthn: S16 is nothing you can really rely on :( 13:58
13:58 ruoso joined
ruoso Hello! 13:59
PerlJam hi ruoso.
I notice that p6l is as silent as ever :(
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
r33706 | pmichaud++ | Failure summary:
r33706 | pmichaud++ | S16-filehandles/io_in_while_loops.t aborted 13 test(s)
r33707 | jonathan++ | [rakudo] Make chomp Win32-aware.
r33708 | jonathan++ | [rakudo] Make for =$fh { ... } style loops work.
r33709 | jonathan++ | [rakudo] Add an IO test that we now pass completely to spectest.
pugs_svn r24223 | jnthn++ | [t/spec] Need to learn not to rely on S16 for much... 14:03
14:09 smg left 14:11 iblechbot_ joined 14:12 xinming_ joined 14:13 jferrero left 14:19 xinming_ left
rakudo_svn r33710 | jonathan++ | [rakudo] Implement auto-chomping, as mentioned in S29. 14:20
14:21 jhorwitz joined 14:22 iblechbot left 14:28 ejs left 14:34 dr_df0 joined
dr_df0 hi all 14:34
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␤]
..rakudo 33710: OUTPUT[rtype not set␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤]
..pugs: OUTPUT[abB Cd␤]
dr_df0 this command should return <a B C d>, right?
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␤]
..rakudo 33710: OUTPUT[rtype not set␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤]
..pugs: OUTPUT[a b B C d␤]
14:43 lichtkind joined
pmichaud binding slices isn't supported in rakudo yet. 14:45
and I don't know what pugs is doing there. 14:47
ruoso it's probably turning 1,2 into 2 14:48
and binding the second element to a list
which is then flattened to that result
s/the second/the third/
pugs_svn r24224 | dr_df0++ | spec/S09-subscript_slice/slice.t fudged for rakudo 14:51
ruoso later & 14:53
14:53 ruoso left
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 15:16 simcop2387 left 15:26 c9s joined 15:33 araujo left 15:34 araujo joined
dr_df0 Tene: but it's not binding 15:36
Tene: it's an asignment to selected elements in an array
15:39 smg joined 15:44 dr_df0 left 15:46 smg left
pugs_svn r24225 | jnthn++ | [t/spec] Unfudge tests for reduction meta-operator with chaining comparrison ops for Rakudo. 15:56
rakudo_svn r33713 | jonathan++ | [rakudo] Make reduction meta-operator work with chaining comparrison operators. 16:00
16:09 Southen left 16:10 xinming_ joined 16:12 stephens joined 16:25 xinming_ left 16:28 xinming_ joined
moritz_ rakudo: say "yes" if 2 < 4 < 5 16:40
p6eval rakudo 33713: OUTPUT[yes␤]
[particle]1 joy. 16:41
moritz_ rakudo: say "yes" if [<] 2, 4, 5
p6eval rakudo 33713: OUTPUT[yes␤]
16:41 [particle]1 is now known as [particle]
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)␤]
moritz_ rakudo: say "yes" if [===] 1, 1, 1
p6eval rakudo 33713: OUTPUT[yes␤]
moritz_ rakudo: say "yes" if [===] 1, 1, 2
p6eval rakudo 33713: RESULT[Bool::False]
moritz_ rakudo: my $x; my $y say "yes" if [=:=] $x, $x, $x
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)␤]
[particle] oh, that's totally perlish! i'm giddy.
rakudo: my $x; my $y; say "yes" if [=:=] $x, $x, $x 16:42
p6eval rakudo 33713: OUTPUT[yes␤]
[particle] rakudo: my $x; my $y; say "yes" if [=:=] $x, $x, $y
p6eval rakudo 33713: RESULT[Bool::False]
moritz_ that's what I wanted to do :-)
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)␤]
moritz_ rakudo: my $x; my $y := $x; say "yes" if [=:=] $x, $x, $y
p6eval rakudo 33713: OUTPUT[yes␤]
moritz_ gotta run to catch the bus, bbl&
16:49 hercynium joined 16:55 mberends left
rakudo_svn r33714 | pmichaud++ | [rakudo]: Set postcircumfix:<[ ]> to also be callable as a function 17:00
r33714 | pmichaud++ | * This should help with other HLLs that don't provide a method form.
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
ruoso Hello! 17:07
17:16 smg joined
rakudo_svn r33716 | pmichaud++ | [rakudo]: Update gen_metaop_pir.pl to generate the unicode forms of sub/hyper. 17:20
[particle] rakudo: @('a'..'z').[<18 1 11 21 4 15> >>-<< [xx] 1, 6].say; 17:28
p6eval rakudo 33715: OUTPUT[rakudo␤]
[particle] rakudo: @('a'..*).[<18 1 11 21 4 15> >>-<< [xx] 1, 6].say;
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, malfx left
moritz_ rakudo: my ($x, $y) = (3, 4); say $x; 17:34
p6eval rakudo 33716: OUTPUT[␤]
17:45 smg left 17:53 pbuetow joined 17:57 schmalbe joined
moritz_ can prefix ops have an adverb? 18:09
and if so, would it go before or after the operand?
18:17 adc_penner2 joined 18:22 bacek_ joined 18:23 ejs joined 18:24 bacek left
rakudo_svn r33719 | jonathan++ | [rakudo] Add the various dwimmy variants of infix hyperoperators. 18:30
pmichaud after
moritz_ that's good 18:31
[particle] rakudo: @('a'..'z').[<18 1 11 21 4 15> >>->> [xx] 1].say;
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)␤]
[particle] rakudo: @('a'..'z').[<18 1 11 21 4 15> >>->> 1].say;
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)␤]
[particle] still have to wait two revs...
18:31 schmalbe left
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;
p6eval rakudo 33717: OUTPUT[rakudo␤]
[particle] jnthn++ 18:33
pmichaud so very cool. Now if only we could get the unicode forms to work.
[particle] moritz++ for not stealing my thunder :)
jnthn I do now have the fun that I want tests for hyper ops. 18:36
But the unicode lots are nicely interspersed between the ASCII lot.
Which would make it a nightmare to fudge. 18:37
moritz_ jnthn: maybe I can fiddle them out for you
jnthn Anyone object to a little re-arranging, or anyone fancy some fudging?
moritz_ go right ahead
jnthn moritz_: If you can do that, would be wonderful.
Oh, OK. :-)
jnthn wants to review the tests anyway.
moritz_ I don't mind either way
I'm just not into the hyper ops right now
jnthn Since things like auto-extending into nested arrays also works.
say (1,[2,[3,4],5],6) <<*>> 2; # works 18:38
moritz_ is duly impressed
[particle] rakudo: say (1,[2,[3,4],5],6) <<*>> 2;
p6eval rakudo 33717: OUTPUT[24 6 8 1012␤]
moritz_ rakudo: say ((1,[2,[3,4],5],6) <<*>> 2).perl 18:39
p6eval rakudo 33717: OUTPUT[[2, [4, [6, 8], 10], 12]␤]
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:40
18:49 rindolf joined 18:50 bacek_ left, kane_ left 18:58 jferrero joined 19:00 ejs left, justatheory left, lizsac left, p6eval left, zostay left, TimToady left, dalek left 19:01 lichtkind left, xuser left, wolverian left, charsbar left, cognominal left, araujo left, japhb left, clkao left, ft left, LCamel_ left, tcliou|A1ay left, thepler left, pjcj left, jferrero left, alester left, alech left 19:02 PerlJam left, Lunchy left, Khisanth left, f00li5h left, DemoFreak left, Lorn left, smtms left, Ehtyar left, tewk left, gbacon left, lisppaste3 left, hercynium left, zamolxes left, spx2 left, hcchien left, lambdabot left, szbalint left, nnunley left, ewilhelm left, preflex left, allbery_b left, IRSeekBot left, ingy left, pnu_ left, SamB left, jjore left, silug left, pbuetow left, iblechbot_ left, elmex left, [particle] left, ryanc left, mj41 left, ilbot2 left, jrockway left, yves left, shachaf left, jnthn left, StephenPollei left, ruoso left, xinming_ left, c9s left, kanru left, nothingmuch left, drbean left, c1sung left, agentzh left, OuLouFu left, rindolf left, yahooooo left, Patterner left, Aisling left, sunnavy left, integral left, rhr left, pasteling left, spinclad left, kcwu left, mtve left, cls_bsd left, stephens left, buu left, jan_ left, diakopter left, Jedai left, Gothmog_ left, pmichaud left, Grrrr left 19:03 PZt left 19:05 TimToady joined, ejs joined, zostay joined, p6eval joined, lizsac joined, dalek joined, irc.freenode.net sets mode: +o TimToady
moritz_ rakudo: for (a => 2, b =>1).kv { .perl.say } 19:05
rakudo: say "alive" 19:06
wtf?
rakudo: say "test" 19:07
19:09 ejs left, lizsac left, p6eval left, TimToady left, dalek left, zostay left 19:12 jhorwitz left, TimToady joined, lichtkind_ joined, p6eval joined, jiing joined, dalek joined, lizsac joined, zostay joined, ejs joined, jhorwitz joined, jferrero joined, rindolf joined, pbuetow joined, ruoso joined, hercynium joined, xinming_ joined, stephens joined, araujo joined, c9s joined, alester joined, lichtkind joined, iblechbot_ joined, yahooooo joined, DemoFreak joined, buu joined, zamolxes joined, Lorn joined, smtms joined, elmex joined, spx2 joined, [particle] joined, rhr joined, kanru joined, hcchien joined, Patterner joined, ft joined, alech joined, ryanc joined, cognominal joined, nothingmuch joined, clkao joined, mj41 joined, silug joined, xuser joined, lambdabot joined, jan_ joined, drbean joined, Ehtyar joined, allbery_b joined, ewilhelm joined, szbalint joined, irc.freenode.net sets mode: +o TimToady, nnunley joined, preflex joined, Aisling joined, IRSeekBot joined, LCamel_ joined, c1sung joined, tcliou|A1ay joined, tewk joined, pasteling joined, ilbot2 joined, gbacon joined, japhb joined, ingy joined, wolverian joined, PerlJam joined, charsbar joined, f00li5h joined, diakopter joined, shachaf joined, lisppaste3 joined, Lunchy joined, jrockway joined, pnu_ joined, thepler joined, yves joined, spinclad joined, agentzh joined, SamB joined, Jedai joined, Gothmog_ joined, OuLouFu joined, jjore joined, Khisanth joined, pjcj joined, pmichaud joined, jnthn joined, StephenPollei joined, kcwu joined, BinGOs joined, felipe joined, edenc joined, AzureStone_ joined, perlbot joined, r0bby joined, Maddingue joined, kolibrie joined, Guest16015 joined, Trey joined, idemal joined, jiing_ joined, literal joined, Tene joined, Caelum joined, avar joined, baest joined, szabgab joined, sunnavy joined, cls_bsd joined, integral joined, mtve joined, Grrrr joined 19:13 buubot joined, zamolxes left, lichtkind left, lichtkind_ is now known as lichtkind 19:17 simcop2387 joined
avar rakudo: [<18 1 11 21 4 15> >>-<< [xx] 1, 6] 19:20
p6eval rakudo 33721: RESULT[[17, 0, 10, 20, 3, 14]]
[particle] avar: you can deobfuscate with >>->> 1 instead 19:21
partially deobfuscate, anyway :) 19:22
19:24 vixey left 19:26 vixey joined 19:27 liufeng joined
rakudo_svn r33722 | pmichaud++ | [rakudo]: Clean up some minor errors in hyperop generator. 19:30
pugs_svn r24226 | moritz++ | [t/spec] clean up hyper.t a bit, and fudge some tests for rakudo 19:31
r24226 | moritz++ | (unfurtunately the fudging added more visual clutter)
Tene why [xx] 1, 6 instead of 1 xx 6? 19:32
pmichaud both work.
first might be slightly more readable
second requires parens
(1 xx 6)
because xx is lower precedence than >>-<<
pugs_svn r24227 | moritz++ | [t/spec] group tests in hyper.t by Unicodeness to avoid too many fudge markers 19:35
rakudo_svn r33723 | moritz++ | [rakudo] add hyper tests to t/spectest.data 19:40
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 19:46 bacek joined
masak moritz_: I'm not sure if I will have time to contribute, but I'm definitely interested in discussing S24. 19:46
moritz_ masak: nopaste.snit.ch/14884 is my current "outline" 19:56
pmichaud I'm also interested in S24
rindolf rakudo: 1 xx 6 19:57
p6eval rakudo 33723: RESULT[[1, 1, 1, 1, 1, 1]]
rindolf rakudo: 1 x 6
p6eval rakudo 33723: RESULT["111111"]
moritz_ the syntax was discussed with TimToady a few weeks or months ago
any comments and questions are welcome 19:58
masak it's... unorthodox.
moritz_ aye ;-)
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...
masak that's true.
moritz_ masak: so the current fallback is ok($a =:= $b, 'explanation')
masak: which suffers from very bad diagnostics
masak yeah, suboptimal.
moritz_ so if a test went wrong, it's not easy to see what these two values where 20:00
so the idea is that we already have many "test operators", ie those that return a boolean value
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.
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:01 liufeng left
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. :)
something like `is( $a eq $b, ...)` 20:03
moritz_ masak: in the best of worlds that would be ok(), not is()
masak hm, yes.
moritz_ 'is' is already used in too many places inthe language
masak aye. 20:04
moritz_ masak: problem is that macros are hard (for the compiler), and testing should be easy
masak and having both 'is' and 'eq' would be tautological.
moritz_: why is that a problem?
compilers should do much of the heavy lifting.
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.
...at least if it's treated as an ordinary sub.
20:06 liufeng joined
masak (but I'm on shaky ground here. I don't really know how macros will work.) 20:06
moritz_ you're right on this one... 20:07
masak apart from the kvetch about :ok being pushed out towards the insignificant right, I have no complaints :) 20:08
moritz_ masak: we're discussed that, and somehow it was discarded. But I can't remember what exactly the killer argument was...
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 20:10 lichtkind_ joined
masak a more generic way? than what? 20:10
moritz_ masak: than declaring a macro
somethinig like 'sub ok($bool is AST, $msg?)' 20:11
masak ah.
have you considered naming 'tests-done' just 'done'? 20:12
moritz_ I think that's a bit too generic
but otoh plan() is pretty generic too 20:13
masak not to mention is(), ok()...
moritz_ well, that's another point for using adverbs: they don't pollute the sub namespace
masak 'tests-done()' is slightly ambiguous.
moritz_ right now that's not a problem because is(), ok() etc. are only imported when you 'use Test;' 20:14
[particle] how about a magical, like $?PLAN 20:18
moritz_ [particle]: I don't want too many variables involved 20:19
I don't even like the currently proposed $*TEST_BACKEND
but I can't think of a better way
[particle] sure, but perhaps better a magical var than a sub that can be overridden 20:20
unless perhaps it becomes Test::plan()
masak [particle]: as long as the usual scoping rules apply, I don't see a problem.
moritz_ [particle]: if plan() class $*TEST_BACKEND.plan by default, you can simply override it by changing $*TEST_BACKEND
s/class/calls/ 20:21
20:22 bacek left
[particle] 2 :plan; :) 20:23
moritz_ cries in agony
masak :) 20:25
it's consistent, though.
[particle] yep. that's saying something about the rest, perhaps. :) 20:26
masak in the kindest way possible.
pmichaud the issue with macros is that it could be hard to analyze anything more than simple operators
masak aye.
pmichaud which might simply mean "okay, don't analyze in that case" 20:27
but still it can complicate the implementation a fair bit.
20:27 ejs left
masak difficult to provide coverage in all situations. 20:27
pugs_svn r24228 | jnthn++ | [t/spec] Correct some and unfudge some hyper spec tests.
moritz_ I'm collecting the pros and cons for both approaches right now
pmichaud istr that TimToady especially liked the end-weight of :ok on the right
[particle] istr the same
moritz_ that doesn't mean that we have to like it ;-) 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.
it has worked well in practice, and it's relatively easy to understand and implement
masak nod.
pmichaud the default builtins aren't supposed to be "everything you'd ever want in a Testing library" -- that's what modules are for.
this is just supposed to be "a good set of defaults for testing."
moritz_ and "easily extensible" 20:29
pmichaud that too.
moritz_ we shouldn't forget that there are other thiings than TAP, for example
masak is the adverb approach easily extensible?
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"
moritz_ masak: I think so, yes 20:30
masak moritz_: how?
moritz_ masak: by installing more multis (sub infix:<eq>($a, $b, :$ok)) and normal subs 20:31
and the flexibility is mainly a feature of how easy it is to swap the backend
[particle] can an adverb be mixed in as a role? 20:32
moritz_ dunno
[particle] multi infix:<eq>(Any $left, Any $right) gets Testy { ... } 20:33
ruoso .oO( what is so badly wrong about Test.pm? ) 20:35
rindolf ruoso: perl5's Test.pm?
ruoso no, the idea of a module that provides a set of functinos to do testing 20:36
and that's all
moritz_ ruoso: for example is() is badly abused right now, and that won't change easily
20:38 lichtkind left
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
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
pmichaud actually, I'm proposing that is() always use value equivalence.
ruoso moritz_, and why doesn't the "ok" function of Test.pm analyse the AST of the way its arguments are built?
[particle] value_is would be more clear, then
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...'
pmichaud particle: I'm saying it should compare using infix:<eqv>
ruoso moritz_, they usually don't
moritz_, but they ould
moritz_ pmichaud: value equivalence can be surprisngly tricky
ruoso *could
pmichaud that would mean that is() also automatically has "deeply" semantics.
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.
ruoso moritz_, uh?
masak pmichaud: I like that.
ruoso moritz_, Perl 6 is supposed to be able to introspect into the code itself
pmichaud yes, it seems natural.
moritz_ ruoso: but not at the sub level
pmichaud so, is($a, $b, 'foo') returns "ok" if $a eqv $b
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.
masak pmichaud: what happens with `5 eqv "5"` ?
ruoso 5 eqv '5' should be true 20:43
moritz_ no.
ruoso I thnk
moritz_ Int is not eqv Str
pmichaud 5 eqv '5' is false, because they don't have the same type.
ruoso hmm...
masak that might be a slight disadvantage.
pmichaud why? we can easily cast in the test
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.
moritz_: not to me. it's explicit.
and not too long.
pmichaud I don't think there will be a lot of casting of both operands.
we already see things like $foo eq $bar and $foo == $bar, which is the same thing but with a different sort of cast.
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
moritz_ I'd like to stick to that philosphy 20:45
pmichaud I think that philosophy might be changing
comes with the territory of introducing the prefix:<...> operators for coercion
masak moritz_: but this is a call to a test sub, not an operator. different requirements.
20:45 smg joined
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
pmichaud moritz_: if you want to use the ops, you can already do that with ok()
ok($foo eq $bar, '...')
moritz_ pmichaud: right. but it's not as convenient, so it's not used very much.
pmichaud that's at least as clear (or better than) is_eq($foo, $bar, '...')
it's not as convenient because people like to do is($foo, $bar, '...') 20:47
but then we have to worry about what type of comparison 'is' is performing
using 'eqv' means that it does the "natural" sort of comparison
masak moritz_: did anyone consider calling the adverb :test instead? feels a bit more spot-on than :ok for some reason.
pmichaud mmmm, :test is nice too.
good suggestion. 20:48
ruoso masak, :assert would be more sane, than
masak ruoso: no, assert has slightly other connotations for me.
moritz_ ruoso: :assert implies throwing an exception on violation
masak aye.
pmichaud same here, I think of assert as throwing exceptions.
ruoso er...
perfect
CONTROL exceptions
:)
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
pmichaud: I also thing that correct eqv implementation is non-trivial
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...
moritz_ s/so we/so if we/
pmichaud moritz_: I disagree (more)
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
pmichaud so implementation difficulty is only an issue when bootstrapping
but during bootstrap, it's okay to "cheat" and have eqv do string comparison semantics
or to otherwise special-case eqv enough to do whatever you need to pass tests
20:51 Lorn left
masak why is eqv difficult to implement? 20:51
[particle] sub infix:eqv(...) is instead { ... } 20:52
pmichaud or even to special-case is() during bootstrapping
ruoso wouldn't it be sane to have is($a,$b,'...') to perform a ~~ instead of a eqv ?
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
pmichaud ruoso: we thought about that, but that actually invites all sorts of comparisons that aren't precise
[particle] p6 is very different from p5 in that all the dwimminess is in one op, ~~
pmichaud moritz_: that will be true regardless
moritz_ ruoso: ~~ does too much magic (for example sub calls, regex matches etc)
[particle] everywhere else, p6 is much more about precision
20:53 bacek left
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
I don't know that the test suite itself needs to dictate that
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
or, perhaps I did, but it just does string semantics for now. :-P :-P
masak heh
moritz_ rakudo: say 1 eqv 1
p6eval rakudo 33724: OUTPUT[Could not find non-existent sub infix:eqv␤current instr.: '_block11' pc 27 (EVAL_13:17)␤]
pmichaud I can fix that quickly :-)
moritz_ well, even $a.perl eq $b.perl isn't too bad an approximation 20:55
it will fail for hashes, but is quite OK otherwise
ruoso I wonder if the test module couldn't look into the actual code that was "asserted" and provide the desired error message ?
pmichaud right, so why not just have eqv do that approximation?
ruoso $a eq $b :assert '$a should be string-equal to $b'
[particle] s/assert/test/ # for my taste
moritz_ ruoso: that was TimToady's proposal
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
pmichaud $a eq $b :test
moritz_ (IMHO :ok and :test are both OK, if we go that way=
s/=/)/
ruoso (I really like :assert)
pmichaud (results in "ok ### - 1 should be eq 1" in output)
ruoso (and yes, it throws an exception...)
[particle] assert screams compile-time failure to me
moritz_ ruoso: I think you're the only one here ;) 20:57
ruoso but anyway....
[particle] should .perl give type info when it's ambiguous?
Mapping.new( 'a' => 1 );
pmichaud .perl should give whatever is needed to recreate the value in Perl
ruoso what would '$a eq $b :test 'This is a test'' imply in terms of the eq operator? 20:58
moritz_ ruoso: a 'mutli infix:<eq>($a, $b, :$test)'
pmichaud ruoso: that the operator should generate an appropriate testing diagnostic
[particle] or { 'a' => 1 }.Mapping
21:00 smg left
ruoso having to define additional arguments in 'eq' is not that nice 21:00
moritz_ ruoso: they can be autogenerated
masak moritz_: can they be autogenerated and still provide precise diagnostics? 21:01
[particle] yes, as long as .perl is precise enough
masak hm.
21:02 wastrel joined
moritz_ masak: I'd expect 98% to be autogenerated and 2% to be hand written for better diagnostics 21:03
for example for =:= the default output would be pretty meaningless
and for ~~
masak aye. 21:04
ruoso hmm... the idea of an additional argument to the ops really looks bad
masak actually, I'm warming up to the idea.
but I'd prefer if :ok were :test.
pmichaud for ~~ the diagnostics can be pretty good, since it knows the type of its rhs 21:05
it can say what kind of match it thought it was doing :-)
masak that'd be awesome.
moritz_ pmichaud: yes, but not the autogenerated diagnostics that other ops like eq and == use 21:06
pmichaud moritz_: agreed.
moritz_ anyway, you've given me much food for thought, thanks masak, pmichaud, [particle] and ruoso 21:07
masak np. 21:08
pmichaud I know that chromatic also wanted to be heavily involved in that synopsis 21:09
moritz_ I'm sure I won't reject his input ;-) 21:10
I'd like to put my thoughts to a wiki page, but not perlfoundation.org (I hate socialtext) - any recommendations? 21:11
masak wishes he could recommend one particular wiki more whole-heartedly 21:14
moritz_ ;-)
masak we really need that server-side upgrade soon. 21:15
moritz_ get a bigger machine? ;-)
21:16 masak left, xuser left, wolverian left, charsbar left, cognominal left, BinGOs left, japhb left, Maddingue left, araujo left, pjcj left, thepler left, ft left, jiing left, clkao left, p6eval left, LCamel_ left, perlbot left, AzureStone_ left, tcliou|A1ay left, Lunchy left, Khisanth left, alech left, avar left, f00li5h left, PerlJam left, alester left, jferrero left, TimToady left, lizsac left, zostay left, dalek left, buubot left, DemoFreak left, smtms left, gbacon left, tewk left, Ehtyar left, lisppaste3 left, nnunley left, szbalint left, hercynium left, spx2 left, hcchien left, preflex left, allbery_b left, ewilhelm left, lambdabot left, pnu_ left, jjore left, SamB left, ingy left, IRSeekBot left, silug left, kolibrie left, jnthn left, yves left, ryanc left, [particle] left, pbuetow left, Guest16015 left, jrockway left, shachaf left, ilbot2 left, Trey left, StephenPollei left, mj41 left, elmex left, iblechbot_ left, lichtkind_ left, Southen left, vixey left, idemal left, jhorwitz left, nothingmuch left, edenc left, xinming_ left, baest left, OuLouFu left, Caelum left, literal left, c9s left, drbean left, c1sung left, wastrel left, agentzh left, kanru left, ruoso left, liufeng left, szabgab left, Patterner left, Aisling left, yahooooo left, rindolf left, sunnavy left, Tene left, integral left, simcop2387 left, spinclad left, rhr left, mtve left, kcwu left, jiing_ left, cls_bsd left, pasteling left, Grrrr left, Gothmog_ left, Jedai left, diakopter left, jan_ left, stephens left, buu left, r0bby left, felipe left, pmichaud left 21:18 TimToady joined, wastrel joined, lichtkind_ joined, Southen joined, liufeng joined, masak joined, vixey joined, simcop2387 joined, buubot joined, p6eval joined, jiing joined, integral joined, mtve joined, Grrrr joined, cls_bsd joined, sunnavy joined, szabgab joined, baest joined, avar joined, Caelum joined, Tene joined, literal joined, jiing_ joined, idemal joined, Trey joined, Guest16015 joined, kolibrie joined, Maddingue joined, r0bby joined, perlbot joined, AzureStone_ joined, edenc joined, felipe joined, BinGOs joined, kcwu joined, StephenPollei joined, jnthn joined, pmichaud joined, pjcj joined, Khisanth joined, jjore joined, OuLouFu joined, Gothmog_ joined, Jedai joined, SamB joined, agentzh joined, spinclad joined, yves joined, thepler joined, pnu_ joined, irc.freenode.net sets mode: +o TimToady, jrockway joined, Lunchy joined, lisppaste3 joined, shachaf joined, diakopter joined, f00li5h joined, charsbar joined, PerlJam joined, wolverian joined, ingy joined, japhb joined, gbacon joined, ilbot2 joined, pasteling joined, tewk joined, tcliou|A1ay joined, c1sung joined, LCamel_ joined, IRSeekBot joined, Aisling joined, preflex joined, nnunley joined, szbalint joined, ewilhelm joined, allbery_b joined, Ehtyar joined, drbean joined, jan_ joined, lambdabot joined, xuser joined, silug joined, mj41 joined, clkao joined, nothingmuch joined, cognominal joined, ryanc joined, alech joined, ft joined, Patterner joined, hcchien joined, kanru joined, rhr joined, [particle] joined, spx2 joined, elmex joined, smtms joined, buu joined, DemoFreak joined, yahooooo joined, iblechbot_ joined, alester joined, c9s joined, araujo joined, stephens joined, xinming_ joined, hercynium joined, ruoso joined, pbuetow joined, rindolf joined, jferrero joined, jhorwitz joined, zostay joined, lizsac joined, dalek joined
[particle] moritz_: how about trac wiki at pugscode, or at parrot? 21:19
21:19 Jedai left
moritz_ [particle]: that might be better. I hope the parrot folks don't mind it if I abuse their wiki a bit 21:20
21:23 Ehtyar left, DemoFreak left, smtms left, gbacon left, tewk left, lisppaste3 left, buubot left, szbalint left, nnunley left, hercynium left, ewilhelm left, hcchien left, preflex left, spx2 left, lambdabot left, allbery_b left, pnu_ left, jjore left, ingy left, SamB left, IRSeekBot left, silug left, pbuetow left, [particle] left, jnthn left, kolibrie left, Guest16015 left, mj41 left, iblechbot_ left, yves left, shachaf left, jrockway left, StephenPollei left, ilbot2 left, elmex left, Trey left, ryanc left, jhorwitz left, lichtkind_ left, xinming_ left, idemal left, OuLouFu left, baest left, edenc left, Southen left, agentzh left, c1sung left, c9s left, nothingmuch left, literal left, kanru left, wastrel left, Caelum left, ruoso left, drbean left, vixey left, xuser left, masak left, wolverian left, charsbar left, cognominal left, BinGOs left, japhb left, Maddingue left, araujo left, thepler left, pjcj left, p6eval left, jiing left, ft left, AzureStone_ left, clkao left, perlbot left, LCamel_ left, tcliou|A1ay left, Lunchy left, Khisanth left, jferrero left, PerlJam left, avar left, alester left, alech left, f00li5h left, diakopter left, Gothmog_ left, Grrrr left, stephens left, jan_ left, pmichaud left, buu left, felipe left, r0bby left, szabgab left, liufeng left, Aisling left, yahooooo left, sunnavy left, Patterner left, rindolf left, Tene left, integral left, rhr left, spinclad left, jiing_ left, cls_bsd left, kcwu left, pasteling left, mtve left, simcop2387 left, lizsac left, TimToady left, dalek left, zostay left 21:25 adc_penner2 left 21:30 TimToady joined, [particle]1 joined, adc_penner joined, Jedai joined, wastrel joined, lichtkind joined, Southen joined, liufeng joined, masak joined, vixey joined, simcop2387 joined, buubot joined, p6eval joined, jiing joined, dalek joined, lizsac joined, zostay joined, jhorwitz joined, jferrero joined, rindolf joined, pbuetow joined, hercynium joined, xinming_ joined, stephens joined, araujo joined, c9s joined, alester joined, iblechbot_ joined, yahooooo joined, DemoFreak joined, buu joined, smtms joined, elmex joined, spx2 joined, [particle] joined, rhr joined, kanru joined, hcchien joined, Patterner joined, ft joined, alech joined, ryanc joined, cognominal joined, nothingmuch joined, clkao joined, mj41 joined, silug joined, xuser joined, lambdabot joined, irc.freenode.net sets mode: +o TimToady, jan_ joined, drbean joined, Ehtyar joined, allbery_b joined, ewilhelm joined, szbalint joined, nnunley joined, preflex joined, Aisling joined, IRSeekBot joined, LCamel_ joined, c1sung joined, tcliou|A1ay joined, tewk joined, pasteling joined, ilbot2 joined, gbacon joined, japhb joined, ingy joined, wolverian joined, PerlJam joined, charsbar joined, f00li5h joined, diakopter joined, shachaf joined, lisppaste3 joined, Lunchy joined, jrockway joined, pnu_ joined, thepler joined, yves joined, spinclad joined, agentzh joined, SamB joined, Gothmog_ joined, OuLouFu joined, jjore joined, Khisanth joined, pjcj joined, pmichaud joined, jnthn joined, StephenPollei joined, kcwu joined, BinGOs joined, felipe joined, edenc joined, AzureStone_ joined, perlbot joined, r0bby joined, Maddingue joined, kolibrie joined, Guest16015 joined, Trey joined, idemal joined, jiing_ joined, literal joined, Tene joined, Caelum joined, avar joined, baest joined, szabgab joined, sunnavy joined, cls_bsd joined, integral joined, mtve joined, Grrrr joined 21:32 rindolf left
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␤]
..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
.."him...
masak pmichaud++
wastrel
masak wastrel: ␤ 21:38
wastrel i don't know what it is but it is beautiful
pmichaud it's a box on my screen :-(
masak wastrel: it's a newline symbol :)
wastrel some utf8 abomination
PerlJam it's a little diagonal NL on mine 21:39
masak here too.
wastrel oic N L
www.fileformat.info/info/unicode/ch.../index.htm oui?
doesn't look like that on mine :] maybe font too small
PerlJam that's the one
21:39 [particle] left
moritz_ trac.parrot.org/parrot/wiki/PerlSixTesting this is where I put down my thoughts on S24 for now 21:49
[particle]++ for suggesting the parrot wiki ;)
22:01 KriZ joined
KriZ hi 22:01
moritz_ hi there
pugs_svn r24229 | moritz++ | [t/spec] tests for === and =:= and their negated forms inside meta ops 22:02
masak hi, KriZ 22:04
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
can u help me ?
22:05 Hinrik joined
masak KriZ: you might try a Perl 5 forum, like #perl. 22:05
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␤]
..rakudo 33726: OUTPUT[1␤]
..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␤]
masak KriZ: this is #perl6, for discussing Perl 6, the upcoming major Perl version.
rakudo: does Perl 6 rock".split(" ").sort[1,0,2,3].perl
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)␤]
Hinrik rakudo: my $var--iable = 1; say $var--iable
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)␤]
masak oops
rakudo: say "does Perl 6 rock".split(" ").sort[1,0,2,3].perl
p6eval rakudo 33726: OUTPUT[["Perl", "6", "does", "rock"]␤]
KriZ ok thank you for your help i will try the perl 5 forom
bye ;)
22:07 KriZ left
moritz_ Hinrik: - and ' are only allowed in identifies if there are word characters on both sides 22:07
masak KriZ: good luck! dang.
moritz_ rkaudo: my $x-4; # should bail out
[particle]1 moritz_: and only one-at-a-time it seems
22:07 [particle]1 is now known as [particle]
moritz_ [particle]1: sure, since - isn't a word charcter 22:07
rakudo: my $x-4; # should bail out
p6eval rakudo 33726: RESULT[-4]
moritz_ or that
[particle] rakudo: my $don't-mess-with-me; 22:08
p6eval rakudo 33726: RESULT[undef]
[particle] rakudo: my $don't-mess-with--me;
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)␤]
[particle] that's a bit limiting
moritz_ [particle]: but sane in not generating variables that look like substractions 22:09
[particle] i'm not using numbers anywhere
just talking about the lack of ablitity to use a--b
or c''d
not sure it's good or bad, just noticing, thanks to Hinrik++ 22:10
it should be tested, anyway
22:10 wastrel left
moritz_ aye 22:11
22:15 justatheory joined
pugs_svn r24230 | moritz++ | [t/spec] tests for [eq], [ne] 22:15
22:15 jferrero left, PZt joined
jnthn moritz_: Are those passing ones? 22:15
moritz_ jnthn: aye
jnthn Nice. 22:16
[particle] has autounfudge been run recently?
moritz_ even the tests for [!=:=] work, the most obscure-lookiing comparison operator ever ;-)
22:16 jhorwitz left
moritz_ [particle]: yes, after the assign branch merge 22:16
aka "today" 22:17
22:18 justatheory left
jnthn That looks...so odd. :-) 22:22
masak [!=:=] means 'test that adjacent items are not id-equal to each other'? 22:23
moritz_ masak: yes
masak yuck :)
moritz_ masak: if you mean 'container identity' with 'id-equval'
s/v//
masak let's say I do.
moritz_ ;-)
[particle] :) 22:24
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)
p6eval rakudo 33727: OUTPUT[32␤]
moritz_ rakudo: sub pow2($x) { [*] (1 xx $x >>*>>2 ) }; say pow2(5)
p6eval rakudo 33727: OUTPUT[1␤]
moritz_ rakudo: sub pow2($x) { [*] ((1 xx $x)>>*>>2 ) }; say pow2(5) 22:26
22:26 justatheory joined
p6eval rakudo 33727: OUTPUT[32␤] 22:26
moritz_ rakudo: sub pow2($x) { [*](1 xx $x)>>*>>2 }; say pow2(5)
p6eval rakudo 33727: OUTPUT[32␤]
moritz_ rakudo: sub pow2($x) [*](1 xx $x)>>*>>2}; say pow2(5)
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)␤]
[particle] wow. that's overkill.
moritz_ rakudo: sub pow2($x){[*](1 xx $x)>>*>>2}; say pow2(5)
p6eval rakudo 33727: OUTPUT[32␤]
moritz_ now somebody say you can't do obfu in Perl 6 ;-)
rakudo: sub pow2($x){[*](1 xx$x)>>*>>2}; say pow2(5)
p6eval rakudo 33727: OUTPUT[32␤]
jnthn moritz_: Stop trying to break it! :-P
But, neat. :-) 22:27
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" ;-)
[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)␤]
[particle] oops
moritz_ :base(2)
[particle] rakudo: sub powx($x, :$base = 1) { [*] (1 xx $x) >>*>> $base}; say powx(:base => 2, 5);
p6eval rakudo 33727: OUTPUT[get_integer() not implemented in class 'Perl6Pair'␤current instr.: 'infix:xx' pc 16733 (src/builtins/op.pir:224)␤]
masak ooh!
[particle] feh.
masak a bug! :)
moritz_ [particle]: :base(2) or base => 2
not :base => 2
masak but still.
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);
p6eval rakudo 33727: OUTPUT[32␤]
[particle] rakudo: sub powx($x, :$base = 1) { [*] (1 xx $x) >>*>> $base}; say powx(5);
rakudo_svn r33728 | jonathan++ | [rakudo] First cut of initializing attributes at the point of declaration (has $.x = 42).
p6eval rakudo 33727: OUTPUT[1␤]
22:30 smg joined
[particle] (optional args with defaults)++ 22:30
22:31 kanru left
moritz_ well, it's not Perl 6 release today, but it still feels a bit like christsmas. 22:31
jnthn++ pmichaud++
22:32 kanru joined, smg left 22:33 adc_penner left
masak indeed. 22:34
Hinrik moritz_: actually, S02 says "An identifier may also contain isolated apostrophes or hyphens provided the next character is alphabetic." 22:36
ah, since it has to start with an alphabetic one it effectively requires alphabetical chars on both sides
[particle] that implies plural, and things like a'-'-'''--'--''-'-b
hrmm, "isolated" 22:37
moritz_ if you think the language isn't clear, look at how STD.pm does it
[particle] that *definitely* means single 22:38
a--b is *not* allowed.
moritz_ agrees
and neither is a-'b
[particle] agreed
masak moritz_: FYI, I'm slowly getting acquainted with the contents of t/oo 22:51
moritz_: what do you propose one do with the tests containing the keyword 'submethod', which is not implemented by Rakudo yet? 22:52
22:53 justatheory left
[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
they may be more current than t/oo
moritz_ masak: just move them without fudging them 22:54
masak moritz_: ok.
moritz_ masak: if they are in t/spec/, they have the "hopefully reviewed" status
masak moritz_: I'll take a close look at them first, then.
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.
[particle] ha.
masak basically, I tried to see if the tests would pass if I just treated a submethod as a method. 22:56
(they didn't)
then I tried treating it as a sub. that didn't work either. :)
jnthn masak: It needs changes to dispatching. 22:59
masak jnthn: aye. so I gathered.
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.
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
r33732 | moritz++ | [rakudo] tools/autounfudge.pl: add a --section option to for example only
r33732 | moritz++ | process S12 tests
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
[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)␤]
[particle] few revs behind :(
23:11 masak left 23:14 iblechbot_ left
pugs_svn r24232 | jnthn++ | [t/spec] Unskip/untodo some tests for the cross meta-op. 23:19
rakudo_svn r33734 | jonathan++ | [rakudo] infix:X ended up giving a result that flattened, which meant we got wrong results. 23:20
r33735 | jonathan++ | [rakudo] infix:X,X is just infix:X.
23:22 ruoso joined
pugs_svn r24233 | moritz++ | [t/spec] update fudge reasons in cross-metaop.t 23:26
23:31 hercynium left
moritz_ 4886 passing tests, time to call it a day. 23:35
jnthn Ooh, working towards 5,000. 23:37
MT can be a piece of crap at times... 23:38
23:38 liufeng left 23:39 thepler_ joined 23:44 thepler__ joined 23:46 pbuetow left
meppl good night 23:46
23:47 thepler left 23:48 thepler_ left 23:49 meppl left 23:56 km2 joined
pmichaud pugs: say ((1,2), (3,4)).elems; 23:57
p6eval pugs: OUTPUT[4␤]
23:59 thepler_ joined, vixey left