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 setcurrent 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 setcurrent 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 objectcurrent 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 valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse 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:eqvcurrent 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
|