»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
sorear oh, jnthn out 00:02
TimToady: ping
00:06 icwiener joined
dalek ast: 49c50e0 | sorear++ | S05-grammar/protoregex.t:
[S05-grammar/protoregex.t] Use current syntax
00:06
00:06 mdxi joined, mdxi left
dalek ecza: a986786 | sorear++ | lib/Cursor.cs:
Fix a very strange infinite loop in protoregex handling
00:07
00:08 fridim_ left
dalek ecza: 96c7512 | sorear++ | t/spectest.data:
Run spectests that no longer explode
00:10
00:10 ab5tract left
sorear rakudo: say +Match 00:10
p6eval rakudo 6fd655: OUTPUT«use of uninitialized value of type Match in numeric context␤0␤»
00:11 ab5tract joined 00:12 leprevost joined 00:29 replore_ joined
dalek ecza: 567948e | sorear++ | lib/CORE.setting:
+Match should be 0 (fixes #84)
00:30
ast: c8f64b9 | sorear++ | S12-methods/what.t:
[S12-methods/what] Unfudge for sorear/niecza#84
00:31 wolfman2000 joined 00:38 benabik left 00:44 worr left 00:45 ispeak_ joined 00:47 raiph left 00:48 s1n joined
s1n pmichaud: can't make it tonight, i'll be there next month though 00:48
00:52 molaf_ joined 00:56 icwiener left, molaf left 01:08 thou left 01:11 estrabd left
colomon panda successfully bootstrapped! 01:14
01:16 benabik joined 01:17 tokuhirom left 01:27 ab5tract left 01:32 mtk left 01:36 jeffreykegler joined
donri colomon: nom? 01:37
colomon donri: yes
donri coolio
colomon I just made it the official "perl6" executable on my laptop. :)
thanks to jnthn fixing the showstopping bug for on my main $work perl 6 script 01:38
donri perhaps it's time for me to build a fresh rakudo soon 01:41
just have the fedora16 package at the moment
This is Rakudo Perl 6, version 2011.07 built on parrot 3.6.0 0 -- aka oooooold!!1 in perl6-land
01:43 jeffreykegler left
dalek ast: 1641b95 | (Solomon Foster)++ | S04-statements/given.t:
Add test that when /regex/ sets $/ properly.
01:45
01:57 envi_ left 02:02 envi_ joined
colomon hmmm... IO::Prompter uses things like :v(:$verbatim) of Bool 02:03
std: gist.github.com/1474897 02:05
p6eval std be1f10e: OUTPUT«Potential difficulties:␤ %unexpected_options is declared but not used at /tmp/AC3WtQlqD3 line 31:␤------> *⏏%unexpected_options,␤ @prompt is declared but not used at /tmp/AC3WtQlqD3 line 32:␤------> *⏏@prompt,␤ $prompt_str…
colomon niecza: gist.github.com/1474897
p6eval niecza v12-30-g567948e: OUTPUT«===SORRY!===␤␤Unhandled trait of at /tmp/J_k9rZmged line 5:␤------> :d(:$default) of Str⏏,␤␤Unhandled trait of at /tmp/J_k9rZmged line 8:␤------> :f(:$fail) of Bool ⏏= sub{False…
02:12 DarthGandalf left
colomon whoa, ABC brings ufo to its knees? 02:17
using 2.3 gigs of memory right now... 02:21
02:23 donri left
colomon 2.8 02:24
02:24 DarthGandalf joined 02:25 birmjin__ joined 02:27 birmjin left
colomon got up to 3.2 gigs before I gave up and killed it 02:29
02:31 whiteknight joined, whiteknight is now known as Guest77466
colomon does lines not work in nom? 02:42
damn. 02:47
nom: qqx{ls} 02:48
p6eval nom 6fd655: OUTPUT«qx, qqx is disallowed in safe mode␤ in sub restricted at src/SAFE.setting:2␤ in sub QX at src/SAFE.setting:9␤ in block <anon> at /tmp/q4eIT9bGKJ:1␤ in <anon> at /tmp/q4eIT9bGKJ:1␤»
colomon nom: for $*IN.lines -> $line { say $line } 02:50
p6eval nom 6fd655: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdteil du inmitte…
colomon so, IO.lines doesn't seem to ever stop any more. 02:54
*and* for is now eager?
sorear nom: for 1..* { .say } 02:56
p6eval nom 6fd655: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81␤82􏿽xE2 02:57
sorear colomon: how do you mean for is eager?
colomon I mean, I'm passing it an infinite list and it never gets to the first item
nom: for 1...* { .say }
p6eval nom 6fd655: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81␤82􏿽xE2
colomon thought so
sorear nom: for 1, 1, *+* ... * { .say }
p6eval nom 6fd655: OUTPUT«(timeout)1␤1␤2␤3␤5␤8␤13␤21␤34␤55␤89␤144␤233␤377␤610␤987␤1597␤2584␤4181␤6765␤10946␤17711␤28657␤46368␤75025␤121393␤196418␤317811␤514229␤832040␤1346269␤2178309␤3524578␤5702887␤9227465␤14930352␤24157817␤39088169␤63245986␤102334155␤165580141␤267914296␤433494437␤701408733␤1… 02:58
colomon hmmm
sorear colomon: it looks to me like it's getting to the first item
colomon yeah, in this case.
golfing...
nom: my @a = 1...*; for @a -> $a { say $a }
whoops
p6eval nom 6fd655: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81␤82􏿽xE2
colomon nom: my @a := 1...*; for @a -> $a { say $a }
p6eval nom 6fd655: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81␤82􏿽xE2 02:59
colomon bad example, then
nom: my @a := gather loop { take 10; }; for @a { .say }
p6eval nom 6fd655: OUTPUT«(timeout)»
colomon there you go
sorear waitwait, :samespace is nondeterministic? 03:00
S05:379 /randomly/
colomon sorear: that's changing the subject, right? 03:01
what's happening to me in nom is:
1) IO.get appears to loop through the file instead of stopping at the end of it 03:02
2) for is eager if it doesn't know its argument is infinite 03:03
The combination completely breaks the standard for $fh.lines { } idiom 03:04
sorear colomon: yes. I'm picking over S05, trying to make a comprehensive list of S05 features not in niecza
colomon sorear: gotcha. just wanted to make sure we were on the same wavelength.
03:11 Guest77466 left 03:15 ispeak_ left
[Coke] sorear++ 03:29
sorear [Coke]: for the bugs? 03:31
niecza: "abc" ~~ / . { say $/.WHAT; say $¢.WHAT } / 03:32
p6eval niecza v12-30-g567948e: OUTPUT«Cursor()␤Cursor()␤»
sorear japhb: still here? 03:34
japhb Good timing, sorear, I just got bak 03:36
sorear japhb: what do you think about S05:933 ? 03:37
japhb goes to look ...
03:39 Patterner left, envi_ left
japhb sorear, OK, I've read it a couple times. What in there is bothering you? 03:40
03:40 Psyche^ joined, Psyche^ is now known as Patterner
sorear japhb: do you really think it makes sense for a regex to return Failure? 03:41
japhb Let me preface my response with "I've spent a LOT less time thinking about the grammar engine than you, pmichaud, etc." ... 03:42
That said, when I first started looking at Perl 6, fail-in-regex was the first or second place I saw it. 03:43
colomon perl6: say .5 ** Inf
p6eval pugs b927740: OUTPUT«(timeout)»
..rakudo 6fd655, niecza v12-30-g567948e: OUTPUT«0␤»
japhb To me, the concept of forcing the match to fail using a verb 'fail' makes complete sense. That fail() in the context of a regex should act exactly the same as fail() in the context of a non-grammar Routine is not entirely clear. 03:44
It doesn't make a lot of sense to me that match attempt that fails because the string doesn't match the regex pieces versus a match attempt that fails because the regex called fail() would act differently. 03:46
sorear Not matching regex pieces has behavior like { return Nil } 03:48
it's not entirely clear to me whether { fail } is supposed to behave more like <!> or ::: <!>
japhb Right. My point was that it seems goofy for the two cases to act differently. 03:49
sorear a regex is supposed to return a lazy list of Match objects
japhb Let me alter my phrasing: It makes sense to me that either: A) not matching regex pieces puts a Failure into that lazy list (and thus fail() inside a regex just acts the same automatically) or B) The grammar engine captures Failure inside of a regex and silences it back to Nil. 03:51
I'm afraid I haven't spent enough time thinking about the grammar engine to say which of those makes more sense. 03:52
.oO( ENEEDMORETUITS )
03:53
sorear niecza: / {*} /
03:53 envi_ joined
p6eval niecza v12-30-g567948e: ( no output ) 03:53
03:55 Radvendii joined
sorear o/ Radvendii 03:55
Radvendii hey 03:56
sorear niecza: sub infix:<•>($x,$y) { CORE::infix:<*> $x, $y }; say 3 • 4 # I fixed a bug for you
p6eval niecza v12-30-g567948e: OUTPUT«12␤»
04:03 leprevost left
sorear niecza: my $foo = /abc/; say "xyabcdef" ~~ / <.$foo> / 04:04
japhb sorear, Sorry I couldn't be of more help about fail() in regex. BTW, you probably already realized this, but ... the grammar engine has to know how to deal with Failure no matter what, because any closure could return Failure some other way than calling fail().
p6eval niecza v12-30-g567948e: OUTPUT«===SORRY!===␤␤Dottyop assertions NYI at /tmp/hUI5Ql9f0S line 1:␤------> $foo = /abc/; say "xyabcdef" ~~ / <.$foo⏏> /␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) …
sorear japhb: To me, violating the subrule call protocol is DIHWIDT. 04:05
niecza: my $foo = /abc/; say "xyabcdef" ~~ / <$foo> / 04:06
p6eval niecza v12-30-g567948e: OUTPUT«#<match from(2) to(5) text(abc) pos([].list) named({}.hash)>␤»
sorear niecza: my $foo = /abc/; say "xyabcdef" ~~ / <$foo(2)> /
p6eval niecza v12-30-g567948e: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤ at Anon.1.Run.MAIN.C1ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.RunCore (Niecza.Frame& cur) [0x00000] in <filename unknown…
japhb Sure, but even DIHWIDT shouldn't blow up the missile. 04:07
(to mix a couple metaphors)
sorear std: my $foo; / <$foo = 5> / 04:12
p6eval std be1f10e: OUTPUT«ok 00:01 124m␤»
sorear niecza: my $str = "alpha"; say "x" ~~ /<::($str)>/ 04:14
p6eval niecza v12-30-g567948e: OUTPUT«===SORRY!===␤␤Indirect method calls NYI at /tmp/UKgoE4x1lC line 1:␤------> my $str = "alpha"; say "x" ~~ /<::($str)⏏>/␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2…
sorear nice fossil at S05:1513 04:18
[Coke] sorear: well, the bugfixes. I see spectest is mixed now, will try to clean it up. 04:21
niecza: my $a=Mu; say $a++ 04:22
p6eval niecza v12-30-g567948e: OUTPUT«0␤»
sorear niecza: / <[ z .. a ]> / 04:23
p6eval niecza v12-30-g567948e: ( no output )
[Coke] niecza: my $a=Mu; say defined($a--);
p6eval niecza v12-30-g567948e: OUTPUT«Bool::True␤»
[Coke] nom: my $a=Mu; say defined($a--);
p6eval nom 6fd655: OUTPUT«Bool::True␤»
04:26 drbean left
[Coke] perl6: sign(1+2i); 04:31
p6eval rakudo 6fd655: OUTPUT«(timeout)»
..niecza v12-30-g567948e: OUTPUT«Unhandled exception: Complex numbers are not arithmetically ordered; use cmp if you want an arbitrary order␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (sign @ 0) ␤ at /tmp/Rv3WEKfIaV line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting l…
..pugs b927740: ( no output )
04:33 drbean joined
sorear niecza: regex :ratchet { x y z } 04:35
p6eval niecza v12-30-g567948e: OUTPUT«===SORRY!===␤␤Colonpair traits NYI at /tmp/o05PxdeQAZ line 1:␤------> regex :ratchet ⏏{ x y z }␤␤Use of uninitialized value in string context␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 773 (warn @ 2) ␤ at /ho…
sorear niecza: say "abc" ~~ /a :: bc/ 04:37
p6eval niecza v12-30-g567948e: OUTPUT«#<match from(0) to(3) text(abc) pos([].list) named({}.hash)>␤»
sorear niecza: say "abc" ~~ /a ::> bc/
p6eval niecza v12-30-g567948e: OUTPUT«#<match from(0) to(3) text(abc) pos([].list) named({}.hash)>␤»
dalek ast: 737ff9d | coke++ | S (4 files):
niecza fudging (with tickets)
04:40
[Coke] sorear: several random unfudges, one or three new ones. 04:41
#90 is dubious, but I figured better a skip with a ticket than a failing test.
04:55 envi_ left 04:56 ssotka joined 04:58 ispeak joined 05:01 am0c joined 05:07 Radvendii left 05:10 Radvendii joined
Radvendii am i being shown as logged in? 05:10
(im trying to check if autosendcmd is working... 05:11
)
05:12 Radvendii left 05:13 ispeak left 05:14 Radvendi1 joined, Radvendi1 left, Radvendii joined, Radvendii left, Radvendii joined 05:15 Radvendii left 05:17 Radvendii joined, thou joined 05:23 kaleem joined 05:24 ponbiki joined
sorear Radvendii: hi 05:29
Radvendii: 1. you are logged in 2. DON'T USE AUTOSENDCMD FOR LOGGING IN
Radvendii: freenode.net/faq.shtml#identify 05:32
05:38 birmjin__ left 05:44 drbean left 05:51 Radvendii left 05:52 envi_ joined, drbean joined 06:04 ssotka left 06:05 kaleem left 06:07 qiuhw joined
qiuhw perl6: say '/aa-aa' ~~ / '/' (.+?) '-' .+/; 06:08
p6eval niecza v12-30-g567948e: OUTPUT«#<match from(0) to(6) text(/aa-aa) pos([#<match from(1) to(3) text(aa) pos([].list) named({}.hash)>].list) named({}.hash)>␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "'"␤ expecting term postfix, operator, ":" or ","␤ at /tmp/QVYVlT0xwW line 1, column 21␤»
..rakudo 6fd655: OUTPUT«#<failed match>␤»
qiuhw say ?('/aa-aa' ~~ / '/' (.+?) '-' .+/); 06:09
perl6: say ?('/aa-aa' ~~ / '/' (.+?) '-' .+/);
p6eval niecza v12-30-g567948e: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "'"␤ expecting term postfix, operator or ")"␤ at /tmp/6u8L8L9RKa line 1, column 23␤»
..rakudo 6fd655: OUTPUT«Bool::False␤»
qiuhw I think this is a rakudo bug
sorear qiuhw: known bug
qiuhw Oh, please also have a look at this: gist.github.com/1475234, are the other bugs all known? 06:10
sorear 11 and 12 are exactly the same 06:12
1 is not quite the same, I'm not sure
wait for a Rakudo expert
qiuhw Yes, 11 and 12 and exactly the same. Also 1 and 2 are exactly the same. I just listed all the possibilities. 06:14
06:20 drbean left
dalek ecza: 45fd62a | sorear++ | docs/TODO.S05:
Add a more-or-less complete list of unimplemented S05 features
06:20
06:20 kaleem joined
moritz shouldn't they all match? 06:21
sorear o/ moritz 06:25
06:26 alvis left, drbean joined
qiuhw moritz: Oh sorry, a long time I haven't write any code and I just misunderstood the greedy mode and the backtracing . Yes they should be all matched. 06:31
Then, the bug are tests 3 and 4, not 1 and 2. 06:34
sorear perl6: say 'Deu' ~~ / D<*euteronomy> / 06:37
p6eval niecza v12-30-g567948e: OUTPUT«===SORRY!===␤␤Action method assertion:sym<*> not yet implemented at /tmp/Jh0iHdpnT4 line 1:␤------> say 'Deu' ~~ / D<*euteronomy⏏> /␤␤Unhandled exception: Unable to resolve method oplift in class Str␤ at /home/p6eval/n…
..rakudo 6fd655: OUTPUT«===SORRY!===␤Confused at line 1, near "say 'Deu' "␤»
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
sorear Has anyone ever implemented this?
06:41 alvis joined
moritz b: say 'Deu' ~~ / D<*euteronomy> / 06:41
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Confused at line 22, near "say 'Deu' "␤»
moritz I don't think so 06:42
06:42 qiuhw left
sorear I am hoping to get almost all of S05 implemented for v13, for some defintion of 'almost all' 06:47
06:47 koban joined
sorear wonders if it might be useful to start tagging the niecza bugs. nyi, normal, major, this-is-a-feature 06:48
blocks-on-roles 06:49
hmm, <* @abbrev> is problematic because there is no spec way to get the "full" key out 06:54
06:54 Ind001 joined 06:55 Ind001 left
sorear I need to discuss a few of these with TimToady, maybe tomorrow 06:57
07:00 wtw joined
sorear -> sleep 07:05
07:07 alvis left 07:15 cosimo left 07:18 stepnem_ joined 07:19 stepnem left, kfo_ left, kfo joined, stepnem_ is now known as stepnem 07:20 alvis joined 07:23 drbean left 07:24 cosimo joined 07:26 ponbiki left 07:27 sftp left 07:28 wolfman2000 left, thou left 07:29 drbean joined, sftp joined 07:32 molaf_ left 07:42 avar left, avar joined, djanatyn left, envi_ left, djanatyn joined 07:44 _twitch joined 07:48 drbean left 07:51 replore_ left 07:52 replore__ joined 07:55 drbean joined 08:04 _twitch left 08:08 envi_ joined 08:11 baest joined
moritz nom: say 3.5 === 3.5 08:16
p6eval nom 6fd655: OUTPUT«Bool::False␤»
08:18 agentzh joined
moritz is about to fix that 08:24
dalek kudo/objat: d81c8a1 | moritz++ | / (5 files):
first shot at ObjAt, and make .WHICH use it

All tests pass
08:25
kudo/objat: 5aed0e3 | moritz++ | src/core/ (6 files):
split WHICH into multis, and special-case the .WHICH of value types
moritz phenny: tell jnthn about the objat branch, which implements ObjAt and passes all spectests; I'll merge it if you're fine with the general approach 08:28
phenny moritz: I'll pass that on when jnthn is around.
08:29 drbean left 08:34 drbean joined 08:44 lestrrat left 08:45 lestrrat joined
moritz ... and two TODO tests pass :-) 08:48
08:57 mj41 joined 08:58 wtw left 09:02 cognominal_ joined 09:03 hypolin joined 09:05 cognominal left, wtw joined, envi_ left 09:10 Trashlord joined
dalek kudo/objat: a100ad0 | moritz++ | docs/ROADMAP:
ObjAt is done
09:11
09:32 Sarten-X left 09:39 Sarten-X joined 09:44 baest_ joined 09:46 dakkar joined 09:47 baest left, envi_ joined
moritz ... and now that we have a proper .WHICH, object hashes aren't too hard to implement (just fiddly) 09:53
jnthn moritz: Bit tied up ATM, but will review your ObjAt stuff on the train this afternoon. 09:54
phenny jnthn: 08:28Z <moritz> tell jnthn about the objat branch, which implements ObjAt and passes all spectests; I'll merge it if you're fine with the general approach
10:02 replore__ left 10:06 baest_ is now known as baest, hypolin left 10:31 jerome_ joined
dalek kudo/nom: a2ca4c6 | moritz++ | src/core/EnumMap.pm:
change a pir:: to nqp:: opcode
10:37
10:39 am0c left 10:40 [particle]1 joined 10:42 [particle] left 10:47 daxim joined 11:03 mkramer joined
flussence I'm a little bit rusty, is there anything here I'm doing obviously wrong? github.com/flussence/perl6-XMMS2/b...on.pm6#L40 11:17
(I'm getting "Cannot assign to a non-container" on line 51)
moritz flussence: that's weird 11:19
11:20 lestrrat left
jnthn Indeed. 11:20
Does binding work?
Wonder is CPointer REPR is giving out something really dodgy in its storage_spec.
11:21 lestrrat joined
flussence aha, that seems to get further... 11:21
11:22 mkramer left
flussence got one test passing now :D 11:24
11:29 hillu left 11:30 hillu joined
jnthn flussence: I need to get my stuff packed and head to the station in a moment, but try applying gist.github.com/1476220 to see if it helps your assign issue. 11:31
flussence will do, thanks 11:32
11:37 sftp left 11:38 jerome_ left 11:40 sftp joined 11:48 sftp left 11:52 benabik left 11:54 sftp joined
jnthn travel time...back this evening & 11:58
colomon o/
11:59 donri joined 12:00 icovnik joined 12:01 cognominal joined
donri "==> Succesfully installed panda" but then "Incorrect pre-compiled version of lib/JSON/Tiny/Actions.pm loaded" 12:03
12:04 cognominal_ left
donri works if I set PERL6LIB like bootstrap does, but should you have to? 12:06
12:07 jerome_ joined 12:09 bacek joined 12:10 jerome_ left 12:12 lichtkind joined, jerome_ joined 12:16 raiph joined
tadzik donri: yeah, there's something broken about module precompilation 12:16
just find ~/.perl6/lib -name '*.pir' -delet
12:17 jerome_ left, jerome_ joined 12:18 snearch joined
donri tadzik: works. so, why doesn't panda install itself on my system? 12:19
also getting "use of uninitialized value of type Command in string context" but doesn't seem to matter 12:20
tadzik donri: doesn't it? 12:21
donri $ which panda
/usr/bin/which: no panda in ...
i have to cd to my panda repo clone and do perl6 bin/panda 12:22
tadzik do you have ~/.perl6/bin in your $PATH?
donri ah, i see
i expected it to install where my parrot/perl6 are
tadzik don't hesitate to open a ticket for that 12:23
at least a symlink would be nice, I uppose 12:25
donri ~/.perl6 is fine, just needs to be documented ;)
tadzik wanna commit bit? :) 12:26
donri scary prospect
12:28 jerome_ left
moritz commit bits don't hurt anybody 12:33
12:37 benabik joined 12:39 orafu left, orafu joined, Patterner left, bluescreen10 joined 12:51 jerome_ joined 12:57 bacek left 13:01 PZt left, hrj joined 13:04 PZt joined 13:05 ispeak_ joined 13:11 Radvendi1 joined
moritz nom: say so 'foo' ~~ /^<|w>/ 13:13
p6eval nom a2ca4c: OUTPUT«===SORRY!===␤Confused at line 1, near "say so 'fo"␤»
Radvendi1 perl6: while prompt("hi") {say $_.WHAT} 13:14
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&prompt"␤ at /tmp/6qC9jBpDOc line 1, column 7-20␤»
..rakudo a2ca4c, niecza v12-31-g45fd62a: OUTPUT«hiAny()␤hiAny()␤hiAny()␤hiAny()␤hiAny()␤hiAny()␤hiAny()␤hi»
Radvendi1 why is $_ of type any()? shouldn't it be Str()?
moritz Radvendi1: because you didn't assign to it
perl6: while prompt('hi') -> $_ { say $_.WHAT } 13:15
Radvendi1 doesn't while do that?
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&prompt"␤ at /tmp/4ZREb9Qqob line 1, column 7-20␤»
..rakudo a2ca4c, niecza v12-31-g45fd62a: OUTPUT«hiStr()␤hiStr()␤hiStr()␤hiStr()␤hiStr()␤hiStr()␤hiStr()␤hi»
moritz Radvendi1: no
Radvendi1 aw really?
oh
moritz Radvendi1: it's not Perl 5 :-)
Radvendi1 can i say while given prompt 'hi' {}?
13:15 drbean left
moritz you can also do it like I just demonstrated 13:16
Radvendi1 i always feel silly assigning things to $_. it's the automatically assigned variable... but okay.
thanks
also, can i use when: without a given? 13:17
moritz yes
Radvendi1 sweet 13:18
13:18 mtk joined 13:19 Psyche^ joined, Psyche^ is now known as Patterner
donri given just sets $_ for the duration of the block and when just smartmatches on $_ 13:20
they only work well together "coincidentally" ;)
moritz donri: not quite true 13:21
donri oh well
moritz donri: a 'when' also implies some additional control flow
nom: given 1 { when 1 { say 'in 1' }; say 'outside 1' }
p6eval nom a2ca4c: OUTPUT«in 1␤»
donri nom: for ^5 { .say when *%2 }
p6eval nom a2ca4c: OUTPUT«1␤3␤»
donri moritz: oh? i see 13:22
13:22 drbean joined
moritz that's done so that a given { } with multiple when-clauses aborts after the first successful match 13:23
donri ah yea
13:23 jaldhar left 13:24 icovnik left
Radvendi1 i dont see. 13:24
[Coke] moritz: so, no way to get the c-style fall through on switch blocks with given/when?
donri Radvendi1: the "outside 1" never ran
because a "when" matched
colomon [Coke]: there is a way, but I forget what it is called
Radvendi1 what about the second example?
colomon continue?
donri Radvendi1: my example? 13:25
Radvendi1 yeah
donri Radvendi1: what part don't you understand?
colomon nom: for ^5 { .say when *%2; say "not when" }
p6eval nom a2ca4c: OUTPUT«not when␤1␤not when␤not when␤3␤not when␤not when␤»
Radvendi1 shoulding it be printing 2 and 4?
donri Radvendi1: no, % gives the remainder which is truth-like
colomon huh
Radvendi1 oh right
sorry 13:26
donri but yea i did mean %%
nom: for ^5 { .say when *%%2 }
p6eval nom a2ca4c: OUTPUT«0␤2␤4␤»
Radvendi1 okay
donri %% is "not %"
colomon nom: for ^5 { .say when *%%2; say "not when" }
p6eval nom a2ca4c: OUTPUT«0␤not when␤not when␤2␤not when␤not when␤4␤not when␤»
donri aka "divisible by"
colomon nom: for ^5 { when *%%2 { .say }; say "not when" }
p6eval nom a2ca4c: OUTPUT«0␤not when␤2␤not when␤4␤»
colomon moritz: bug or feature?
niecza: for ^5 { .say when *%%2; say "not when" } 13:27
p6eval niecza v12-31-g45fd62a: OUTPUT«0␤not when␤not when␤2␤not when␤not when␤4␤not when␤»
colomon niecza: for ^5 { when *%%2 { .say }; say "not when" }
p6eval niecza v12-31-g45fd62a: OUTPUT«0␤not when␤2␤not when␤4␤»
donri nom: .say when *%%2 for ^5
p6eval nom a2ca4c: OUTPUT«0␤2␤4␤»
moritz perl6: for ^5 { .say when *%%2; say "not when $_" }
p6eval rakudo a2ca4c, niecza v12-31-g45fd62a: OUTPUT«0␤not when 0␤not when 1␤2␤not when 2␤not when 3␤4␤not when 4␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "when"␤ expecting operator or "}"␤ at /tmp/0CwrnncVqu line 1, column 15␤»
moritz perl6: for ^5 { when *%%2 { .say }; say "not when $_" } 13:28
p6eval rakudo a2ca4c, niecza v12-31-g45fd62a: OUTPUT«0␤not when 1␤2␤not when 3␤4␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "%2"␤ expecting term postfix, operator or block␤ at /tmp/MPb5OLKkAp line 1, column 17␤»
donri heh
nice to see new implementations surpassing pugs ;) 13:29
moritz colomon: looks good to me, no bug there
colomon moritz: when as a statement modifier doesn't skip the remainder of the enclosing block? 13:30
moritz colomon: correct
colomon why? 13:31
[Coke] almost up to 11000 niecza tests run.
13:31 Radvendi1 left
colomon ah, found it in the spec 13:31
dalek kudo/nom: 12334be | moritz++ | docs/ROADMAP:
add some more ROADMAP goals
moritz colomon: because that seems to be what most people expect, I supose
colomon most people are weird. ;) 13:32
nom: say ($_ when /7/ for 1..20).perl 13:33
p6eval nom a2ca4c: OUTPUT«(7, 17).list␤»
13:36 flussence_ joined
colomon btw, I'm getting really weird results with I/O in nom. 13:36
13:36 flussence left
colomon I posted some last night, but I'm getting different ones this morning. 13:37
moritz I've also heard reports that .get and .lines interact weirdly
13:39 CoreX_ left, am0c joined
colomon yeah, it was looping on the file for me last night 13:39
this morning, I can't get it to open the file at all 13:40
and I get weirdly different errors
gist.github.com/1476606 # cannot open a file 13:41
I've tried it in niecza (just to make sure I'm sane) and it works fine there. 13:42
moritz huh.
colomon and this stuff was working fine for me last night, it's my attempt to golf it down which seems to have created a problem. 13:43
13:43 mj41_nb joined, mj41_nb left, drbean left 13:44 mkramer joined 13:50 drbean joined 13:51 kaleem left
moritz note that while $thing.get { ... } won't work very well 13:51
13:55 CoreX_ joined 13:57 agentzh left
lichtkind doesnt change True in num context to 1 ? 14:01
14:01 mkramer left
moritz perl6: say (+True).perl 14:01
p6eval rakudo 12334b, niecza v12-31-g45fd62a: OUTPUT«1␤»
..pugs b927740: OUTPUT«1.0␤»
moritz looks like, yes 14:02
lichtkind: do you still want to write an advent post?
lichtkind i ask because i currently on it
14:03 mkramer joined
lichtkind found the bug didnt thought about precedence of + 14:04
moritz thinks he should make the post about operator precdence after all :-) 14:05
14:09 mkramer left, mkramer joined, mkramer left 14:12 [particle]1 is now known as [particle] 14:17 Sarten-X left 14:18 cognominal left 14:20 srini joined, cognominal joined
[Coke] ponders creating a .implementation file in niecza & rakudo that is just a file that says "niecza" or "rakudo". 14:20
moritz [Coke]: what would you use it for? 14:22
14:22 koban left 14:23 cognominal_ joined
[Coke] moritz: things like tools/test_summary.pl 14:23
or fudge.
dalek kudo/nom: 5cf8eba | coke++ | tools/test_summary.pl:
Make test_summary less rakudo-specific
14:24
14:26 snearch left, cognominal left
lichtkind perl6: chars 'hahaha' 14:28
felher I have a role that i use somewhat like a java-interface. Is there a way to specify that certain methods should also be available on the type-object of a class that 'does' that role?
p6eval rakudo 12334b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&chars' called (line 1)␤»
..pugs b927740, niecza v12-31-g45fd62a: ( no output )
lichtkind niecza: chars 'hahaha'
moritz felher: that's the default
p6eval niecza v12-31-g45fd62a: ( no output )
14:28 Sarten-X joined
felher moritz: I know that i can call the methods on the type-object. I'm searching for a way to annotate that they should _work_ with only a type-object. Something that prevents or hints the programmer from accessing attributes, for example. 14:30
moritz felher: write some POD 14:31
I don't think there are any kind of semantic annotations that automatically ensure that 14:32
felher moritz++: okay, thnx :)
flussence_ nom: class A { method B(A:U:) { } }; A.new.B 14:34
p6eval nom 12334b: OUTPUT«Parameter '' requires a type object, but an object instance was passed␤ in method B at /tmp/MiBIgN2fHp:1␤ in block <anon> at /tmp/MiBIgN2fHp:1␤ in <anon> at /tmp/MiBIgN2fHp:1␤»
14:35 flussence_ is now known as flussence
moritz felher: that doesn't stop method B from trying to access attributes though 14:35
sorry, meant flussence
flussence oh, right, the method has to work for both :D and :U... 14:36
lichtkind substr doesnt take negative input? 14:37
flussence lichtkind: you probably want *-1 instead of -1 14:38
14:38 cognominal_ left
moritz nom: say 'foobar'.substr(*-2) 14:38
p6eval nom 12334b: OUTPUT«Method 'Int' not found for invocant of class 'WhateverCode'␤ in method substr at src/gen/CORE.setting:3142␤ in block <anon> at /tmp/7xFyoYT3Sf:1␤ in <anon> at /tmp/7xFyoYT3Sf:1␤»
moritz nom: say 'foobar'.substr(-2)
p6eval nom 12334b: OUTPUT«Failure.new()␤»
14:38 cognominal_ joined
moritz that's LTA 14:38
*-2 should work, I think
lichtkind flussence: i did 14:39
flussence nombug?
moritz flussence: yes
14:39 mkramer joined
[Coke] gist.github.com/1476841 - comparison of niecza vs. rakudo. 14:39
lichtkind No applicable candidates found to dispatch to for 'Numeric'. Available candidates are: 14:40
:(Mu, Mu %_)
benabik [Coke]: Why the difference in the spec column? 14:41
lichtkind thats what i got when i tried my @sorted = map {$_ = [$_ => substr($_, * - 1)] }, @dj;
felher flussence++: thnx, it at least gives a hint. And maybe a clever compiler can detect those things a compiletime someday :) And best of all: I learned about :_, :T, :D, :U, which i didn't know before :)
moritz benabik: because not all test files declare a plan() that can be statically parsed
flussence lichtkind: something's calling Mu.Numeric, which means there's an undefined value getting in somehwere...
benabik moritz: Ah. Thanks.
14:42 mkramer left 14:43 alvis left
[Coke] benabik: they run different tests. 14:43
lichtkind flussence: i checked but @dj has no enpty value 14:44
moritz it's the * - 1 that doesn't work yet
I'm spectesting a patch
lichtkind: why are you assigning to $_ in the map? 14:45
lichtkind i trying old school schwartz in perl 6
felher Hm, but shouldn't :T instead of :U mean a type-object?
lichtkind i test some cornercase before talking in article about it
moritz lichtkind: old school Schwartz doesn't modify the original array 14:46
lichtkind yes
moritz lichtkind: and you can simply use an arity-1 sub to get automatic Schwartz transform
[Coke] niecza: say 9050/18222
p6eval niecza v12-31-g45fd62a: OUTPUT«4525/9111␤»
[Coke] niecza: print 9050/18222
p6eval niecza v12-31-g45fd62a: OUTPUT«4525/9111»
[Coke] niecza: say (9050/18222).Num() 14:47
p6eval niecza v12-31-g45fd62a: OUTPUT«0.496652398199978␤»
14:47 cognominal_ left, cognominal_ joined
lichtkind moritz: i didnt got that first? 14:48
moritz which first?
lichtkind you mean inside sort?
first menas now, at the first reading
moritz nom: my @a = <foo bar baz quox>; say @a.sort: { .substr(.chars - 1) } 14:49
p6eval nom 12334b: OUTPUT«foo bar quox baz␤»
moritz lichtkind: that sorts by the last character
because the closure passed to .sort expects only one argument
so it does an automatic schwartz transform 14:50
flussence bludgeons the code with a golf club... @sorted = @dj.sort(*.substr(*-1));
lichtkind yes
moritz: thank you thats helpful 14:51
14:51 Radvendi1 joined
lichtkind flussence: that you too 14:54
flussence: dut this will not work on own subs
oh wait if it has a signiture it could work 14:55
have test that
dalek kudo/nom: e765b67 | moritz++ | src/core/Cool.pm:
implement missing sub chars
kudo/nom: 18d6b14 | moritz++ | src/core/Str.pm:
support closures as first argument to .substr()
moritz evalbot control rebuild
evalbot rebuild nom
p6eval NOT OK (maybe a rebuild is already in progress?)
14:56 drbean left
lichtkind no test worked 14:58
come back later
moritz wonders what to make of that "feedback" 14:59
lichtkind moritz: ried to wrench sub strip ($str) { substr($str, -3) } somehow into test 15:01
didnt work out
but have to go out for a while
15:01 alvis joined, drbean joined
dalek ast: ee37b17 | moritz++ | S04-exceptions/fail.t:
rakudo unfudge
15:02
moritz lichtkind: recompile rakudo, then substr($str, *-3) works 15:03
lichtkind gret thanks
moritz:++ 15:04
... compiling :) 15:09
dalek ast: fca20a4 | moritz++ | S32-str/substr.t:
rakudo unfudges
15:12
moritz there, 10 more passing spectests :-) 15:13
colomon oh noez, niecza's falling further behind! ;) 15:15
colomon starts poking around for LHF 15:16
hmmm... is it git reset HARD that deletes unwanted commits?
moritz yes
[Coke] colomon: yah, let's get it to 50%, at least. ;) 15:17
moritz std: sub f returns Int ($x) { $x } 15:18
p6eval std be1f10e: OUTPUT«ok 00:01 122m␤»
moritz std: sub f($x) returns Int { $x }
p6eval std be1f10e: OUTPUT«ok 00:01 122m␤»
moritz both forms are allowed? 15:19
15:19 mkramer joined, mkramer left 15:20 ab5tract joined
dalek ast: d886c58 | moritz++ | S06-signature/types.t:
bring test more in line with my understanding of Perl 6; fudge it for rakudo
15:21
15:22 tokuhirom joined 15:24 Radvendi1 left 15:27 PacoLinux joined
dalek ast: 1867d4a | moritz++ | S06-traits/misc.t:
update trait tests to current spec, unfudge
15:27
15:27 kaleem joined
lichtkind it really worked 15:28
colomon \o/
moritz of course :-)
srini ifconfig 15:30
15:30 srini left
moritz bash: ifconfic: command not found 15:30
15:32 _twitch joined
dalek ast: ee08acb | moritz++ | S12-attributes/mutators.t:
simplify tests; not sure how correct they are :(
15:33
15:34 drbean left
flussence
.oO( ifconfig? but `ip addr` is much more parsable... )
15:36
mux and completely unportable
moritz perl6: Role
p6eval niecza v12-31-g45fd62a: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Role' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1139 (P6.comp_unit @ 32) ␤ at /home/p6… 15:37
..pugs b927740: ( no output )
..rakudo 18d6b1: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Role' called (line 1)␤»
dalek ast: 2a4eb3f | moritz++ | S14-roles/basic.t:
random rakudo fudge
15:37 ksi joined
sorear good * #perl6 15:38
moritz \o sorear
dalek kudo/nom: f9ccaff | moritz++ | t/spectest.data:
run two more test files
colomon sorear: just the man I was looking for.
daxim previous art: p3rl.org/IO::Interface p3rl.org/Net::Interface
colomon sorear: what are the current limitations on sort in niecza?
sorear: it's blowing up badly on me at the moment...
moritz sorear: do you believe in the Role class?
sorear moritz: No. 15:39
moritz sorear: ok. Me neither
sorear moritz: Role is a fossil from back when 5.WHAT.WHAT === Class
moritz same for Class, Module, Package?
sorear I think so.
moritz std: Class
p6eval std be1f10e: OUTPUT«ok 00:01 118m␤»
moritz perl6: Class
p6eval niecza v12-31-g45fd62a: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Class' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1139 (P6.comp_unit @ 32) ␤ at /home/p…
..rakudo 18d6b1: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Class' called (line 1)␤»
..pugs b927740: ( no output )
moritz perl6: Abstraction 15:40
p6eval niecza v12-31-g45fd62a: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Abstraction' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1139 (P6.comp_unit @ 32) ␤ at /…
..rakudo 18d6b1: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Abstraction' called (line 1)␤»
..pugs b927740: OUTPUT«*** No such subroutine: "&Abstraction"␤ at /tmp/VmN77FcJ42 line 1, column 1 - line 2, column 1␤»
moritz std: Abstraction
p6eval std be1f10e: OUTPUT«ok 00:01 118m␤»
15:40 drbean joined, thou joined
sorear colomon: sort(@list) doesn't take a comparson function, @list.sort($cmp) does 15:41
15:41 cognominal_ left
sorear colomon: also, sort doesn't do a true Schwartzian transform 15:41
colomon yes, was just looking at your source
sorear colomon: other than that it should be complete ? 15:42
moritz is Abstraction a fossil too?
sorear moritz: abstraction is an I-can't-tell-what-this-is-supposed-to-mean
moritz it seems a bit weird that Array ~~ Abstraction, but Array.new !~~ Abstraction
15:42 cognominal joined
moritz that kinda totally doesn't make sense in our current picture 15:42
colomon oh, I think I see my problem here. 15:43
moritz std: my ::x
p6eval std be1f10e: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'x' (see line 1) at /tmp/qDvwDHnjUG line 1:␤------> my ::x⏏<EOL>␤Multiple prefix constraints not yet supported at /tmp/qDvwDHnjUG line 1 (EOF):␤------> my ::x⏏<EOL>␤M…
sorear subset Abstraction of Any where !*.defined :D
moritz what a long way to write Mu:U 15:44
colomon sorear: got it figured out -- was using .kv when I should have been using .pairs, and Match objects when I wanted an Int.
dalek ecs: a69961f | moritz++ | S (2 files):
remove Abstraction fossil

It doesn't make sense to have a role that is implemented by type objects, but not by defined objects.
15:46
: 1fd31f9 | moritz++ | docs/feather/syn_index.html:
[perlcabal.org] remove link to Abstractiono synopsis that is now gone
15:49
moritz has been productive: -71 lines written :-) 15:51
15:55 cognominal left
[Coke] moritz++ 15:55
moritz: "Abstraction" still appears in 2 tests. 15:56
15:56 cognominal joined
moritz [Coke]: will remove them too 15:56
15:58 wtw left
moritz nom: class A does NotThere { } 15:59
p6eval nom f9ccaf: OUTPUT«===SORRY!===␤Unable to parse $*PKGDECL definition at line 1, near "does NotTh"␤»
moritz std: class A does NotThere { } 16:00
p6eval std be1f10e: OUTPUT«===SORRY!===␤Unable to parse class definition at /tmp/_DDOQ2TWKM line 1:␤------> class A does ⏏NotThere { }␤ expecting typename␤Parse failed␤FAILED 00:01 118m␤»
dalek ast: e823777 | moritz++ | S14-roles/basic.t:
fudge and correct role tests
16:05
ast: c27acee | moritz++ | S02-types/ (2 files):
Abstraction defossilization
moritz another -32 lines :-)
16:12 drbean left
colomon niecza: say NaN + Inf 16:13
p6eval niecza v12-31-g45fd62a: OUTPUT«NaN␤»
Util colomon: no, no. Nan+Inf==Wtf :^) 16:14
colomon perl6: say 13 % -4 16:16
p6eval niecza v12-31-g45fd62a: OUTPUT«5␤»
..pugs b927740, rakudo f9ccaf: OUTPUT«-3␤»
colomon 5?! 16:17
dang, there is so much NOISE running arith.t in niecza! 16:18
16:18 tokuhirom left 16:19 drbean joined
colomon perl6: say 9 div -4 16:21
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "div"␤ expecting operator, ":" or ","␤ at /tmp/BAXtCXvn4Z line 1, column 7␤»
..niecza v12-31-g45fd62a: OUTPUT«-1␤»
..rakudo f9ccaf: OUTPUT«-2␤»
16:22 overrosy left
sorear colomon: why, undef warnings? 16:28
colomon sorear: yes
I just fixed them with a simple patch to Test.pm6
sorear should fix those :>
colomon at least, they went completely away for the file I was looking at. 16:29
lichtkind moritz++ for digging out fossils
dalek ecza: b496530 | (Solomon Foster)++ | lib/Test.pm6:
Initialize Builder variables to prevent undef errors.
colomon sorear: please check that and see if the change looks right to you. 16:30
colomon actually wrote a script to find the biggest LHF candidates (number of tests -wise) for niecza. ;) 16:31
dalek ast: 2e97e92 | (Solomon Foster)++ | S03-operators/arith.t:
Patch for niecza.
sorear colomon: Looks fine but partially redundant - current-test is already initialized on line 82 16:33
funny that Mono.Unix.Native.Syscall has execve but not fork
16:33 kaleem left
PerlJam I think that's just history 16:34
colomon sorear: then I guess it was $todo-up-to that was causing all the trouble. 16:36
dalek ecza: 4f74860 | (Solomon Foster)++ | t/spectest.data:
Turn on S03-operators/arith.t.
16:37
ecza: 0392d28 | (Solomon Foster)++ | lib/Test.pm6:
Remove redundant initialization.
colomon [Coke]: there, that should have niecza with just slightly over half the nom tests passed mark. ;) 16:38
16:42 mls_ left, ab5tract left
[Coke] colomon++ 16:44
any issue with moving tools/test-summary.pl from rakudo/tools to roast (along side fudge)? 16:45
(ISTR I asked this before and everyone said "meh?")
colomon has no opinion 16:46
PerlJam is likewise devoid of opinion on this matter 16:47
sorear [Coke]: +1
colomon sorear: hmmm, still getting warnings from Test.pm6, now in a different test file. will try to track this down as well.
16:48 _twitch left
[Coke] rename to "test_summary" to match "fudge" (sans .pl) ? 16:49
sorear [Coke]: +1 16:51
PerlJam [Coke]: *that* I have an opinion on, +1 16:52
16:55 ispeak_ left, ispeak_ joined
cognominal each time I type a statement starting with say on the bahs shell insteas of the perl6 shell in my mac, I am for a noisy surprise. 16:56
dalek ast: bdf46c2 | coke++ | test_summary:
Copy tools/test_summary.pl from rakudo

This handy tool can easily be used by other implementations.
Drop the .pl to match "fudge", and change the usage to make the implementation name the first param.
16:58
16:59 kmwallio joined 17:01 mj41 left
[Coke] there. now niecza can do "perl t/spec/test_summary niecza" as well. 17:02
dalek kudo/nom: 4a509fd | coke++ | tools/test_summary.pl:
Moved to roast

Run as <perl5> t/spec/test_summary rakudo
17:03
cognominal nom: class A { multi method a() { ... }; multi a() {}, multi a($a) {} }; say $_ if $_ eq 'a' for A.^methods 17:04
p6eval nom f9ccaf: OUTPUT«a␤»
[Coke] whoops. I have a local "perl6" command for niecza.
I will think of a way to fix this post lunch. 17:05
(I think a .impl file still makes sense: it can include informatio non how to run our copy of perl6 also.) 17:06
(in the meantime, adding a .perl6 that does mono ./run/Niecza.exe $@ is a workaround)
cognominal probably the method "methods" is missing from MultiMethod Container 17:08
17:09 MayDaniel joined 17:10 cognominal left
dalek ast: ec052ef | (Solomon Foster)++ | S03-operators/assign.t:
Fudge some for niecza, but still has dozens of errors there.
17:11
17:12 cognominal joined, skangas left 17:13 icovnik joined 17:22 sayu joined
colomon arrrgh, .munch 17:27
17:27 triploidtree joined
triploidtree love the spokesbug 17:27
17:27 triploidtree left
sorear colomon: eeevil 17:28
colomon sorear: in the sequence tests, it's massively frustrating.
17:28 MayDaniel left
colomon wish that part of the spec were pinned down 17:29
Util .munch vs .batch needs to be settled. .munch is used in Rakudo and Roast but not Specs. .batch is in the Specs but not in Rakudo or Roast. 17:31
#phasers time? 17:32
PerlJam indeed
17:33 CoreX_ left
lichtkind moritz: i consider unary sort a important feature worth an own calendar episode 17:33
moritz any reason not to just use .[^$n] in the tests?
Util lichtkind: I agree, and was just thinking about that this morning.
cognominal nom: class A { multi method a() { ... }; multi a() {}, multi a($a) {} }; say $_,.signature if $_ eq 'a' for A.^methods 17:35
p6eval nom 4a509f: OUTPUT«a:(Any, Any, Mu %_)␤»
moritz lichtkind: perl6advent.wordpress.com/2010/12/2...wonderful/ 17:36
Util moritz: Good point. It looks like Roast only uses them for utility, not actually unit-testing the .munch method itself.
lichtkind: also perl6advent.wordpress.com/2009/12/2...ig-things/ 17:37
jnthn moritz: +1 to tossing Abstraction...doesn't make sense in our current world view.
colomon moritz: the fundamental reason is that .munch is about an order of magnitude simpler than .[^$n]. Which is to say, it was implemented long before [^$n] worked
dunno if that justifies keeping munch, though. (if munch were spec'd, sure...) 17:38
(keeping munch in the tests, I mean.) 17:39
moritz anyway, we need to either spec it or remove it
17:40 kaleem joined
jnthn I...don't think we can remove munch. At least, not as far as I understand the list model. 17:41
17:41 ascent_ left, ascent_ joined
colomon jnthn: remove it from the tests, not from rakudo 17:41
moritz nom: try eval q[class A { $!foo }]; say $!.name; say $!.package-name 17:42
p6eval nom 4a509f: OUTPUT«$!foo␤A␤»
jnthn colomon: oh :)
colomon all right, any objections to my removing munch from S03-sequences/basic.t?
moritz colomon: go for it 17:43
Util +1 17:44
colomon oh, $&%(*)W%*)(&W*%( -- this test was never updated for the new sequence definition 17:46
Util lichtkind: I was not thinking of writing it myself. I am writing on Perl 6 Idioms, and realized this morning that I needed to remove the S.T. idiom from my advent post, since it deserves its own post. 17:47
colomon is very confused 17:48
nom: 1 ... -3 17:49
p6eval nom 4a509f: ( no output )
17:50 daxim left
colomon #phasers is now, btw (notice for other slow people like me) 17:51
nom: use Test; is (1 ... -3).join(', '), '1, 0, -1, -2, -3', 'simple decreasing sequence with one item on the LHS'; 17:52
p6eval nom 4a509f: OUTPUT«(timeout)»
colomon why is this test passing?! 17:53
nom: say (1 ... -3).join(', ')
p6eval nom 4a509f: OUTPUT«1, 0, -1, -2, -3␤»
PerlJam Util: if you're writing a post on idioms, could you update the topic-brainstorming file to put that in the "already planned" section?
colomon niecza: say (1 ... -3).join(', ')
p6eval niecza v12-34-g0392d28: OUTPUT«1, 0, -1, -2, -3␤»
Util PerlJam: will do. 17:54
colomon apparently I've forgotten a case?
18:00 am0c left
cognominal nom: my $a = :a(0); say ++$a 18:01
p6eval nom 4a509f: OUTPUT«Method 'succ' not found for invocant of class 'Pair'␤ in sub prefix:<++> at src/gen/CORE.setting:1178␤ in block <anon> at /tmp/wx37cwyJHC:1␤ in <anon> at /tmp/wx37cwyJHC:1␤»
cognominal should not it increment the value?
moritz is that specced? 18:02
I mean, if you want to increment the value, why not use .value++?
cognominal I don't know. I thought it to be a good way to dwim. 18:03
dalek ast: f72a6f4 | (Solomon Foster)++ | S03-sequence/basic.t:
Switch .munch(N) to .[^N]. Fudge for Niecza.
18:05
cognominal do { ++$a.value; $a } is quite a mouthful 18:06
18:07 kaare_ joined 18:08 dakkar left
dalek ecza: 2f0fa32 | (Solomon Foster)++ | t/spectest.data:
Turn on S03-sequence/basic.t.
18:10
18:18 kaleem left 18:24 s1n left 18:30 hrj left, localhost left, mkramer1 joined 18:32 localhost joined 18:34 sayu left 18:40 MayDaniel joined 18:42 araujo left, risou is now known as risou_awy
dalek kudo/nom: 19401a9 | moritz++ | / (10 files):
Merge remote branch 'origin/objat' into nom
18:42
18:44 drbean left 18:45 s1n joined
dalek : 9c673d6 | util++ | misc/perl6advent-2011/topic-brainstorming:
[advent] claimed Idiom topic for myself
18:45
18:46 araujo joined, araujo left, araujo joined, mkramer1 left, mkramer joined 18:49 raiph left 18:50 estrabd joined, drbean joined 18:52 hrj joined
dalek : 5f02809 | util++ | misc/perl6advent-2011/topic-brainstorming:
[advent] Added topic for Unary sort (++lichtkind)
18:53
18:53 mkramer left 18:56 mkramer joined 18:57 mkramer1 joined, mkramer left
Util LHF? 18:57
18:57 carlin joined 18:58 Chillance joined
sorear Util: "low-hanging fruit" 18:59
PerlJam heh, that's what I thought too, but I think he knows what LHF is.
(maybe) 19:00
Util sorear: thanks! 19:01
colomon Util: if you're wondering about my script, it doesn't actually detect LHF. Instead, what it does is cross-references the number of tests in a test file (via plan N) with the test files listed in spectest.data, so you can easily find out what the biggest unused test files are. :)
Util PerlJam: Normally yes, but brain drain resulted in lack of bloodflow to my acronym decoder :) 19:02
colomon: Cool! 19:03
colomon Util: it makes for a neat little p6 script, and niecza executes it in under 5 seconds (for the entire test suite). I do cheat by using `find -name "*.t"` to send in a list of all the test files. 19:04
dalek ast: 877e2df | moritz++ | S (2 files):
unfudge === tests for rats
19:06
19:07 mkramer joined 19:09 mkramer1 left
dalek ast: c0878ca | moritz++ | S14-traits/variables.t:
update variable traits test; do not seem to work on nom
19:11
Util colomon: published anywhere I could see? (just curious)
19:11 drbean left
dalek ast: 0e9b3e5 | moritz++ | S19-command-line/dash-e.t:
rakudo unfudges
19:13
colomon Util: gist.github.com/1478008 19:14
19:14 simcop2387 left
lichtkind moritz: will not finish today but i hope tomorrow, have here 4 other works in the pipe pressing 19:14
colomon Util: it's pretty classic perl, just p6 instead of p5
19:14 simcop2387 joined
dalek kudo/nom: b0fc7aa | moritz++ | t/spectest.data:
run dash-e.t
19:14
colomon Util: though I did try to use "when" stylishly. ;)
dalek ast: 54c16c1 | moritz++ | S32-container/zip.t:
rakudo refudges for zip.t
19:17
19:19 drbean joined
Util colomon: nice 19:23
sorear grr. Seems it actually _isn't_ possible to implement run(LIST) using the Mono built-in libraries 19:27
19:29 mkramer left 19:30 MayDaniel left 19:31 mkramer joined 19:37 mkramer left
jnthn Whoa. That was one hot mongolian bbq. :D 19:38
[Coke] tries to parse 106222.
jnthn starts working on the advent post
19:38 mkramer joined
[Coke] jnthn++ 19:39
flussence jnthn: patch worked, btw
colomon jnthn++ 19:40
jnthn flussence: yay...I'm happy that was nothing deeper than me doing a copy-pasto
tadzik objat! 19:44
phenny: "obiad"?
phenny tadzik: Unable to guess your crazy moon language, sorry.
tadzik phenny: pl "obiad"?
phenny tadzik: The pl to en translation failed, sorry!
tadzik silly phenny. It means "dinner" 19:45
dalek ast: df26d3c | moritz++ | S32-io/chdir.t:
simplify chdir.t, fudge for rakudo
19:48
kudo/nom: 0dc7d63 | moritz++ | / (3 files):
bring back $*CWD, run chdir.t
19:50
ast: f99ad1c | moritz++ | integration/advent2009-day09.t:
fix integration/advent2009-day09.t
19:53
kudo/nom: 06bbaa6 | moritz++ | t/spectest.data:
run advent2009-day09.t
19:54
sorear niecza: say "ababab" ~~ / [aba?] ** 3 / 20:05
p6eval niecza v12-35-g2f0fa32: OUTPUT«#<match from(0) to(5) text(ababa) pos([].list) named({}.hash)>␤» 20:06
sorear nice bug...
20:11 preflex left, preflex_ joined 20:12 preflex_ is now known as preflex
moritz what's wrong with it? 20:17
oh, it doesn't include the final b
niecza: say 'ab' ~~ /.**3/ 20:18
p6eval niecza v12-35-g2f0fa32: OUTPUT«Match()␤»
moritz niecza: say 'ab' ~~ /.**2/
p6eval niecza v12-35-g2f0fa32: OUTPUT«#<match from(0) to(2) text(ab) pos([].list) named({}.hash)>␤»
sorear moritz: count the repetitions of [aba?] in the match 20:19
niecza: say (("ab" x 10) ~~ / [aba?] ** 10 /).chars 20:20
p6eval niecza v12-35-g2f0fa32: OUTPUT«10␤»
moritz sorear: yes, I noticed
sorear the backtracking causes ** to overcount progress 20:21
20:39 mkramer1 joined 20:40 mkramer left 20:44 mkramer1 left 20:45 packetknife joined 20:53 benabik left 20:59 drbean left 21:00 cooper left, wolfman2000 joined 21:05 drbean joined 21:07 ab5tract joined 21:12 mkramer joined 21:16 mkramer left 21:17 baest left 21:18 bluescreen10 left 21:20 fridim_ joined, mkramer joined 21:27 og01 left 21:35 og01 joined, kmwallio left 21:36 og01 left, hundskatt joined 21:38 MayDaniel joined 21:39 worr joined 21:44 mkramer1 joined 21:46 mkramer left 21:48 hrj left
jnthn hmm, seems I writed quite a lot for advent today 21:49
sorear o/ jnthn
21:55 snearch joined
jnthn Advent post is up! perl6advent.wordpress.com/2011/12/1...y-and-how/ 22:01
o/ sorear
I've been about for a bit, just hiding away working on the advent post ;)
sorear jnthn++ 22:04
22:05 Sarten-X left
lichtkind jnthn++ 22:05
22:07 kaare_ left 22:14 MayDaniel left
jnthn early night...gotta go prep for class way too early tomorrow... & 22:19
22:20 kboga joined
kboga nice post jnthn! (small nitpick: s/that about/what about/) 22:22
22:22 Sarten-X joined 22:23 kboga left 22:30 scottp_ left, scottp joined 22:33 kboga joined 22:36 donaldh joined
kboga also, shouldn't the "EXPORTHOW.WHO." really be "EXPORTHOW.WHO.<class>" ? 22:40
22:52 kboga left, donaldh left 23:17 ispeak_ left 23:20 drbean left 23:26 lumi___ left 23:27 drbean joined, lumi___ joined
dalek ecza: 6944409 | sorear++ | src/niecza:
Simplify and deoptimize quantifier handling, add %% support (fixes #80)
23:33
ecza: e7236a4 | sorear++ | / (3 files):
Fix ** state funkiness, add tests
23:34 snearch left
sorear Who can answer questions about <~~> ? 23:36
23:38 cognominal_ joined 23:39 packetknife left, ksi left 23:41 cognominal left
dalek ecza: d07a93d | sorear++ | src/ (5 files):
Mergeback
23:58