»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:07 n0tjack left 00:28 llfourn joined 00:30 rurban left, Eddward left 00:31 n0tjack joined, avalenn joined 00:33 llfourn left 00:44 Eddward joined 00:48 n0tjack left 00:52 Hor|zon joined 00:57 Hor|zon left 00:58 mr_ron joined 01:01 n0tjack joined 01:05 n0tjack left 01:10 thou joined 01:14 thou left 01:16 llfourn joined 01:24 n0tjack joined 01:27 Alina-malina left, Alina-malina joined, bjz joined 01:29 aborazmeh joined, aborazmeh left, aborazmeh joined 01:35 n0tjack left 01:38 tokuhirom joined 01:42 tokuhirom left 01:46 ^elyse^ left 01:53 Hor|zon joined 01:57 Hor|zon left
TimToady m: EVAL 'use nqp; say nqp::getpid() == qx/perl -E "say getppid;"/', :context(CORE::) 02:00
camelia rakudo-moar 8f4e90: OUTPUT«True␤»
TimToady .tell pmurias see irclog.perlgeek.de/perl6/2015-10-11#i_11355209 for how to test getpid 02:01
yoleaux TimToady: I'll pass your message to pmurias.
02:17 BenGoldberg left 02:18 BenGoldberg joined, BenGoldberg left 02:19 BenGoldberg joined 02:21 scruss joined 02:22 quester joined, noganex joined 02:23 scruss left 02:28 eliasr left 02:31 vendethiel joined, llfourn left 02:33 olinkl left
ugexe is there a better way to tell if an io::socket's handle will be closed? 02:42
my $sock = IO::Socket::INET.new(:host<google.com>, :port(80)); $sock.close; try { $sock.read(0); CATCH { when /"Socket not available"/ { say "socket must be closed" }; }; };
02:44 Aww joined 02:54 Hor|zon joined 02:55 skids joined 02:58 Hor|zon left 03:00 SmokeMachine_ joined 03:01 adu joined 03:06 kipd joined 03:07 thou joined
labster m: my Int:😦 $x = 3 03:11
camelia rakudo-moar 8f4e90: OUTPUT«5===SORRY!5===␤Type 'Int' is not declared. Did you mean 'int'?␤at /tmp/eeQ0jaVQm4:1␤------> 3my Int7⏏5:😦 $x = 3␤Malformed my␤at /tmp/eeQ0jaVQm4:1␤------> 3my Int7⏏5:😦 $x = 3␤␤» 03:12
labster 😦
03:12 vendethiel left
dalek Iish: 6fc40c2 | (Fayland Lam)++ | .travis.yml:
add travis
03:17
Iish: 50c2e7b | (Fayland Lam)++ | /:
run travis
Iish: f30ca32 | (Zoffix Znet)++ | .travis.yml:
Merge pull request #23 from fayland/travis

Add travis
Zoffix wonders if they're the only one with a broken character for the wrench icon for "🔧 Add Travis" on modules.perl6.org/ 03:19
03:19 Erendis42 joined
Zoffix Worked fine on my $work Linux and Windows boxes. 03:19
pink_mist looks fine for me 03:20
03:21 nikola_ joined
nikola_ hi perl6! I have a question. why the first sub is so slow? sub infix:<A> ($a, $b) { $a + $b }; say 1 A 2; # 1.33s sub add($a, $b) { $a + $b }; say add 1, 2; # 0.26s; 1.33s vs 0.26s? 03:24
labster ooh, looks like it's time to add travis to my modules. 03:26
Zoffix labster, sure :)
labster, also, I believe I sent a PR to you today to fix something 03:27
(forget what... )
labster nikola_: not enough optimization on perl 6?
skids m: sub infix:<A> ($a, $b) { $a + $b }; my $n = now; say 1 A 2, now - $n; sub add($a, $b) { $a + $b }; $n = now; say add(1, 2), now - $n; # the sub itself is not slow, the parsing is. 03:28
camelia rakudo-moar 8f4e90: OUTPUT«30.0019735␤30.0006907␤»
labster Zoffix: not sure what... github.com/pulls?utf8=%E2%9C%93&am...%3Alabster 03:29
03:30 Eddward left
nikola_ thanks labster, skid. but why? 03:30
Zoffix Never mind then :) Maybe the name just looks familiar to me :)
skids When you do a sub infix you alter the grammar slighty. 03:31
labster Zoffix: I need to be more active around here, this is just like week six of the annual worst six weeks at $dayjob. 03:32
nikola_ another question, what is the benefit of sigilless variable? 03:33
Zoffix Ah: now I got it straight: IO::Path::More's support->{source} highlighted the bug with https handling :) 03:36
That's how I know your name :)
So there were no PRs to you, but a bug fix to module handling system
skids nikola_: They are actually single-assignment (not just sigilless), and they allow you to write code that does not care about the contract on the sigil or containerization. Really they are a finesse thing not for normal use. 03:37
labster The benefit of sigilless style is if that is more convenient for you to write in. Say you have a mathematical text you're copying, it might be best to declare your variables at the top sigilless, and just copy everything below.
skids m: my \a = 1; a := 3; # hopefully your math text is in SSA form 03:39
camelia rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2LEG_foWFJ␤Cannot use bind operator with this left-hand side␤at /tmp/2LEG_foWFJ:1␤------> 3my \a = 1; a := 37⏏5; # hopefully your math text is in SSA f␤»
BenGoldberg .u 😦 03:42
yoleaux U+1F626 FROWNING FACE WITH OPEN MOUTH [So] (😦)
nikola_ Hi skids, labster, can you give me an example that \a is better than $a?
03:43 aborazmeh left
labster Say you like writing C or python, and think that Perl's noun markers look like line noise. Then use sigilless variables, and you no longer have to talk about how ugly Perl is. What a time-saver! :P 03:44
03:45 Eddward joined
skids labster: I don't think they are actually useful for that, since they do more than just remove the sigil. 03:45
nikola_ labster, i like write var has sigil 03:46
skids I've seen them used to make operator middlemen more efficient, let me see if I am too sleepy to make a less obscure example.
labster It's true that it doesn't constrain the container, which actually makes me wonder if you can bind a Scalar container to a sigilless variable, and then fill it with something? Would it then act scalary for most purposes? 03:48
skids Yes, you can. 03:49
m: my \a = 1; my $b = 1; my \c = $b; a.VAR.WHAT.say; $b.VAR.WHAT.say; c.VAR.WHAT.say 03:50
camelia rakudo-moar 8f4e90: OUTPUT«(Int)␤(Scalar)␤(Scalar)␤»
skids (note declarative assigment for sigelless is just binding)
03:55 Hor|zon joined
nikola_ skids, what is the diffrence betwen Int , Scalar? I meaning , benefit 03:55
can you give me an example? 03:56
skids An Int is a value type. A Scalar is just a container. 03:57
03:58 n0tjack joined 03:59 Hor|zon left
nikola_ skids, thanks. please give me code. show that Int is better than Scalar. 04:00
skids Well, I wouldn't say that Int is "better" just a different thing.
m: my Int $a = 3; $a.VAR.WHAT.say; $a = 4; $a.say; 04:01
camelia rakudo-moar 8f4e90: OUTPUT«(Scalar)␤4␤»
skids m: my Int $a := 3; $a.VAR.WHAT.say; $a = 4; $a.say;
camelia rakudo-moar 8f4e90: OUTPUT«(Int)␤Cannot assign to an immutable value␤ in block <unit> at /tmp/iqjDF93Zmi:1␤␤»
skids The second one fails for the same reason that saying "3 = 4" would fail. 04:02
04:03 n0tjack left
labster m: my Int $a := 5; $a.VAR.WHAT.say; $a = 2 + 2; $a.say 04:03
camelia rakudo-moar 8f4e90: OUTPUT«(Int)␤Cannot assign to an immutable value␤ in block <unit> at /tmp/byH2FsgRek:1␤␤»
labster not Big Brother complaint.
04:05 olinkl joined
nikola_ skids, labstetr , what? what is is the example? I want you give me an example that sigilless is better than has sigil.please.. 04:07
skids Most times, it is not better. 04:08
Most of the uses I see are just for efficiency.
Or very internal purposes. 04:09
nikola_ skids, which? it is better? give me code please.
for efficiency.
skids, I found it appear in rakudo source code. but I dont't know why? 04:12
04:12 coetry joined
skids Here is an example not for efficiency: it can be used to preserve single-argument-rule behavior: 04:12
m: sub a ($a) { map { .say }, $a; }; my $a = (1,2,3); a($a) 04:13
camelia rakudo-moar 8f4e90: OUTPUT«(1 2 3)␤»
nikola_ where?
skids m: sub a ($a) { map { .say }, $a; }; my $a := (1,2,3); a($a)
camelia rakudo-moar 8f4e90: OUTPUT«(1 2 3)␤»
skids m: sub a (\a) { map { .say }, a; }; my $a := (1,2,3); a($a)
camelia rakudo-moar 8f4e90: OUTPUT«1␤2␤3␤»
skids m: sub a (\a) { map { .say }, a; }; my $a = (1,2,3); a($a)
camelia rakudo-moar 8f4e90: OUTPUT«(1 2 3)␤»
04:13 eliasr joined
skids so when you use a \a parameter, you are passing a more true copy to .say 04:14
when you use a $a parameter, you are creating a Scalar to contain the argument, and lose the information as to whether it was a Scalar in the first place. 04:15
nikola_ skids, I still not understand what is the benefit? can you show me? please... 04:18
skids, i mean, sigilles 5s, scalar sigil 20s, something like this ? 04:20
skids I don't know what the actual workload difference works out to be, you'd have to ask a more experienced developer. 04:21
Basically every time you pass something through a sigilled variable it will make a Scalar container if there is not one already, so you can avoid that overhead. 04:22
nikola_ hi kids, thanks. Can you write a tutorial for this? this confused me. please. thanks/ 04:25
sorry, kids => skids 04:27
skids nikola_: have you read doc.perl6.org/language/containers yet? 04:28
04:28 nikola_ left
labster maybe I should read that too. Though I've read most of the synopses, so I probably have a handle on a lot of that. 04:31
04:31 blackcat_ joined
labster OK, weird question. Say you have a reference to a sub, &foo. Is there a way you can add a multi sub to the reference without declaring another sub? Like add &bar as a multi sub to &foo? 04:34
skids labster: through the MOP or through a high leve construct? 04:35
labster probably through the MOP, because this is kinda like ... how did mst put it ... turning a whole house to screw in the lightbulb? 04:37
04:38 adu left
labster Basically I've been thinking about that anonymous multi subs thing from a couple months back on the email list. And maybe seeing if I can turn it into a blog. 04:38
skids Well, there is "wrap" but is has restrictions vis-a-vis compile time, naturally, for those same reasons. 04:39
04:39 woodruff- is now known as woodruffw 04:52 adu joined 04:56 Hor|zon joined
skids m: proto c ($) { * }; multi c (Int $) { "Int".say }; sub foo (Str $) { "Str".say }; &c.add_dispatchee(&foo); c("a"); # apparently that is ony part of the magical incantation 05:00
camelia rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YR4GGPMNp2␤Calling c(str) will never work with any of these multi signatures:␤ (Int)␤at /tmp/YR4GGPMNp2:1␤------> 3{ "Str".say }; &c.add_dispatchee(&foo); 7⏏5c("a"); # apparently that is ony par…»
05:00 Hor|zon left
BenGoldberg m: my \$a = 5; 05:00
camelia rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kkXu3IMdOp␤Malformed my␤at /tmp/kkXu3IMdOp:1␤------> 3my7⏏5 \$a = 5;␤»
BenGoldberg m: my \$a := 5;
camelia rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0VIflsT2V5␤Malformed my␤at /tmp/0VIflsT2V5:1␤------> 3my7⏏5 \$a := 5;␤»
skids The rest is only visible when viewed direct sunlight at midnight. 05:01
05:05 llfourn joined
labster skids: thank goodness for time zones. 05:13
05:17 oahong joined 05:23 tokuhirom joined 05:27 tokuhirom left 05:33 BenGoldberg left 05:37 tokuhirom joined
moznion m: say sub{}.isa(Callable) 05:39
camelia rakudo-moar 8f4e90: OUTPUT«False␤»
moznion Is this behavior correct? 05:40
05:41 tokuhirom left
ShimmerFairy m: say sub{}.does(Callable) 05:42
camelia rakudo-moar 8f4e90: OUTPUT«True␤»
ShimmerFairy moznion: since Callable is a role, not a class, it's not something the Sub class 'is', it's something the Sub class 'does'. 05:43
moznion Ah I see, thank you!
05:44 blackcat_ left 05:45 blackcat_ joined 05:57 Hor|zon joined 06:02 Hor|zon left 06:09 raiph joined 06:18 Eddward left 06:20 bjz left 06:23 thou left 06:24 rurban joined 06:27 coetry left
dalek Iish: aec5982 | moritz++ | .travis.yml:
Tell travis to supply a sqlite3 DB
06:31
06:58 Hor|zon joined
skids m: my $a = 2; my Int @c = 1, 2; @c[2] := $a; $a = "hi"; @c.perl.say; # BIND-POS needs to check that the container is typed 06:59
camelia rakudo-moar 8f4e90: OUTPUT«Array[Int].new(1, 2, "hi")␤»
07:03 Hor|zon left
dalek c: 17681ed | skids++ | doc/Language/traps.pod:
Remove a PAE for a WAT that the GLR eliminated
07:04
c: 1453b37 | skids++ | doc/Language/traps.pod:
Add caveats for common problems with typed positional params
skids 3x TLA FTW LOL 07:08
moritz such WAT 07:10
07:11 bjz joined 07:16 bjz left 07:17 adu left
chenryn where is the document of react? 07:17
skids It may not have been very well docced yet. The original proposal is gist.github.com/jnthn/a56fd4a22e7c43080078 07:19
07:21 CurtisOvidPoe joined
CurtisOvidPoe p6: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a })); }; await(|@p); 07:22
yoleaux 10 Oct 2015 11:46Z <jnthn> CurtisOvidPoe: Native types are working (aside from some issues around sized/unsinged in certain contexts - but "int" is fine). But you generally need to use them consistently, and for now write in the "C" dialect of Perl 6. :) Your `for` example there is doomed to cause a lot of GC because $_ isn't native, so we box 40000 native ints into Ints for it.
10 Oct 2015 12:14Z <ab6tract> CurtisOvidPoe: what jnthn++ didn't mention is that the performance of 'while' loops with native ints is crazy fast. much faster than perl 5 in this case. now, obviously nested while loops that only increment native integers are completely contrived and useless, I took it as a serious implication of the kinds of speedups we may be able to achieve under the hood, once the dust has fully settled on the implementation
and performanc
camelia rakudo-moar 8f4e90: OUTPUT«1␤2␤3␤»
CurtisOvidPoe p6: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a });); }; await(|@p);
camelia ( no output )
07:22 llfourn left
CurtisOvidPoe Looks like a parsing bug? 07:22
(Note those are almost identical, but there's a semicolon after the "then(...)" 07:23
07:28 szabgab joined
szabgab p6: my @a = ('a', 'b'); my @b; @b.push: @a, @a; say @b.perl; my @c; @c.append: @a, @a; say @c.perl; 07:29
camelia rakudo-moar 8f4e90: OUTPUT«[["a", "b"], ["a", "b"]]␤[["a", "b"], ["a", "b"]]␤»
szabgab push and append doing the same here, when multiple arrays are supplied
is that the corrct behavior? 07:30
p6: my @a = ('a', 'b'); my @b; @b.push: @a; say @b.perl; my @c; @c.append: @a; say @c.perl;
camelia rakudo-moar 8f4e90: OUTPUT«[["a", "b"],]␤["a", "b"]␤»
szabgab When supplying only a single array then the behavior is as TimToady said earlier 07:32
07:32 firstdayonthejob joined, bjz joined
skids m: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a })); }; @p.map({$_.WHAT.say}); await(@p[2]); 07:33
camelia rakudo-moar 8f4e90: OUTPUT«(Promise)␤(Promise)␤(Promise)␤1␤2␤»
07:33 CIAvash joined
skids m: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a });) }; @p.map({$_.WHAT.say}); await(@p[2]); 07:34
camelia rakudo-moar 8f4e90: OUTPUT«(List)␤(List)␤(List)␤(List)␤(List)␤(List)␤»
skids m: my @p; say(4;) 07:36
camelia rakudo-moar 8f4e90: OUTPUT«(4)()␤»
07:37 darutoko joined, llfourn joined
skids I don't actually know what ';' does in a param list (other than for 3d array stuff) 07:38
erm, argument list
07:38 tokuhirom joined 07:42 tokuhirom left 07:44 szabgab left 07:49 bjz left 07:50 CurtisOvidPoe left 07:52 skids left 07:56 thou joined 07:59 Hor|zon joined 08:00 thou left 08:03 Hor|zon left 08:06 xfix joined 08:08 bjz joined 08:12 azawawi joined
azawawi hi 08:12
finally finished it... github.com/azawawi/perl6-parse-sel...rammar.pm6 :) 08:13
also wrote tests for it github.com/azawawi/perl6-parse-sel...e/master/t :)
grammars rock
08:15 azawawi left 08:21 quester left, telex left 08:22 telex joined 08:28 n0tjack joined 08:36 kipd left, eliasr left, SmokeMachine_ left, olinkl left
grondilu_ adds a .travis.yml in one of his modules as this seems to be a new trend, but he wonders why this is not in META.info 08:36
08:40 grondilu_ is now known as grondilu, grondilu left, grondilu joined
ShimmerFairy Why should it be? Travis has nothing to do with how distributions work. 08:41
08:42 SmokeMachine_ joined
llfourn m: EnumMap.new 08:45
camelia rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OU9blWMPoR␤Undeclared name:␤ EnumMap used at line 1␤␤»
llfourn what happened ot EnumMap? :)
ShimmerFairy I believe it was renamed to Map 08:46
llfourn ShimmerFairy: yerp. Thanks. 08:47
08:47 weihan joined 08:50 eliasr joined 09:00 Hor|zon joined 09:03 llfourn left 09:04 Hor|zon left 09:06 vendethiel joined 09:08 kipd joined 09:10 llfourn joined
nine .tell CurtisOvidPoe in case you missed it: the semicolon actually has a meaning in an argument list. It's for multi dimensional lists: perl6 -e 'sub foo(**@args) { say @args.perl; }; foo(1,2;2,3);' # [(1, 2), (2, 3)] 09:19
yoleaux nine: I'll pass your message to CurtisOvidPoe.
09:23 olinkl joined 09:24 RabidGravy joined 09:25 CIAvash left 09:29 Psyche^ joined
dalek kudo/nom: 5c77383 | skids++ | src/core/Failure.pm:
Restore default Failure message clobbered by pasto
09:33
kudo/nom: be66ad4 | lizmat++ | src/core/Failure.pm:
Merge pull request #547 from skids/patch-1

Restore default Failure message clobbered by pasto
09:33 Psyche^_ left 09:38 void1 joined
dalek c/MARTIMM-patch-2: 129608b | (Marcel Timmerman)++ | doc/Type/DateTime.pod:
Default value for now() perhaps a typing mistake

The default value for the timezone *$TZ should perhaps be $*TZ in method now() on line 81
09:40
FROGGS m: class Foo:D {}; say Foo.new
camelia rakudo-moar 8f4e90: OUTPUT«Foo.new␤»
09:40 ][Sno][ left 09:44 thou joined
[Tux] test 50000 37.993 37.880 09:46
test-t 50000 39.481 39.369
09:47 RFIDtag joined 09:48 thou left
dalek osystem: 1e0f0fc | cygx++ | META.list:
Remove bitrotten module
09:48
FROGGS m: sub a(--> Int:D) { Int }; 09:49
camelia ( no output )
FROGGS m: sub a(--> Int:D) returns Int:D { Int };
camelia rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/htxuZcXdQG␤Redeclaration of return type for a (previous return type was Int:D)␤at /tmp/htxuZcXdQG:1␤»
FROGGS m: sub a() returns Int:D { Int };
camelia ( no output )
FROGGS m: sub a() returns Int:D { Int }; say &a.returns
camelia rakudo-moar 8f4e90: OUTPUT«(Int:D)␤»
FROGGS m: sub a() returns Int:U { 42 }; say &a.returns 09:52
camelia rakudo-moar 8f4e90: OUTPUT«(Int:U)␤»
FROGGS m: sub a() returns Int:U { 42 }; say &a.returns; a
camelia rakudo-moar 8f4e90: OUTPUT«(Int:U)␤Type check failed for return value; expected Int:U but got Int␤ in sub a at /tmp/LRo5pcMZof:1␤ in block <unit> at /tmp/LRo5pcMZof:1␤␤»
FROGGS ahh 09:53
m: sub a() returns Int:D { Int }; say &a.returns; a
camelia rakudo-moar 8f4e90: OUTPUT«(Int:D)␤Type check failed for return value; expected Int:D but got Int␤ in sub a at /tmp/SnKt55D7zj:1␤ in block <unit> at /tmp/SnKt55D7zj:1␤␤»
09:53 RFIDtag left
psch m: proto c(|) {*}; sub c1(Int $) { 5 }; BEGIN &c.add_dispatchee(&c1); say c(1) 09:55
camelia rakudo-moar be66ad: OUTPUT«5␤»
psch .tell skids add_dispatchee works when called at BEGIN time
yoleaux psch: I'll pass your message to skids.
psch .tell labster irclog.perlgeek.de/perl6/2015-10-11#i_11355913 09:56
yoleaux psch: I'll pass your message to labster.
psch probably something about caches being finalized or so..?
10:01 Hor|zon joined, rindolf joined 10:03 hohoho_ joined 10:05 Hor|zon left 10:12 rurban left 10:15 n0tjack left 10:16 n0tjack joined 10:20 spider-mario joined
dalek ast: 9ab29a9 | lizmat++ | S06-parameters/smiley.t:
Be more specific about expected error
10:21
grondilu m: my $insert-me = False; my @a = $insert-me ?? $insert-me !! Nil; say @a.elems 10:22
camelia rakudo-moar be66ad: OUTPUT«1␤»
grondilu ^what should I put here instead of Nil?
m: my $insert-me = False; my @a = $insert-me ?? $insert-me !! (); say @a.elems
camelia rakudo-moar be66ad: OUTPUT«0␤»
lizmat perhaps an empty Slip ? 10:23
|()
grondilu thought he had tried that with no success
grondilu tries again
lizmat m: my @a = 42 ?? slip !! 87; dd @a 10:24
camelia rakudo-moar be66ad: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HpbmYAQg1M␤Your !! was gobbled by the expression in the middle; please parenthesize␤at /tmp/HpbmYAQg1M:1␤------> 3my @a = 42 ?? slip !!7⏏5 87; dd @a␤ expecting any of:␤ infix␤ …»
lizmat m: my @a = 42 ?? slip() !! 87; dd @a
camelia rakudo-moar be66ad: OUTPUT«Array @a = []␤»
grondilu m: my $insert-me = False; say join ':', ($insert-me ?? $insert-me !! |()), 1 xx 3
camelia rakudo-moar be66ad: OUTPUT«1:1:1␤»
lizmat m: my @a = False ?? 87 !! slip; dd @a 10:25
camelia rakudo-moar be66ad: OUTPUT«Array @a = []␤»
grondilu can't reproduce it here. The error must be something else
lizmat FROGGS: don't we have smiley return tests already in t/spec/S06-parameters/smiley.t ? 10:26
Erendis42 my @e; @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]] say @e.perl; 10:27
m: my @e; @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]] say @e.perl;
camelia rakudo-moar be66ad: OUTPUT«5===SORRY!5=== Error while compiling /tmp/P6huygGktP␤Variable '@a' is not declared␤at /tmp/P6huygGktP:1␤------> 3my @e; @e.append: 7⏏5@a, @x; # [["foo", "bar"], ["abc", "def"␤»
Erendis42 oops
m: my @a = ('foo', 'bar'); say @a.perl; # ["foo", "bar"] my @b; @b.push: @a; say @b.perl; # [["foo", "bar"],] my @c; @c.append: @a; say @c.perl; # ["foo", "bar"] @b.push: @a; say @b.perl; # [["foo", "bar"], ["foo", "bar"]] @c.append: @a; say @c.perl; # ["foo", "bar", "foo", "bar"] my @x = ('abc', 'def'); my @d; @d.push: @a, @x; say @d.perl; # [["foo", "bar"], ["abc", "def"]] my @e; @e.append: @a, 10:28
camelia rakudo-moar be66ad: OUTPUT«["foo", "bar"]␤»
Erendis42 m: my @a = ('foo', 'bar');my @b;@b.push: @a;my @c;@c.append: @a;@b.push: @a;@c.append: @a;my @x = ('abc', 'def');my @d;@d.push: @a, @x;my @e;@e.append: @a, @x;say @e.perl; 10:32
camelia rakudo-moar be66ad: OUTPUT«[["foo", "bar"], ["abc", "def"]]␤»
Erendis42 yay
10:39 tokuhirom joined 10:44 tokuhirom left
lizmat m: for (^10).grep({$_}) -> $a, $b { say $a, $b } # this should work, shouldn't it ? 10:46
camelia rakudo-moar be66ad: OUTPUT«12␤34␤56␤78␤Too few positionals passed; expected 2 arguments but got 1␤ in block <unit> at /tmp/gQ2qIje0PH:1␤␤»
grondilu created a RC for an annoying task he would like other people to solve for him :P : rosettacode.org/wiki/Display_a_line...ombination 10:48
psch lizmat: i don't think so? ^10 .grep({$_}) is 9 elements
lizmat ah.... good point!
psch++ # sanity check 10:49
10:52 n0tjack left
lizmat .tell jnthn Iterator.push-exactly has a $no-sink catch, is that needed in all custom iterator methods that do $target.push ?? 11:01
yoleaux lizmat: I'll pass your message to jnthn.
11:02 Hor|zon joined
grondilu is slightly annoyed that 'Scalar' is a thing in Perl 6. Would have wanted to make a subset with this name. 11:02
11:03 n0tjack joined
psch m: my subset Scalar of Int where 1..10; say 11 ~~ Scalar #? 11:04
camelia rakudo-moar be66ad: OUTPUT«False␤»
grondilu is that risk-free? 11:05
psch grondilu: well, it's lexical, and Scalar isn't really user-facing as a class afaik 11:06
grondilu ok
11:07 Hor|zon left, n0tjack left 11:09 hohoho_ left
jferrero m: my @x = (1.2, 2.4); my @y; say @x «+« @y; 11:10
camelia rakudo-moar be66ad: OUTPUT«[]␤»
jferrero m: my @x = (1.2, 2.4); my @y; say @x »+» @y;
camelia rakudo-moar be66ad: OUTPUT«[]␤»
jferrero m: my @x = (1.2, 2.4); my @y; say @x »+« @y; 11:12
camelia rakudo-moar be66ad: OUTPUT«Lists on either side of non-dwimmy hyperop of infix:<+> are not of the same length␤left: 2 elements, right: 0 elements␤ in block <unit> at /tmp/dD68W2i6W6:1␤␤»
jferrero m: my @x = (1.2, 2.4); my @y; say @x «+» @y; 11:14
camelia rakudo-moar be66ad: OUTPUT«[]␤»
11:20 ^elyse^ joined 11:22 leont joined
nine .tell jnthn I rejected rt.perl.org/SelfService/Display.html?id=125199 because I think it was just an error in the test script. Am I right? 11:24
yoleaux nine: I'll pass your message to jnthn.
dalek kudo/nom: 9b86933 | lizmat++ | src/core/Any-iterable-methods.pm:
Add push-exactly methods to grep

Should make some greps in some contexts faster
nine Turns out, even scary sounding tickets like "IO::Socket::INET behaving badly with Channels" can be quite simple to diagnose and close. 11:25
lizmat++ # speeding us up :)
lizmat m: my @a = ^Inf
camelia ( no output )
lizmat m: my @a = ^Inf.grep({$_}) 11:26
camelia ( no output )
lizmat I was just thinking that if an iteratior depends on another iterator
and that other iterator is lazy, then a "push-all" in the iterator should just die 11:27
"cannot iterate complete lazy list" or something
nine lizmat: .lines is also lazy but doesn't have to be infinite 11:28
While we treat lazy things as if they were infinite (as they potentially are), they don't have to be.
lizmat actually .lines is not
m: lines.is-lazy.sat 11:29
camelia rakudo-moar be66ad: OUTPUT«Method 'sat' not found for invocant of class 'Bool'␤ in block <unit> at /tmp/qSDJ_3LcJt:1␤␤»
lizmat m: lines.is-lazy.say
camelia rakudo-moar be66ad: OUTPUT«False␤»
masak good afternoon, #perl6
lizmat masak o/
nine So I need another example :/
lizmat but yeah, I got your point :-)
nine Too bad, because people tend to understand the .lines example. Especially when I mention the difference between some_words.txt and /dev/zero ;) 11:30
11:32 thou joined 11:34 edehont joined 11:36 thou left
nine m: role A { has $.a; submethod BUILD(:$!a) {}}; class B does A {}; B.new 11:37
camelia ( no output )
nine m: role A { has $.a; submethod BUILD(:$!a) {}}; class B does A {}; B.new(:a(1)).a.say
camelia rakudo-moar be66ad: OUTPUT«1␤»
nine m: role A { has $.a; submethod BUILD(:$!a, @a? is copy) {}}; class B does A {}; B.new 11:38
camelia rakudo-moar be66ad: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6wPMJUMCdB␤Cannot put optional positional parameter @a after variadic parameters␤at /tmp/6wPMJUMCdB:1␤------> 3s $.a; submethod BUILD(:$!a, @a? is copy7⏏5) {}}; class B does A {}; B.new␤ expect…»
nine m: role A { has $.a; submethod BUILD(@a? is copy, :$!a) {}}; class B does A {}; B.new
camelia ( no output )
nine Why is rt.perl.org/Public/Bug/Display.html?id=123407 still open? The given example seems to work now and it says "Test added." 11:39
lizmat: as the original reporter, do you think we can close this ^^^? 11:40
lizmat looks like :-) 11:41
11:42 n0tjack joined
jferrero m: my @x = (1.2, 2.4); my @y; my @z = @x »+» @y;say @z.perl; 11:44
camelia rakudo-moar be66ad: OUTPUT«[]␤»
nine m: my @x = (1, 2); my @y; my @z = @x »+» @y;say @z.perl; 11:46
camelia rakudo-moar be66ad: OUTPUT«[]␤»
11:51 edehont left
dalek kudo/nom: 877d493 | lizmat++ | src/core/Any-iterable-methods.pm:
push-exactly for unique/repeated/squish
11:51
11:51 edehont joined, edehont left
dalek c: 6753fed | (Gabor Szabo)++ | .travis.yml:
add travis configuration file
11:55
11:55 szabgab joined
szabgab hello there 11:56
lizmat szabgab o/
Zoffix \o 11:57
szabgab I have added .travis.yml to the perl6/doc repository, but I don't have the rights on Travis-CI to enable it, could someone please do it?
dalek Iish: 1673b09 | (Fayland Lam)++ | .travis.yml:
add mysql test database
12:00
Iish: 0ae7757 | (Fayland Lam)++ | .travis.yml:
correct mysql set
Iish: bc32ed4 | (Fayland Lam)++ | .travis.yml:
and postgres
Iish: b15c94f | (Fayland Lam)++ | .travis.yml:
Merge remote-tracking branch 'origin/master' into travis
Iish: 7166771 | (Zoffix Znet)++ | .travis.yml:
Merge pull request #24 from fayland/travis

useful travis tests
12:00 edehont joined
dalek osystem: adf5165 | (Gabor Szabo)++ | META.list:
add Perl6::Maven to the ecosystem
12:00
12:01 cognominal joined
psch j: my class native_callsite is repr("NativeCall") { }; role Foo { has native_callsite $.f } 12:02
camelia ( no output )
psch that's a golf for the "only works if we ignore SC" bug
as in, that bit breaks when i revert nqp commit 52e409ec
12:03 Hor|zon joined
szabgab same with the perl6/Pod-To-HTML repository 12:03
psch apparently because for some reason we try to bindattr on a CORE Attribute while treating it as a BOOTSTRAPATTR
.tell FROGGS irclog.perlgeek.de/perl6/2015-10-11#i_11356193 12:04
yoleaux psch: I'll pass your message to FROGGS.
dalek kudo/nom: 7003c7a | lizmat++ | src/core/Rakudo/Internals.pm:
Give MapIterator its own fast sink-all
12:06
12:07 Hor|zon left 12:12 zakharyas joined
dalek kudo/nom: 2d2fe30 | lizmat++ | src/core/Baggy.pm:
Baggy keys/values/pairs/kv get push-exactly
12:17
12:18 woolfy joined, woolfy left
jferrero m: my @x = (1.2, 2.4); my @y; my @z = @x »*» @y;say @z.perl; 12:20
camelia rakudo-moar 9b8693: OUTPUT«[]␤»
12:21 hohoho_ joined, void1 left
psch ah 12:22
it's even simpler, actually...
dalek Heuristic branch merge: pushed 43 commits to rakudo/curli by lizmat
psch any attribute in a role brings that bug out
lizmat psch: fwiw, there are still some oddities wrt roles and composition into classes (or other roles) 12:23
yesterday I spent some hours finding out you cannot have a lexical class in a role
jferrero m: my @x = (1.2, 2.4); my @y = (1); my @z = @x »*» @y;say @z.perl; 12:25
camelia rakudo-moar 7003c7: OUTPUT«[1.2, 2.4]␤»
lizmat cycling&
12:25 Erendis42 left 12:33 vendethiel left 12:34 weihan left, weihan joined
leont Can I regenerate the rakudo Makefile without having to rebuild all of Rakudo? 12:35
Why do I ask stupid questions 10 seconds before figuring it out? 12:36
--no-clean could be documented though 12:37
12:38 weihan left
szabgab leont: would it make more sense to ask the question *after* you figured it out? 12:38
12:38 weihan joined 12:41 tokuhirom joined
dalek line-Python: 2f035bd | (Gabor Szabo)++ | .travis.yml:
add travis configuration file
12:42
line-Python: d2b79b7 | niner++ | .travis.yml:
Merge pull request #6 from szabgab/travis

add travis configuration file
jferrero m: my @x = (1.2, 2.4); my @y = (''); my @z = @x »+» @y;say @z.perl;
camelia rakudo-moar 7003c7: OUTPUT«[1.2, 2.4]␤»
dalek c: 2bd17fc | (Akim Demaille)++ | doc/Language/regexes.pod:
Typo
12:43
c: 346b30f | niner++ | doc/Language/regexes.pod:
Merge pull request #153 from akimd/patch-2

Typo
c: 9b54e90 | (Akim Demaille)++ | doc/Language/regexes.pod:
Typo
c: 59c873d | niner++ | /:
Merge pull request #152 from akimd/patch-1

Typo
FROGGS hmmm 12:44
yoleaux 12:04Z <psch> FROGGS: irclog.perlgeek.de/perl6/2015-10-11#i_11356193
12:45 tokuhirom left, kid51 joined
FROGGS psch: what if we have to care about .delegates like in here in another place? github.com/perl6/nqp/commit/0c26f6...21cccdab89 12:46
12:48 szabgab left
psch FROGGS: i don't see the connection - the golfest i figured out is "role Foo { has $.f }" 12:49
12:49 some_body joined
psch FROGGS: aiu, delegates only matter for mixins, no? 12:50
some_body is there going to be a CPAN for perl6? or are CPAN modules going to be indexed as v6 modules?
pink_mist I think the details of that are still being worked on, some_body
FROGGS psch: well, that role is punned into a class at the time you use it, right? 12:51
12:51 diana_olhovik joined
some_body ah, i see 12:51
psch FROGGS: right, but i don't have to use it for compilation to die
FROGGS ahh
hmmm
psch the code it dies at is BOOTSTRAP.nqp:129 12:52
which is .add_method(Attribute, 'new', ... )
the first bindattr_s call in there, to be precise
dalek ast: 5bd83c5 | FROGGS++ | S06-parameters/smiley.t:
add rt tiket info to test
pink_mist some_body: as far as I understand it, the backend CPAN mirrors will have a "Perl6" directory for each author where perl5's cpan simply won't look, and the Perl6 modules will only be in there
psch FROGGS: fwiu, the Attribute in $attr in that line is a CORE Attribute, while the literal Attribute seems to refer to the BOOTSTRAP Attribute 12:53
which would mean that the staticcode closes over the BOOTSTRAP context and Attribute isn't repossessed..?
although i have absolutely no idea how to fix that, or even how to verify that's what happens... :) 12:55
FROGGS as jnthn pointed out a few days ago the stuff in BOOTSTRAP is not composed, so the classes in core extend and compose it
some_body pink_mist: that makes sense, that way p6 tooling could piggyback on top of CPAN as it exists already 12:56
pink_mist indeed =)
12:57 _4d47 joined
FROGGS psch: irclog.perlgeek.de/perl6/2015-10-06#i_11328418 12:58
psch FROGGS: gist.github.com/peschwa/6a9cd3518343e0f55079 is what makes me think we have a BOOTSTRAP Attribute in the static code
FROGGS psch: maybe we can create another test case with stubbed classes outside of the setting? 12:59
llfourn is it possible to tell when your routine is being called in sink context? 13:01
FROGGS llfourn: you can return an object that has a sink method 13:02
13:02 diana_olhovik left
llfourn FROGGS: ah. I guess that works. Cheers. 13:03
13:04 Hor|zon joined
psch FROGGS: i can't quite imagine what that would look like, tbh 13:04
dalek k-simple: 3067a02 | (Zoffix Znet)++ | README.md:
Mention that modules requires GTK3 lib
13:07
13:07 some_body left
psch FROGGS: the naive approach gives me "The following packages were stubbed but not defined:" 13:07
masak has hit the "everybody wants the colon" phase of 007 language design 13:08
13:08 ChoHag joined
FROGGS m: class Foo { ... }; Foo.^add_method('bar', method () { 42 }); class Foo { }; say Foo.new.bar 13:08
camelia rakudo-moar 2d2fe3: OUTPUT«42␤»
13:09 Hor|zon left
FROGGS psch: what does that do for you locally? 13:09
though, we need to fiddle with attributes I guess
psch oh, i tried spreading stuff over two files...
FROGGS you cant
psch yeah :)
replacing add_method with add_attribute throws the same exception as NativeCall compilation 13:11
m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<foo>)); class Foo { }; say Foo.new.bar # like this
camelia rakudo-moar 2d2fe3: OUTPUT«Required named parameter 'type' not passed␤ in block <unit> at /tmp/s6AfUQ0L1t:1␤␤»
nine FROGGS: in your example add_method will run after the class Foo { };, won't it? 13:12
psch i mean, it also throws the type complaint
but: Internal error while creating backtrace: org.perl6.nqp.sixmodel.reprs.P6OpaqueBaseInstance$NoSuchAttrException
FROGGS nine: yes, I think so 13:13
psch m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<foo>, :type(Any), :package(Foo) ) ); class Foo { }; say Foo.new.bar # uh..? 13:14
camelia rakudo-moar 2d2fe3: OUTPUT«Too many positionals passed; expected 3 arguments but got 4␤ in any add_attribute at gen/moar/m-Metamodel.nqp:333␤ in block <unit> at /tmp/wC9rt7sLoR:1␤␤»
psch m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<bar>, :type(Any), :package(Foo) ) ); class Foo { }; say Foo.new.bar # duh..
camelia rakudo-moar 2d2fe3: OUTPUT«Too many positionals passed; expected 3 arguments but got 4␤ in any add_attribute at gen/moar/m-Metamodel.nqp:333␤ in block <unit> at /tmp/1VSym9Cm3x:1␤␤»
psch still vOv
FROGGS m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.bar
camelia rakudo-moar 2d2fe3: OUTPUT«Too many positionals passed; expected 3 arguments but got 4␤ in any add_attribute at gen/moar/m-Metamodel.nqp:333␤ in block <unit> at /tmp/JQT9cOm7MJ:1␤␤»
FROGGS m: class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.bar 13:17
camelia rakudo-moar 2d2fe3: OUTPUT«Method 'bar' not found for invocant of class 'Foo'␤ in block <unit> at /tmp/J11gujhA7R:1␤␤»
FROGGS m: class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.foo
camelia rakudo-moar 2d2fe3: OUTPUT«Method 'foo' not found for invocant of class 'Foo'␤ in block <unit> at /tmp/nRmtZ83T5z:1␤␤»
FROGGS j: class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.foo
camelia rakudo-jvm 2d2fe3: OUTPUT«Method 'foo' not found for invocant of class 'Foo'␤ in block <unit> at /tmp/amvB4jf0XJ:1␤␤» 13:18
psch yeah, that's with the patch
Zoffix Is class Foo { }; supposed to be there twice?
psch locally: org.perl6.nqp.sixmodel.reprs.P6OpaqueBaseInstance$NoSuchAttrException: No such attribute '$!name' for this object
Zoffix: it's not; the first is explicitly stubbed
m: class Foo { ... }
camelia rakudo-moar 2d2fe3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PVBw2HSkkm␤The following packages were stubbed but not defined:␤ Foo␤at /tmp/PVBw2HSkkm:1␤------> 3class Foo { ... }7⏏5<EOL>␤ expecting any of:␤ postfix␤ statement end␤»
FROGGS rebuilding perl6-j... 13:19
psch FROGGS: no
FROGGS no?
psch FROGGS: i have "This reverts commit 52e409ec22755de7d9dd6309e10996a88f4ec872." commited locally
FROGGS me is locally rebuilding
yes, I reverted that one too
psch FROGGS: that id is the "ignore sc when looking for attributes"
ah, alright :)
just wanted to make sure that's the case 13:20
"no", might've been a bit terse for that intent... :)
-,
FROGGS hehe, np
13:20 thou joined
FROGGS was just surprised to get an answer to a non-question :o) 13:20
13:22 xenu joined 13:24 llfourn left 13:25 thou left
psch FROGGS: you might want to extend RuntimeException and throw that subclass instead of RTE in P6OpaqueBaseInstance.java:24 13:28
'cause that's easier to catch because we use RTEs for lots of things...
that's only useful if you intent to jdb anything at all, though... :) 13:29
FROGGS well, I usually dont... 13:33
but please add it, seems like you know how to do that :o)
psch i had pondered if we want these kinds of subtypes in general
there's quite a few cases where it could make debugging easier
FROGGS $ perl6-j -e 'class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new' 13:34
Foo.new
hmmm
you got something else there?
psch no..?
my nqp is master + revert 52e409
13:34 zakharyas left
FROGGS ohh, the revert did not do the right thing 13:35
psch yeah it conflicts
because i added null checks later
13:36 pmurias joined, kjs_ joined
FROGGS aye 13:36
I reverted manually now
k, takes a while until I try things again 13:40
and I am afk for an hour or two
13:42 llfourn joined 13:45 ngie joined 13:54 spider-mario left 13:57 spider-mario joined 13:58 ambs_ is now known as ambs 14:04 rindolf left 14:05 Hor|zon joined, cognominal left, hohoho_ left
dalek kudo/nom: 9c1afaf | (Stefan Seifert)++ | src/ (2 files):
Helpful error message for use vstring; for v < v4 or > v6

Patch by (Konrad Borowski)++
14:07
nine FROGGS: how do you become the owner of a ticket in RT? 14:09
14:09 Hor|zon left 14:10 liztormato joined 14:11 ^elyse^ left 14:12 FROGGS_ joined 14:13 khw joined
timotimo .o( is skids a kid or a squid? ) 14:14
14:15 FROGGS left, _4d47 left 14:16 muraiki joined 14:19 lichtkind joined
timotimo @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]] 14:19
^- we want the single-argument semantics there, yes?
nine timotimo: I seem to remember that the answer is yes 14:20
liztormato Yeah
14:21 FROGGS[mobile] joined 14:22 ngie left
FROGGS[mobile] nine: there is an action called "übernehmen" 14:22
pink_mist single-argument semantics? I would have expected ["foo", "bar", "abc", "def"] 14:23
(I think?)
14:23 kjs_ left
nine FROGGS[mobile]: there isn't even a menu bar, much less the Take action 14:23
masak pink_mist: notice that there's two arguments. 14:24
14:24 rindolf joined
pink_mist masak: well sure, but isn't that what push is supposed to do? 14:24
masak (which means the single-arg rule *doesn't* apply, which means you don't get any flattening of those arrays)
pink_mist: no, push always pushes a single item onto the array. 14:25
nine FROGGS[mobile]: niner.name/rt.perl.org.png
pink_mist oh, even if you have push @e, @a, @x;?
that's illegal?
TimToady well, push can also push multiple, but that's not its main reason for existing
it uses ** rather than + semantics 14:26
nine m: my @a; my @b = 1, 2; my @c = 2, 3; @a.push: @b, $c; say @a;
camelia rakudo-moar 9c1afa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/B3qdswRDI7␤Variable '$c' is not declared. Did you mean '@c'?␤at /tmp/B3qdswRDI7:1␤------> 3y @b = 1, 2; my @c = 2, 3; @a.push: @b, 7⏏5$c; say @a;␤»
nine m: my @a; my @b = 1, 2; my @c = 2, 3; @a.push: @b, @c; say @a;
camelia rakudo-moar 9c1afa: OUTPUT«[[1 2] [2 3]]␤»
FROGGS[mobile] nine: I dont think I've ever seen "SelfService" in the url
TimToady push is "never flatten"
pink_mist and append is "sometimes flatten"? :/ 14:27
TimToady append only flattens a single arg
14:27 ^elyse^ joined
pink_mist right, sometimes flatten 14:27
nine FROGGS[mobile]: no matter what I do, I always get redirected to this SelfService thingy where I can't do shit
TimToady if you want p5-style flattening in p6, you generally have to use an explicit "flat" now
masak pink_mist: you make it seem inconsistent -- whereas in fact, it's quite consistent. 14:28
TimToady or use slip
pink_mist masak: it certainly seems inconsistent to me, yes
14:29 BenGoldberg joined
pink_mist masak: but that may be because I come from perl5 14:29
TimToady neither push nor append do * semantics, which is what p5 does
we have flat for that now
zostay m: class A { class B { } }; A.^name.say; A::B.^name.say; 14:30
camelia rakudo-moar 9c1afa: OUTPUT«A␤B␤»
nine pink_mist: short story is that p5 always flattens and that sucks. So you try to reduce flattening and arrive at an inconsistent weird mix. Then you invent the single-arg rule that gets you out of that mess with most of the benefits still intact.
14:30 coetry joined
dalek osystem: 03bd049 | (Fayland Lam)++ | META.list:
add Lingua::Unihan
14:31
osystem: 8ec5c88 | (Zoffix Znet)++ | META.list:
Merge pull request #70 from fayland/lingua-unihan

add Lingua::Unihan
timotimo rosettacode.org/wiki/Huffman_coding#Perl_6 - .classify({$_}).map({[+.value / $de, .key]}); has a really weird way to spell .Bag in it
14:31 cognominal joined 14:32 coetry left
TimToady mighta been written before we had Bag 14:33
or before we were thinking in terms of Bags
14:35 ngie joined
literal W 4 14:37
moritz m: say Int:D.perl 14:38
camelia rakudo-moar 9c1afa: OUTPUT«Int:D␤»
moritz m: say 4 ~~ Int:D
camelia rakudo-moar 9c1afa: OUTPUT«True␤»
moritz m: say 4 ~~ Int:U
camelia rakudo-moar 9c1afa: OUTPUT«False␤»
moritz FROGGS[mobile]++
FROGGS[mobile] :D
moritz m: my Int:D $x = Int; 14:39
camelia rakudo-moar 9c1afa: OUTPUT«Type check failed in assignment to $x; expected Int:D but got Int␤ in block <unit> at /tmp/NPrPOEqZ0r:1␤␤»
nine FROGGS[mobile]: if you have access to user management, _please_ change my RT user to something useful
FROGGS[mobile] nine: I cant, but [Coke]++ can 14:40
nine [Coke]: Can you _please_ fix my RT user (nine@detonation.org). All I get is niner.name/rt.perl.org.png and it's so frustrating to work with. 14:41
masak [Coke]++ # managing le RT 14:42
14:42 tokuhirom joined
nine FROGGS[mobile]: in RT #122971 you said that you've a fix in the works. That was 2014-10-13. Any news on that? 14:43
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122971
14:44 llfourn left
moritz m: use variable :D; my Int $x = Int; 14:44
camelia rakudo-moar 9c1afa: OUTPUT«===SORRY!===␤Could not find variable in any of:␤ file#/home/camelia/.perl6/2015.09-337-g9c1afaf/lib␤ inst#/home/camelia/.perl6/2015.09-337-g9c1afaf␤ file#/home/camelia/rakudo-inst-2/share/perl6/lib␤ file#/home/camelia/rakudo-inst-2/share/perl…»
moritz m: use variables :D; my Int $x = Int;
camelia rakudo-moar 9c1afa: OUTPUT«Type check failed in assignment to $x; expected Int:D but got Int␤ in block <unit> at /tmp/BaZngeSZMa:1␤␤»
14:47 tokuhirom left
liztormato m: use variables :D; my $a = Int 14:48
camelia rakudo-moar 9c1afa: OUTPUT«Type check failed in assignment to $a; expected Any:D but got Int␤ in block <unit> at /tmp/YuZEl0dajd:1␤␤»
14:49 edehont left 14:51 mr_ron left 14:57 liztormato left
moritz m: say 5 * (1..^3) 14:59
camelia rakudo-moar 9c1afa: OUTPUT«5..^15␤»
moritz writes a bit of ChangeLog 15:00
15:03 vendethiel joined
moritz m: say &infix:<+>.file 15:04
camelia rakudo-moar 9c1afa: OUTPUT«gen/moar/m-CORE.setting␤»
moritz m: say &infix:<+>.line
camelia rakudo-moar 9c1afa: OUTPUT«6788␤»
TimToady looks forward to the day we can make those point to the original file 15:05
15:06 Hor|zon joined, diana_olhovik_ joined
dalek kudo/nom: cb680b2 | moritz++ | docs/ChangeLog:
Fill out ChangeLog for 2015.10 a bit

quite impressive what got done already. Please add your favorite new features / fixes.
Also add an item (Enum gone) that was already part of 2015.09
15:06
TimToady when are we releasing the First Beta? 15:07
moritz TimToady: dunno; maybe today? :-) 15:08
TimToady: what does the First Beta entail?
15:08 thou joined
TimToady mostly tricking people into starting to use it :) 15:09
moritz :-)
I meant more for the one doing the release
is it a Rakudo release? 15:10
or an R* release?
or a release of roast?
TimToady roast is already officially in beta state :)
15:10 Hor|zon left
TimToady there's really no difference, other than it's after my birthday :) 15:11
moritz TimToady: you have an admirable way of not actually answering questions :-)
TimToady maybe if we can say "Beta 1" in the release notes somewhere 15:12
and it'd be nice if our betas had rakudo *, but that's more work of course
15:13 thou left, n0tjack left
TimToady but really, I don't have strong opinions other than having something stable by Christmas (well, except when I do) 15:14
15:15 ZoffixW joined
FROGGS[mobile] nine: that's what is sleeping in MoarVM/sepsis... needs discussion with jnthn 15:16
muraiki hah, "type smilies". I like that. :D
dalek osystem: 6e96ebb | moznion++ | META.list:
Add Backtrace::AsHTML
15:17
osystem: e49ca1b | RabidGravy++ | META.list:
Merge pull request #71 from moznion/backtrace-ashtml

Add Backtrace::AsHTML
15:17 ^elyse^ left 15:18 rurban joined 15:20 thou joined
dalek c: 52a3976 | moritz++ | doc/Type/Code.pod:
Document Code.{line,file}
15:21
timotimo ah, slowest backlog day ever for me
15:21 n0tjack joined
timotimo i just posted the rosettacode example "huffman coding" because someone on twitter remembered it as a very hard-to-read/understand/explain piece of code, and i agreed 15:21
15:23 rurban left 15:24 diana_olhovik_ left
jferrero m: my @x = 1.2, 2.4; my @y; my @z = @x »+» @y; say @z.perl; 15:24
camelia rakudo-moar cb680b: OUTPUT«[]␤»
dalek c: 3a46a12 | moritz++ | doc/Type/List.pod:
List.pod: Fix .push examples to use .append instead
15:27
15:27 n0tjack left
timotimo m: my @x = 1.2, 2.4; my @y = 99; my @z = @x »+» @y; say @z.perl; 15:27
camelia rakudo-moar cb680b: OUTPUT«[100.2, 101.4]␤»
moritz m: my @a = 1, 2; my @b = <c d>; my @c = <e f>; @a.push: @b; say @a.perl
camelia rakudo-moar cb680b: OUTPUT«[1, 2, ["c", "d"]]␤»
moritz m: my @a = 1, 2; my @b = <c d>; my @c = <e f>; @a.push: @b, @c; say @a.perl
camelia rakudo-moar cb680b: OUTPUT«[1, 2, ["c", "d"], ["e", "f"]]␤»
timotimo i've never considered the edge case of an empty list on the pointy end of a hyperop 15:28
jferrero Oops! 15:29
m: my @x = 1.2, 2.4; my @z; for ^4 { @z = @z «+« @y } say @z.perl; 15:30
camelia rakudo-moar cb680b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cpxb3tXVFz␤Variable '@y' is not declared␤at /tmp/cpxb3tXVFz:1␤------> 3= 1.2, 2.4; my @z; for ^4 { @z = @z «+« 7⏏5@y } say @z.perl;␤»
TimToady if we take reductions as the prototype, it should probably return the other end unchanged
jferrero m: my @x = 1.2, 2.4; my @z; for ^4 { @z = @z «+« @x } say @z.perl;
camelia rakudo-moar cb680b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kac0lEsfAh␤Strange text after block (missing semicolon or comma?)␤at /tmp/kac0lEsfAh:1␤------> 032, 2.4; my @z; for ^4 { @z = @z «+« @x }7⏏5 say @z.perl;␤»
TimToady m: say [+] 42 15:31
camelia rakudo-moar cb680b: OUTPUT«42␤»
timotimo so just apply &infix:<+>($_) onto the list on the LHS?
and error out if there's no one-arg meaning for the op?
TimToady m: say &infix:<+>("foo")
camelia rakudo-moar cb680b: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '7⏏5foo' (indicated by 7⏏)␤ in block <unit> at /tmp/hJ4Xnka_VT:1␤␤Actually thrown at:␤ in block <unit> at /tmp/hJ4Xnka_VT:1␤␤»
timotimo we may want to point out that even though "Enum" is gone, enums still exist in the changelog 15:33
also, the "basic arithmetic operations" change got pasted into the middle of the array.push/array.append change 15:34
jferrero m: my @x = 1.2, 2.4; my @z = 0, 0; for ^4 { @z «+=« @x }; say @z.perl;
camelia rakudo-moar cb680b: OUTPUT«[4.8, 9.6]␤»
15:34 rurban joined 15:35 rurban left
muraiki yeah, more detail on what "Enum type is gone" means would be helpful :) 15:35
timotimo is "fc" on the JVM backend already better than just stubbed?
nine Enum is now Pair ;)
cognominal m: say [+] 15:36
camelia rakudo-moar cb680b: OUTPUT«0␤»
timotimo m: enum Foobar <a b c>; say Foobar.WHAT; say a.WHAT;
camelia rakudo-moar cb680b: OUTPUT«(Foobar)␤(Foobar)␤»
timotimo you lied! :)
dalek href="https://modules.perl6.org:">modules.perl6.org: e7adfda | (Zoffix Znet)++ | web/ (2 files):
Improve styles

Make intro paragraphs more visible and better-organized. Mirror intro paras styling on the footer
15:37
15:37 tokuhirom joined, ^elyse^ joined
FROGGS[mobile] TimToady: do you know of any properties a roast release should have? 15:39
cognominal m: my @a; @a[0] := @a; say @a.perl; say EVAL(@a.perl).perl
camelia rakudo-moar cb680b: OUTPUT«(my \Array_140686612322256 = [Array_140686612322256,])␤[Mu]␤»
TimToady tags?
this whole "releasing a test suite" thing is kinda bogus till we have a second implementation of Perl 6 :) 15:40
FROGGS[mobile] I mean, we already can fudge roast for --ver=v6 instead of supplying a compiler name.. 15:41
dalek c: 40beaa4 | moritz++ | doc/Type/Array.pod:
Document Array.{append,prepend}

also try to clarify the behavior of .push a bit more
15:41 tokuhirom left
cognominal m: (my \a = []).perl 15:41
camelia ( no output )
cognominal m: say (my \a = []).perl 15:42
camelia rakudo-moar cb680b: OUTPUT«[]␤»
cognominal m: say (my \a = [a]).perl
camelia rakudo-moar cb680b: OUTPUT«[Mu]␤»
FROGGS[mobile] this way we would know how much rakudo complies to Perl 6
but yeah, there would be no user yet for that spec release
moritz TimToady: so would the monthly compiler release be OK, with an added note "this is Beta 1"? 15:43
TimToady: or do want to do a separate release?
TimToady just normal monthly
15:43 rindolf left
FROGGS[mobile] but we should do it anyway, add a readme and a release announcement, and give it a proper name/version 15:43
moritz: +1 to normal monthly 15:44
15:44 pmurias left
FROGGS[mobile] let's continue to do what we know works for us 15:44
moritz .tell [Coke] as the next release manager, please mark the 2015.10 release as the first Perl 6 Beta release in the announcement 15:45
yoleaux moritz: I'll pass your message to [Coke].
moritz does that make the version b1?
if so, we should support "use v6.b.1" or something
15:45 rindolf joined
moritz or v6.b1 15:45
FROGGS[mobile] TimToady: can you decide on the Perl 6 version name/scheme? 15:46
15:46 weihan left
TimToady Letters are fine by me, except we should support it in v. notation somehow 15:46
FROGGS[mobile] m: say v6bollox cmp v6charming 15:48
camelia rakudo-moar cb680b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HuY5xURJCg␤Undeclared routines:␤ cmp used at line 1␤ v6bollox used at line 1␤ v6charming used at line 1␤␤»
FROGGS[mobile] m: say v6bollox <=> v6charming
camelia rakudo-moar cb680b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GOq3RoQBJB␤Two terms in a row␤at /tmp/GOq3RoQBJB:1␤------> 3say v6bollox <=>7⏏5 v6charming␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end…»
FROGGS[mobile] hmpf
15:49 thou left 15:51 domidumont joined
TimToady lunch & 15:53
15:55 muraiki left
nine m: say (class {}) === (class {}) 15:56
camelia rakudo-moar cb680b: OUTPUT«False␤»
nine Ah, I fixed that yesterday already :)
15:57 domidumont left
ugexe m: Buf.new()[].say; Buf.new()[0].say; Buf.new()[0..0].say 15:57
camelia rakudo-moar cb680b: OUTPUT«Buf:0x<>␤0␤()␤»
15:57 muraiki joined, domidumont joined
_itz_ panda list --installed and --verbose doesn't work anymore 15:57
16:00 hohoho_ joined
dalek kudo/nom: d4aea32 | timotimo++ | docs/ChangeLog:
bring arary.push/array.append lines back together
16:02
ZoffixW Um. How do I specify my module's version in the code? Perl 5's $VERSION = 1.001001; I see this, but there are only comparison of version numbers: docs.perl6.org/type/Version
ugexe unit module Foo:version<4.20> ? 16:03
ZoffixW Ah. Thanks. ugexe++ 16:04
16:04 hohoho_ left 16:06 muraiki left 16:07 Hor|zon joined
timotimo i'm a tiny bit weirded out by curtispoe always writing "we can optimize heavily on" gradual typing 16:07
16:08 blackcat_ left 16:11 edehont joined 16:12 Hor|zon left
FROGGS_ m: v6.b # TimToady: what if version literals would need parens to call methods? I mean, how often do you all method on version objects anyway... 16:13
camelia rakudo-moar cb680b: OUTPUT«Method 'b' not found for invocant of class 'Version'␤ in block <unit> at /tmp/sApeJtqrU4:1␤␤»
16:13 FROGGS_ is now known as FROGGS
ugexe ive used version.ACCEPTS... not that its ideal 16:14
dalek ast: ce9d2a5 | (Stefan Seifert)++ | S06-advanced/stub.t:
Fix and fudge S06-advanced/stub.t

Now that we can redeclar stubbed subs, we can run these tests.
kudo/nom: d28c37d | (Stefan Seifert)++ | / (2 files):
Allow for redeclaration of stubbed subs

Fixes RT #122613: perl6 -e "sub a{...}; sub a{42};"
16:15
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122613
ugexe ah literal sorry
ZoffixW What "fudge" 16:16
ZoffixW points to the commit message above
*What's fudge?
nine ZoffixW: it means mark spec tests as todo or skip for a certain implementation (rakudo usually)
ZoffixW: most of the file passes, but one feature is not yet implemented. 16:17
ZoffixW Ah. Thanks
16:19 Jaglor joined, ][Sno][ joined
dalek ast: 84115c6 | (Stefan Seifert)++ | S12-class/anonymous.t:
Test for RT #114716

  (class {}) is now !=== (class {})
16:21
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=114716
16:21 cognominal left
moritz in t/spec/S13-overloading/typecasting-long.t 16:22
#?rakudo todo 'RT #112642 A() unwanted magic for :(A:U) with an overloaded .()' throws-like 'class XXX { method CALL-ME(XXX:U: $x) { } }; XXX();', Exception, 'RT #112642 ($:) -> (:U, $) arity check';
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=112642
16:22 mr_ron joined
moritz I'm blind; why should this throw an exception? 16:22
the code declare $x to the be invocant, undefined 16:23
mr_ron The latest question on perlmonks.org, perlmonks.org/?node_id=1144391 , is about someone being unable to run rakudo * on Windows 10. The answers so far don't look encouraging. I am a perlmonk and I run rakudo * on Windows 7. Anyone have an idea about an encouraging answer for the person? 16:25
moritz or should it die at declaration time, because it somehow overrides coercion syntax?
mr_ron The error on Windows 10 seems to be: "This version of MoarVM is not compatible with this version of Windows". 16:26
_itz_ I have built and run Rakudo * fine on Windows 10
I wonder if its a 64 bit v 32 bit issue
mr_ron _itz_ you built it or installed it for one of the .msi files 16:27
ZoffixW Yeah, that's usually the message for it
mr_ron s/for/from/
_itz_ I built my own .msi file for the last release
ZoffixW The last release on rakudo.org/downloads/star/ is from June. Ancient. 16:28
*.msi release
mr_ron _itz_ your .msi includes Task::Star? 16:29
_itz_ yes
one sec and I can put up an unofficial one for download
mr_ron Thanks - may be worth a try ... 16:30
I'll try installing it myself by the way - just as a check... 16:31
_itz_ that would be useful 16:32
ZoffixW 'd like a copy too 16:34
timotimo moritz: i think if it declared the invocant to be $x, it'd have to be XXX:U $x: 16:36
instead of XXX:U: $x
ZoffixW: FROGGS is going to build the newest .msi
ZoffixW \o/
FROGGS[mobile] ahh dang, I forgot again 16:37
16:37 FireFly joined
FROGGS[mobile] -.- 16:37
ZoffixW :)
timotimo hehe
FROGGS[mobile] if I *dont* forget again there well be an msi in about three hours 16:38
timotimo three hours!
i'm looking forward to it :)
16:39 tokuhirom joined
mr_ron FROGGS: sounds great! 16:39
16:39 Effilry joined
mr_ron Any reason for concern about compatibility with Windows 10? 16:39
16:41 Effilry left, Effilry joined 16:42 FireFly left, Effilry is now known as FireFly 16:43 tokuhirom left
_itz_ pl6anet.org/drop/rakudo-star-2015.09.STM.x64.msi 16:44
that an unofficial (hence STM) 64 bit build done on windows 10 (but with VS2010) 16:45
timotimo "STM"? 16:50
_itz_ my initials 16:51
hence stmuk
mr_ron working on installing it ... 16:52
16:53 skids joined
timotimo oooh 16:56
of course
_itz_ actually it compiled OK on VS2015 but I saw weird warnings and I developed a dislike for VS2015 based on its bloaty and generally crappy ("login to your IDE") nature 17:03
ZoffixW Is there a way to improve this (both the way the attribute is declared and the error message)?: 17:04
m: class Foo { has Int $.indent where { $_ == 2 or $_ == 4 or $_ == 8 } = 4; }; say Foo.new( :indent(78) ).indent
camelia rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!indent; expected <anon> but got Int␤ in block <unit> at /tmp/s87p7Jvw3k:1␤␤»
timotimo sure 17:05
ZoffixW How? :)
timotimo m: subset ValidIndent of Int where any(2, 4, 8); class Foo { has ValidIndent $.indent = 4 }; say Foo.new(:indent(99))
camelia rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!indent; expected ValidIndent but got Int␤ in block <unit> at /tmp/tiPf0WPjXQ:1␤␤»
ZoffixW timotimo++
timotimo :)
moritz timotimo: heh, I was about to write the same, but with TabStop instead of ValidIdent :-)
timotimo that'd be fine, too 17:06
you know that some people indent with 3 spaces?
moritz let's roast 'em
ZoffixW It's for a web service that only allows 2, 4, and 8. I have no control over it
ZoffixW also wonders who in the world idents with 8 spaces
moritz ZoffixW: people who migrated straight from hard tabs, presumably 17:07
btyler spacebar QA testers
ZoffixW btyler++
17:08 Hor|zon joined, Jaglor left
_itz_ programmers paid by the character? 17:09
ZoffixW heh
17:10 thou joined
mr_ron _itz_: I think I have your rakudo * running -thx. Will probably wait a few hours for official release to announce on perlmonks ... 17:10
17:13 Hor|zon left 17:15 thou left
moritz can anybody proficient in travis explain DBIish's .travis.yaml to me? 17:16
for example, why doesn't it have to list mysql and postgres as services?
github.com/perl6/DBIish/blob/master/.travis.yml 17:17
dalek Iish: bb3fea5 | moritz++ | .travis.yml:
Remove an outdated TODO comment
17:17 rurban joined
ugexe legacy infrastructure might act different from whats documented. add 'sudo: false' 17:22
dalek kudo/nom: 02d3166 | lizmat++ | src/core/ (2 files):
Return only when iteration end reached

Not every time we've reached sufficient number of elements to push
17:24
TimToady FROGGS[mobile]: don't need parens
m: say v6.0\.gist
camelia rakudo-moar d28c37: OUTPUT«v6.0␤»
ZoffixW Am I doing something wrong? How come this fails: 17:25
m: class Foo { subset Token of Str where m:P5/^[[:xdigit:]]{40}$/; has Token $.token; }; say Foo.new( :token('4c6567f85f0980f30987b69b78767647c2165a26') ).token
camelia rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!token; expected Token but got Str␤ in block <unit> at /tmp/jtx2hSxV7S:1␤␤»
lizmat another thing I realized when cycling, is that we probably want to make "bool-only" a required method for the Iterator interface
TimToady do you mean ** 40 there? 17:26
oh wait, P5
ugexe ah it looks like a copy of mysql and postgres are started by default according to docs.travis-ci.com/user/database-setup/
timotimo lizmat: i don't really understand your latest commit; is that about correctness or performance?
lizmat performance
falling off a sub is cheaper than doing a return 17:27
timotimo oh!
yes, indeed
TimToady ZoffixW: looks like a bug to me
timotimo very much so
lizmat so instead of doing a return for every time we got sufficient elements
timotimo you just fall out of the loop
gotcha
lizmat we're only returning when the iteration is finished
FROGGS m: say v6.0.gist 17:28
camelia rakudo-moar d28c37: OUTPUT«v6.0␤»
FROGGS m: say v6.0.alpha
camelia rakudo-moar d28c37: OUTPUT«Method 'alpha' not found for invocant of class 'Version'␤ in block <unit> at /tmp/BIJ9tZu8iz:1␤␤»
TimToady pity we can't read their mind there :)
FROGGS TimToady: but how can I use letters as part of the version there? 17:29
TimToady I'm willing to break method calls on versions, I think, since workaround is just a \
FROGGS m: say Version.new('v6.0.alpha') # that should do
camelia rakudo-moar d28c37: OUTPUT«vv.6.0.alpha␤»
FROGGS ups
TimToady vv? 17:30
lizmat m: m: say Version.new('6.0.alpha')
camelia rakudo-moar d28c37: OUTPUT«v6.0.alpha␤»
FROGGS TimToady: yeah, that is what I think I proposed... treat alphas as version parts
TimToady yes, you proposed that, which is why I pointed out you don't need parens
lizmat now that we have infix . , that would be easy , no
TimToady thattttoo 17:31
lizmat m: say v6.0.alpha . gist
camelia rakudo-moar d28c37: OUTPUT«Method 'alpha' not found for invocant of class 'Version'␤ in block <unit> at /tmp/1_3X8Xe1s2:1␤␤»
FROGGS though parens might also be nice there
ZoffixW TimToady, seems like POSIX classes are not supported:
m: say [ '4c' ~~ m:P5/[[:xdigit:]]/, '4c' ~~ m:P5/[[:print:]]/ ].perl
camelia rakudo-moar d28c37: OUTPUT«[Bool::False, Bool::False]␤»
FROGGS I mean, allow both... backslash or parens
BenGoldberg m: say Version.new('6.0.alpha').gist
camelia rakudo-moar d28c37: OUTPUT«v6.0.alpha␤»
TimToady there are plenty of workarounds if we guess the other way 17:32
the workaround going the other way is...arduous
17:33 sufrostico joined, sufrostico left, sufrostico joined 17:39 llfourn joined
TimToady FROGGS: by which I mean, I've decided we should guess "more version" 17:40
17:41 itz_stmuk joined
FROGGS *nod* 17:42
timotimo FROGGS: you're working on the msi right now? 17:43
17:43 llfourn left
timotimo a bunch of the travis badges on the modules page are wrong 17:44
FROGGS I do
timotimo DBIish says "build error", a few "build error" link to a "this repository isn't active on travis-ci yet" (probably a switch you have to flip in the repo config on github?)
sergot: your perl6-encode repo for example is like this :) 17:45
17:46 Ven joined 17:49 eliasr left
ZoffixW timotimo, what should those badges say? 17:50
17:50 n0tjack joined
ZoffixW I guess "build unknown"... 17:50
dalek kudo/nom: ec5186a | ugexe++ | src/core/List.pm:
Fix rotor for some Positionals

Assure $!reified is set for method .rotor
Fixes Buf/Blob.new().rotor(1) error "This type does not support elems"
17:52
kudo/nom: c749677 | niner++ | src/core/List.pm:
Merge pull request #548 from ugexe/patch-2

Fix rotor for some Positionals
17:54 Ven left 17:55 Ven joined 17:58 kjs_ joined 18:00 n0tjack left 18:01 BenGoldberg left 18:02 Ven left
dalek ar: 12d32ac | FROGGS++ | .gitmodules:
fix git urls for submodules
18:05
kudo/nom: 5f9f4c0 | lizmat++ | src/core/Any-iterable-methods.pm:
Make for @a.grep(...) about 2x faster

By removing the explicit return-rw
18:06
18:08 n0tjack joined 18:09 Hor|zon joined, sufrostico left 18:11 Ven joined 18:13 Hor|zon left 18:16 n0tjack left
timotimo wow, 2x? that's pretty good! 18:16
TimToady is return-rw slow because it's rw, or because it's return? 18:17
timotimo it's probably a little extra on top of "it's return"
18:21 sufrostico joined
lizmat it's return, really, it is control-flow thingy 18:21
:-)
xenu are there any plans for cpan client for perl 6? as i can see, there is some work done in pause and metacpan code for perl6 18:26
but what about client?
lizmat xenu: first we need to solve the installation / precomp of modules properly 18:27
*then* we can really think about cpan like clients
well, imho :-)
zostay m: constant CRLF = "\x0a\x0d"; "GET * HTTP/1.1\r\n" ~~ /\S+ " " \S+ " " \S+ {CRLF}/ andthen say "success"; 18:28
camelia rakudo-moar 5f9f4c: OUTPUT«success␤»
zostay is that the best way to include a constsnt in a regex? does that optimize?
lizmat yes and not sure 18:29
zostay thx
skids {} is a sequence point and will prevent backtracking, but I'm not sure if that's a bad thing in context. 18:30
yoleaux 09:55Z <psch> skids: add_dispatchee works when called at BEGIN time
timotimo um
{} will not prevent backtracking
vendethiel it'll end LTM for that rule, though, I guess 18:31
well, not with a constant.
TimToady you want <{CRLF}> though 18:32
{CRLF} would do no matching 18:33
18:33 n0tjack joined
lizmat ah, duh... :-( 18:33
zostay aha, that would explain the other error i just made not breaking things: CRLF should not be \x0a\x0d, it should be \x0d\x0a 18:34
FROGGS m: constant $CRLF = "\x0d\x0a"; "GET * HTTP/1.1\r\n" ~~ /\S+ " " \S+ " " \S+ $CRLF/ andthen say "success"; 18:35
camelia rakudo-moar 5f9f4c: OUTPUT«success␤»
FROGGS zostay: one purpose of sigils is that they let you interpolate things 18:36
skids Oh right LTM. But not sure about the constant thing -- I mean {} is a "constant" and is used to do just that.
zostay i forget i can do that, thx FROGGS
FROGGS and I believe that my example will be as fast as a literal, because the string has a compile time value
timotimo no, { } on its own is already a LTM-terminating thing
TimToady note also that \n is supposed to match CRLF already
m: say "\x0d\x0a" ~~ /^ \n $/ 18:37
camelia rakudo-moar 5f9f4c: OUTPUT«「
TimToady m: say so "\x0d\x0a" ~~ /^ \n $/
FROGGS and so it does
camelia rakudo-moar 5f9f4c: OUTPUT«True␤»
18:38 n0tjack left
skids Yeah but HTTP has strict newline requirements. 18:38
zostay m: Buf.new(0x0d, 0x0a) x 2 # :'( 18:40
camelia rakudo-moar 5f9f4c: OUTPUT«WARNINGS:␤Useless use of "x" in expression ".new(0x0d, 0x0a) x 2" in sink context (line 1)␤Cannot use a Buf as a string, but you called the Stringy method on it␤ in block <unit> at /tmp/6JBu2iGVdf:1␤␤»
18:40 zakharyas joined, tokuhirom joined
timotimo m: say Buf.new(0x0d, 0x0a) x 2 18:41
camelia rakudo-moar 5f9f4c: OUTPUT«Cannot use a Buf as a string, but you called the Stringy method on it␤ in block <unit> at /tmp/BP4pgFeZn2:1␤␤»
timotimo m: say Buf.new(0x0d, 0x0a) xx 2
camelia rakudo-moar 5f9f4c: OUTPUT«(Buf:0x<0d 0a> Buf:0x<0d 0a>)␤»
18:41 kjs_ left
zostay m: say [~] Buf.new(0x0d, 0x0a) xx 2; 18:42
camelia rakudo-moar 5f9f4c: OUTPUT«Buf:0x<0d 0a 0d 0a>␤»
lizmat just finds out Bag.kv is borked and there are no spectests for it :-( 18:43
timotimo ah, ~ works on bufs, too
FROGGS ewww
lizmat m: my $b = ^10 .Bag; for $b.kv -> \k, \v { say k,v }
camelia rakudo-moar 5f9f4c: OUTPUT«Too many positionals passed; expected 2 arguments but got 4␤ in block <unit> at /tmp/l5C7XD8Oia:1␤␤»
lizmat is on it
18:44 tokuhirom left
ZoffixW rages 18:48
Can't find what possible values of "state" travis API can return...
And I'm knee deep in github.com/travis-ci/travis-api 18:49
"state" for /builds that is
Ven m: my token c { 'a' }; say 'a' ~~ /<.a>/ 18:50
camelia rakudo-moar 5f9f4c: OUTPUT«Method 'a' not found for invocant of class 'Cursor'␤ in block <unit> at /tmp/9sOOkrJdPl:1␤␤»
Ven m: my token c { 'a' }; say 'a' ~~ /$<rename>=<.a>/ 18:51
camelia rakudo-moar 5f9f4c: OUTPUT«Method 'a' not found for invocant of class 'Cursor'␤ in block <unit> at /tmp/vd6BjY5omW:1␤␤»
Ven that's what s05 recommends doing, though :(
moritz did you mean to call <.c> ? 18:52
m: m: my token c { 'a' }; say 'a' ~~ /$<rename=a>/
camelia rakudo-moar 5f9f4c: OUTPUT«Nil␤»
moritz m: m: my token c { 'a' }; say 'a' ~~ /$<rename=c>/
camelia rakudo-moar 5f9f4c: OUTPUT«Nil␤»
moritz m: m: my token c { 'a' }; say 'a' ~~ /$<rename>=<.c>/
camelia rakudo-moar 5f9f4c: OUTPUT«Method 'c' not found for invocant of class 'Cursor'␤ in block <unit> at /tmp/8NuHDEv2GB:1␤␤»
vendethiel ^ that's the issue 18:53
moritz m: m: my token c { 'a' }; say 'a' ~~ /$<rename>=<&c>/
camelia rakudo-moar 5f9f4c: OUTPUT«「a」␤ rename => 「a」␤»
moritz it works when done right :-)
vendethiel s05 says to use "<.c>", though?
moritz maybe S05 is a bit outdated
vendethiel or I've been confused for some time, because I remember that working..
moritz iirc . explicitly stands for a method call
18:54 Alina-malina left
FROGGS m: my token c { 'a' }; say 'a' ~~ /<a> 18:55
camelia rakudo-moar 5f9f4c: OUTPUT«5===SORRY!5===␤Regex not terminated.␤at /tmp/rXr4thxTcR:1␤------> 3my token c { 'a' }; say 'a' ~~ /<a>7⏏5<EOL>␤Unable to parse regex; couldn't find final '/'␤at /tmp/rXr4thxTcR:1␤------> 3my token c { 'a' }; say 'a' ~~ /<a>7⏏5<EO…»
FROGGS m: my token c { 'a' }; say 'a' ~~ /<a>/
camelia rakudo-moar 5f9f4c: OUTPUT«Method 'a' not found for invocant of class 'Cursor'␤ in block <unit> at /tmp/s2T13M26Zv:1␤␤»
FROGGS m: my token c { 'a' }; say 'a' ~~ /<c>/ 18:56
camelia rakudo-moar 5f9f4c: OUTPUT«「a」␤ c => 「a」␤»
leont I'm passing «none($*SPEC.updir, $*SPEC.curdir, < .svn CVS .git >)» to the :test argument of IO::Path.dir, and I'm still getting '..' in my results, this is a bug right?
First guess, it's matching the full name and not the basename…
FROGGS IIRC <c> will check for a &c, and fall back to Cursor.c
vendethiel I wanted not to capture c explicitly 18:57
like, $<name>=<smth>+
FROGGS m: m: my token c { 'a' }; say 'a' ~~ /<rename=c>/ 18:58
camelia rakudo-moar 5f9f4c: OUTPUT«「a」␤ c => 「a」␤ rename => 「a」␤»
FROGGS m: my token c { 'a' }; say 'a' ~~ /<rename=&c>/
camelia rakudo-moar 5f9f4c: OUTPUT«「a」␤ rename => 「a」␤»
18:59 thou joined
dalek ast: 12cf33f | skids++ | S02-literals/heredocs.t:
Test for RT #120895
18:59
ast: ded1b69 | skids++ | / (96 files):
Merge branch 'master' of github.com:perl6/roast
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=120895
ast: 97a1050 | skids++ | S (11 files):
Merge branch 'master' of github.com:perl6/roast
ast: c13bad1 | skids++ | S (4 files):
Merge branch 'master' of github.com:perl6/roast
ast: 6e3f725 | skids++ | / (17 files):
Merge branch 'master' of github.com:perl6/roast
ast: 449af8c | skids++ | S0 (2 files):
Merge branch 'master' of github.com:perl6/roast
ast: 7f9a23f | skids++ | S (34 files):
Merge branch 'master' of github.com:perl6/roast
ast: 552fa60 | skids++ | S (2 files):
More Heredoc/indent tabbification tests
skids dammit wth.
FROGGS O.o
skids I pushed from a branch and it pushed my master
How do I undo that. 19:00
FROGGS I dunno... go back to bed and hide under the pillow?
19:00 n0tjack joined
skids Is that supposed to happen, I mean, I'm in a branch and explicitly "push origin master" 19:01
And it does master -> master
FROGGS if you push to master, and merged master into your branch often, yes 19:02
what I usually do: create a branch, work in it for a while, then: git pull --rebase origin master && git checkout master && git pull && git merge mybranch 19:03
19:03 thou left
Ven m: my token c { 'a' }; say 'a' ~~ /$<foo=c>/; say 'a' ~~ /$<foo>=<c>/; 19:03
camelia rakudo-moar 5f9f4c: OUTPUT«Nil␤「a」␤ c => 「a」␤ foo => 「a」␤»
FROGGS though you only do that right before merging
Ven why does that first one not match
skids But when i creaated the branch, I did a "git branch <commit>" using the commit ID of master HEAD -- should that not have created a new branch without my merges?
FROGGS because at the time you rebased you branch onto latest master, you cannot push your branch upstream 19:04
Ven: remove the dollor
dollar*
that syntax has no meaning currently I believe... better we complained about it 19:05
Ven m: my token c { 'a' }; say 'a' ~~ /<foo=c>/; say 'a' ~~ /<foo>=<c>/;
camelia rakudo-moar 5f9f4c: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter = (must be quoted to match literally)␤at /tmp/2JGiBVzIKk:1␤------> 3 say 'a' ~~ /<foo=c>/; say 'a' ~~ /<foo>7⏏5=<c>/;␤Unable to parse regex; couldn't find final '/'␤at /tmp/2JGiBVzIKk:1␤…»
FROGGS no, only the first
skids Anyway It even committed stuff from the master that wasn't supposed to be committed yet.
And not the thing I actuay wanted to commit.
FROGGS <foo=c> is valid, as is $<foo>=<c> 19:06
dalek kudo/nom: d16d88e | TimToady++ | src/Perl6/Grammar.nqp:
allow alphabetic version components
19:06 sufrosti1o joined
dalek kudo/nom: b05dda3 | lizmat++ | src/core/Baggy.pm:
Unbreak Baggy.kv

And also handle the weird case: for $b.kv -> \a, \b, \c { }
19:06
FROGGS skids: then you perhaps wanted to cherry-pick stuff from your branch?
TimToady++
:o)
19:06 Alina-malina joined
skids I suppose the only way to clean that up is to push reverts? 19:07
19:08 n0tjack left
lizmat CurtisOvidPoe++ # www.quora.com/Perl-programming-lan...oe?share=1 19:08
masak m: say "foobar" ~~ / foo :: baz /
camelia rakudo-moar 5f9f4c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E7CGDGW9mF␤:: not yet implemented␤at /tmp/E7CGDGW9mF:1␤------> 3say "foobar" ~~ / foo ::7⏏5 baz /␤»
skids I don't want to make a further disaster by trying to fix it though.
masak is :: pre-Christmas? is there any workaround?
oh, I guess surround the rest of the regex with [... || <.panic>] 19:09
19:10 Hor|zon joined
FROGGS m: say $*SPEC.updir 19:11
camelia rakudo-moar 5f9f4c: OUTPUT«..␤»
FROGGS m: say $*SPEC.curupdir
camelia rakudo-moar 5f9f4c: OUTPUT«none(., ..)␤»
masak .oO( what's updir? ) :P 19:12
skids is very confused. The "merge" commits list the diffs for everything merged, even though they were already in the repo. If I revert them, does that undo all of everyone else's changes?
FROGGS leont: hmmm, that works on my box: say dir(:test(none $*SPEC.updir, $*SPEC.curdir, < .svn CVS .git >)) 19:14
19:15 Hor|zon left
FROGGS skids: just dont touch it :o) 19:15
skids Ok, but I committed some tests that rely on PR#543 which is not in yet. Maybe just reverting those from a fresh clone would be safe? 19:16
(and maybe I should figure out if git has a "dry run" option for future use) 19:17
labster good morning, * 19:18
yoleaux 09:56Z <psch> labster: irclog.perlgeek.de/perl6/2015-10-11#i_11355913
19:18 sufrosti2o joined
ZoffixW \o 19:18
19:18 sufrosti3o joined, sufrosti3o left
skids
.oO(Oh yes it does. Note to self. Do a --dry-run)
19:18
leont FROGGS: seems that putting the junction in a variable was what broke is :-s 19:19
19:19 n0tjack joined
FROGGS leont: that still works: my $test = none $*SPEC.updir, $*SPEC.curdir, < .svn CVS .git >; say dir(:$test) 19:20
grondilu sometimes wonder if we could not have foo@ mean @foo.reverse
FROGGS ewww
ZoffixW That's too magical
FROGGS grondilu: should be oof@ anyway :P
moritz grondilu: you'd have to spell it... what FROGGS said 19:21
flussence that'd make one-pass parsing a headache too
19:21 sufrosti3o joined
FROGGS that should make for a fund slang 19:21
fun*
skids It would probably make for interesting email address related bugs.
FROGGS skids: why? 19:22
[]oof@ would interpolate, not oof@
hehe, I like that idea
hi labster 19:23
19:23 n0tjack left, shlomif joined
labster hi FROGGS 19:23
19:24 Ven left
FROGGS @all: Microsoft Windows® MSI packages are now available for Rakudo Star 2015.09: rakudo.org/downloads/star/ 19:24
TimToady m: say v6b cmp v6birthday
camelia rakudo-moar b05dda: OUTPUT«Less␤»
TimToady m: say v6b cmp v6Birthday
camelia rakudo-moar b05dda: OUTPUT«More␤»
TimToady dunno what to do wrt case folding there... 19:25
m: use v6B; # it works!
camelia ( no output )
masak +1 on oof@ slang ;)
TimToady m: use v6C; # it doesn't work!
camelia ( no output )
masak doesn't harm one-pass parsing, AFAICS
19:26 Ven joined
flussence reason I said that is because it reminds me of p5's end-heavy regex modifiers... 19:26
19:26 sufrosti4o joined 19:27 sufrosti4o left, sufrosti3o left
dalek href="https://modules.perl6.org:">modules.perl6.org: 23965ac | (Zoffix Znet)++ | web/ (8 files):
Upgrade to Travis API v2

Fix incorrect status icons. Support all 6 icons instead of just 3
19:27
FROGGS m: say v6a < v6aa
camelia rakudo-moar b05dda: OUTPUT«Cannot call Real(Version: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/edLoz8ewrk:1␤␤»
labster [0]adogaplanacanalpagoda@
FROGGS m: say v6a lt v6aa 19:28
camelia rakudo-moar b05dda: OUTPUT«True␤»
19:28 sufrosti2o left, sufrosti1o left
FROGGS so, what's the version Perl 6 is going to start with? 19:28
TimToady m: say v6a before v6aa
camelia rakudo-moar b05dda: OUTPUT«True␤»
TimToady m: say $*PERL.version
camelia rakudo-moar b05dda: OUTPUT«v6.Birthday␤»
TimToady m: say v6B before $*PERL.version 19:29
camelia rakudo-moar b05dda: OUTPUT«True␤»
19:29 domidumont left
FROGGS Birthday kinda fits anyway 19:29
TimToady m: say v6b before $*PERL.version
camelia rakudo-moar b05dda: OUTPUT«False␤»
TimToady that's the case folding issue
FROGGS though, after 26 cycles or so it will get interesting
dalek href="https://modules.perl6.org:">modules.perl6.org: 787b23b | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
Get rid of discouraged JSON.pm
TimToady m: say v6a before v6.0 19:30
camelia rakudo-moar b05dda: OUTPUT«True␤»
TimToady so we can use up the alphabet on roast versions before we ever get to 6.0 :)
FROGGS :P
19:31 edehont left
FROGGS I guess that could work 19:33
TimToady but if we call it v6.Christmas, they have to say v6C rather than v6c, unless we case fold 19:34
FROGGS m: say v6AcmonBlue, v6BehrsHairstreak, v6ColumbianSkipper, v6DreamyDuskyWing 19:35
camelia rakudo-moar b05dda: OUTPUT«v6.AcmonBluev6.BehrsHairstreakv6.ColumbianSkipperv6.DreamyDuskyWing␤»
FROGGS (butterfly names fwiw)
masak m: say sort(v6AcmonBlue, v6DreamyDuskyWing, v6BehrsHairstreak, v6ColumbianSkipper) 19:36
camelia rakudo-moar b05dda: OUTPUT«(v6.AcmonBlue v6.BehrsHairstreak v6.ColumbianSkipper v6.DreamyDuskyWing)␤»
masak \o/
FROGGS but yeah, I imagine someone wants to put something short like 'use v6c' at the top of a program 19:37
19:37 Kcop joined
FROGGS or 'use v6C' for that matter 19:37
dalek ast: db83a45 | skids++ | S04-exceptions/fail.t:
Test default message in Failure.new without $! set.
skids Ok that's in, and I just need to work on reverts. (shoulda done "push origin temp:master" in the first place, apperently) 19:39
FROGGS wait... we can $*PERL.version report 'v6Birthday' and let the user use v6B...
though, is that sane?
TimToady I think it's pretty sane
dalek osystem: f799081 | (Andy Weidenbaum)++ | META.list:
add Config::TOML
osystem: 1a62b3e | (Zoffix Znet)++ | META.list:
Merge pull request #72 from atweiden/config-toml

add Config::TOML
TimToady as long as you don't expect cmp to return Same
moritz would prefer that
FROGGS yeah...
moritz that cmp returned Same
so rather make the version v6b, and have another field for Birthday 19:40
.codename
FROGGS +1
sanity restored
moritz the other solution felt like a "you think this is cute today" :-) 19:41
dalek href="https://modules.perl6.org:">modules.perl6.org: 1e061e3 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
Make trailing / optional
19:41 TEttinger joined
FROGGS and this would allow to use lowercase chars now without "magic" 19:41
Kcop my $string = "abc da sd ) lsdfklgj"; in perl5 if I need everything NOT including ) i would do something /^([^\)]+).*/ QUESTION: how do I do not ) for grammar tokens?
[^\)] doesn't work 19:42
FROGGS m: say "abc da sd ) lsdfklgj" ~~ /<-[)]>/
camelia rakudo-moar b05dda: OUTPUT«「a」␤»
FROGGS m: say "abc da sd ) lsdfklgj" ~~ /<-[)]>+/
camelia rakudo-moar b05dda: OUTPUT«「abc da sd 」␤»
FROGGS Kcop: ^^
Kcop omg, thnx
FROGGS <-[...]> is the same as [^...] 19:43
Kcop got it
FROGGS though you an do more, like:
Kcop thnx a lot
FROGGS <+\w-\d-[xyz]>
19:43 thundergnat joined
Kcop <-[..]> works like a charm! 19:44
thundergnat Howdy all you sixy people! 19:45
ZoffixW \o
Nice nickname!
FROGGS o/
dalek ast: b472446 | skids++ | S (2 files):
Revert "More Heredoc/indent tabbification tests"

This reverts commit 552fa608b13c4bdf4a53f119e48bff6b3fd0ba57.
Was committed too early by mistake
skids And I just leave the merge commits as a wall of shame entry for my lack of git-foo, I guess. 19:46
thundergnat Anyone about that runs Rakudo under windows? I want to test some perl6 terminal handling code under windows but don't have access to a windows computer I can install on right now. 19:47
ugexe ZoffixW: are you doing work on the modules page? i notice at the bottom the s12 badge shows the crossed out icon instead of the valid icon
the icon key/descriptions
xenu >Stage parse : NMAKE : fatal error U1077: 'C:\rakudo\bin\moar.EXE' : return code '0xc0000409' 19:48
hmm? is rakudo buildable with msvc?
FROGGS xenu: yes, it is
19:48 szabgab joined
FROGGS xenu: I just did that with visual studio 2012 19:48
thundergnat 2048 in perl 6. Works ok on Linux. Need to test Windows. github.com/thundergnat/2048/blob/master/2048.p6
xenu FROGGS: does it have any dependencies besides perl5 and stock msvc? 19:49
szabgab moritz: ping
moritz szabgab: pong
FROGGS xenu: you need the windows sdk
xenu: or you use starberryperl+gcc+gmake 19:50
moritz thundergnat: I get "Method 'f' not found for invocant of class 'Seq'"
szabgab if I am not mistaken you have full rights to the github.com/perl6
moritz szabgab: you are not mistaken
xenu hmm, isn't visual studio community edition coming with windows sdk?
FROGGS xenu: no idea :S
moritz thundergnat: with perl6-m 2015.09-338-gcb680b2
szabgab could you enable Travis-CI for the doc and Pod::To::HTML repos?
FROGGS xenu: what VS version is that? 19:51
xenu 2015
szabgab I've added the .travis.yml to both of them but Travis-CI itself need to be enabled
FROGGS xenu: ahh, this causes trouble I fear
moritz szabgab: sure
thundergnat moritz: phooey! thanks
xenu FROGGS: so it is known problem?
FROGGS xenu: older versions do work though
xenu FROGGS: if so, then i'll just use gcc
FROGGS xenu: yes, other ppl have reported it
xenu: maybe it is something we can change, but I don't know details 19:52
moritz szabgab: do you have any idea why travis-ci.org/moritz/Math-RungeKutta says "no buids for this repository"?
I've added a .travis.yml some hours ago, and enabled builds for it
pink_mist speaking of msvc, this was a very interesting blog post by the msvc team blogs.msdn.com/b/vcblog/archive/201...piler.aspx
moritz szabgab: done
FROGGS moritz: travis got no build requests for it yet 19:53
szabgab have you pushed anything *after* enabling on Travis-CI ?
moritz no
do I need to? :(
szabgab that's why
FROGGS moritz: go to the settings in github for that repo, and click the test buttong for that service
button*
ZoffixW Oh boy. I made a booboo
ugexe++ # for making me notice it :P 19:54
szabgab btw there is now this page: modules.perl6.org/recent.html the most recently changed repo at the top 19:55
19:55 raiph left
dalek href="https://modules.perl6.org:">modules.perl6.org: a5b3d28 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
Undo last commit

We need trailing / or the regex gives us wrong repo name.
19:56
moritz szabgab: what does "changed" mean? changed meta data? or simply new commits?
szabgab new commits
FROGGS moritz: read what I wrote
or... you commit :o) 19:57
dalek href="https://modules.perl6.org:">modules.perl6.org: f7a2c62 | (Zoffix Znet)++ | web/index.tmpl:
Improve explanation of panda S11 icons
szabgab whatever "last_updated" means in GitHub :)
moritz FROGGS: it doesn't hurt to review the docs once in a while :-)
ZoffixW ugexe, ^ fixed: i.imgur.com/OT6lEyd.png 19:58
19:59 darutoko left
ZoffixW szabgab, it's weird some of them don't have a last_updated (look at the bottom of modules.perl6.org/recent.html). There's a ton of "Use of uninitialized value in string comparison (cmp) at lib/P6Project.pm line 119." too 20:00
ugexe cool. looks good. ZoffixW++ 20:01
szabgab ZoffixW: strange
xenu FROGGS: the only thing i've found was github.com/MoarVM/MoarVM/issues/221 but it's fixed so maybe it's just me?
dalek href="https://modules.perl6.org:">modules.perl6.org: c1bbf0a | (Zoffix Znet)++ | web/lib/P6Project.pm:
Avoid uninitialized warnings
szabgab ZoffixW: there seem to be 5 such modules at the bottom of modules.perl6.org/recent.html 20:02
ZoffixW yeah
szabgab but I guess they generate a lot of warnings as they are being compared with the 380 other modules
FROGGS xenu: and you got way past that point...
ZoffixW nods
I fixed the warnings in the commit above though 20:03
20:03 Kcop left, telex left 20:04 Ven left, telex joined
szabgab ZoffixW: you will still get warnings on line 107 for the regex though 20:04
20:05 dbenton joined
szabgab maybe they should be set to "" on line 107 20:05
anyway, I have to go now 20:06
20:06 cygx joined
cygx o/ 20:06
szabgab I hope tomorrow all the modules will have Travis enabled :)
night &
dalek href="https://modules.perl6.org:">modules.perl6.org: ccbb463 | (Zoffix Znet)++ | web/lib/P6Project.pm:
Fix more warnings
ZoffixW night
20:06 szabgab left
cygx xenu: I'm using Strawberry perl, and I have to put `export MVM_SPESH_DISABLE = 1` at the top of my Makefile to make the setting compile 20:07
lizmat ZoffixW: gnight!
it was szabgab wishing gnight :) 20:08
20:08 Xor_ joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 898e1bc | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
Give {support}->{source} lower precedence

People seem to use {support}->{source} as an HTTP URL to view the repo and we have issues with people being loose on what they look like
20:10
20:11 Hor|zon joined
itz_stmuk xenu: VS2015 comes with the windows SDK. The instructions refer to VS2010 where you have to install VS2010 SP1 and SDK 7.1 (for 64 bit support) 20:14
20:15 Hor|zon left, hohoho_ joined
itz_stmuk I also suspect perl 5.22 (32bit) is needed since I saw config issues with Activestate 5.20 and 64 bit builds 20:16
20:16 CurtisOvidPoe joined
CurtisOvidPoe Can anyone give me an example of an “int” native type which run significantly faster than an “Int” type? 20:17
yoleaux 09:19Z <nine> CurtisOvidPoe: in case you missed it: the semicolon actually has a meaning in an argument list. It's for multi dimensional lists: perl6 -e 'sub foo(**@args) { say @args.perl; }; foo(1,2;2,3);' # [(1, 2), (2, 3)]
CurtisOvidPoe O 20:19
moritz CurtisOvidPoe: perl6-m -e 'my int $i = 2; for ^200 { $i *= $i }; say $i'
runs *much* faster with int than with Int
doesn't produce the same result, though :/
CurtisOvidPoe I’ve been using “my Int $i = 0; $i++ while $i < 10000000” and changing “Int” to “int” and it’s still slower to use a native type.
20:20 hohoho_ left
CurtisOvidPoe moritz: that’s an uncompelling example in my upcoming OSCON talk :) 20:20
If it’s not ready for prime-time, I’ll skip it. 20:21
TimToady use += instead of *= :)
20:22 Ven joined
moritz CurtisOvidPoe: time perl6-m -e 'my int $i = 2; for ^20000 { $i += $i % 6 }; say $i' 20:23
20:23 n0tjack joined, pmurias joined
moritz CurtisOvidPoe: takes 500ms where with int and 700 with Int 20:23
maybe not quite the speedup you are looking for
but mostly int is about saving memory, not speed 20:24
lizmat CurtisOvidPoe: could you try with "$i = $i + 1" ??
CurtisOvidPoe moritz: 0.237s vs. 0.281s. Again, not quite compelling. I think I should skip this.
pmurias TimToady: thanks for the testing getpid hint, I was able to create a test based on that
yoleaux 02:01Z <TimToady> pmurias: see irclog.perlgeek.de/perl6/2015-10-11#i_11355209 for how to test getpid
avar More generally the Perl 6 toolchain is too immature for most optimizations to be all that impressive.
The semantics are there to enable optimizations, but they mostly haven't been taken advantage of
20:25 TEttinger left
CurtisOvidPoe avar: I think I’ll have to go with that. My talk is in a couple of weeks and I’ll need to focus on strong features. I’m hoping to have a mostly non-Perl audience. 20:26
lizmat $ 6 'my int $i = 0; $i = $i + 1 while $i < 1000000; say $i'
1000000
real0m0.138s
my Int $i = 0; $i = $i + 1 while $i < 1000000; say $i'
1000000
real0m1.602s
TimToady you probably want something crypto with %
lizmat CurtisOvidPoe: that's a factor of 40 20:27
20:27 n0tjack left
avar On my server that's ~100ms with perl5: time perl -wE 'my $i = 0; $i = $i + 1 while $i < 1000000; say $i' 20:28
CurtisOvidPoe lizmat: when I switch “i = i + 1” to “i++”, “int” is slower than “Int”
TimToady % 6 doesn't mean much, but % 2**56 or so is gonna be a lot slower in Int than in int
avar Which doesn't do machine-type optimizations, which is what Int v.s. int implies
lizmat CurtisOvidPoe: that's because $i++ has not gotten attention in the optimization dept.
CurtisOvidPoe OK, too many pitfalls there. I’ll stay away from that.
FROGGS CurtisOvidPoe: it might be possible that we box the int to and Int to do the increment
avar So if you're looking to show off that Perl 6 has impressive optimizations it's not all that impressive :) 20:29
lizmat FROGGS: bs :-)
well, actually, that was jnthn's reaction when I said that
CurtisOvidPoe I’ll be focusing mainly on developer performance and not software performance.
avar Probably a good idea not to mention int v.s. Int at all then :) 20:30
lizmat irclog.perlgeek.de/perl6/2015-10-09#i_11347723 # FROGGS
lichtkind unshift doesnt glatten either?
CurtisOvidPoe Oh, and as I suspect most people here might know, Perl 6 is getting more and more questions. For example: www.quora.com/Perl-programming-lan...-in-Perl6/
lizmat FROGGS: "It's that we can't inline the native ++ yet"
CurtisOvidPoe So, no Perl++. Gotcha. :) 20:31
FROGGS :P
lichtkind i mean flatten
FROGGS CurtisOvidPoe: yeah, we've seen that question the other day (and your answer) :o) 20:32
lichtkind oh and another good news i will write for german open source mag also a perl 6 piece
propably mroe than one
CurtisOvidPoe FROGGS, that’s a new question and my answer is a rehash, actually.
lichtkind CurtisOvidPoe++
FROGGS ahh true... the original question had a different title 20:33
CurtisOvidPoe Yeah, the original question was flamebait: www.quora.com/Perl-programming-lan...ybody-care 20:34
FROGGS aye
lizmat we also lost the for ^1000 -> native int while optimization during the GLR
CurtisOvidPoe p6 say 1/(.1 + .2 - .3)
p6: say 1/(.1 + .2 - .3) 20:35
camelia rakudo-moar b05dda: OUTPUT«Attempt to divide 10 by zero using div␤ in block <unit> at /tmp/tmpfile:1␤␤Actually thrown at:␤ in block <unit> at /tmp/tmpfile:1␤␤»
CurtisOvidPoe Has anyone noticed that bug?
20:35 zakharyas left
lizmat m: say 42/(.1 + .2 - .3) 20:35
camelia rakudo-moar b05dda: OUTPUT«Attempt to divide 420 by zero using div␤ in block <unit> at /tmp/NHa8J2lDlI:1␤␤Actually thrown at:␤ in block <unit> at /tmp/NHa8J2lDlI:1␤␤»
20:35 cognominal joined
lizmat m: say 42/(.01 + .02 - .03) 20:35
camelia rakudo-moar b05dda: OUTPUT«Attempt to divide 4200 by zero using div␤ in block <unit> at /tmp/CoJb3okrwt:1␤␤Actually thrown at:␤ in block <unit> at /tmp/CoJb3okrwt:1␤␤»
CurtisOvidPoe That is not hte answer :)
s/hte/the/
lichtkind p6: my @a = 1; my @b = (2,3); push @a, @b 20:36
camelia ( no output )
nine .tell ZoffixW the Linux kernel sources use 8 spaces indentation
yoleaux nine: I'll pass your message to ZoffixW.
lichtkind p6: my @a = 1; my @b = (2,3); say push @a, @b
camelia rakudo-moar b05dda: OUTPUT«[1 [2 3]]␤»
lizmat you mean the value mentioned in the error message is wrong ?
CurtisOvidPoe lizmat: yes.
lichtkind p6: my @a = 1; my @b = (2,3); say unshift @a, @b
camelia rakudo-moar b05dda: OUTPUT«[[2 3] 1]␤»
20:36 Ven left
lichtkind will there be a prepend? 20:36
lizmat m: say 42/(1 + 2 - 3) # do you see the pattern ?
camelia rakudo-moar b05dda: OUTPUT«Attempt to divide 42 by zero using div␤ in block <unit> at /tmp/MXVahOY7NB:1␤␤Actually thrown at:␤ in block <unit> at /tmp/MXVahOY7NB:1␤␤»
20:37 n0tjack joined
lizmat at one point, it was considered a good idea to show the value with which we get a divide by zero error 20:37
but by the time the error message gets it, it was already normalized 20:38
FROGGS m: sub x() returns Array of Int { my @x of Int = 1,2,3 }; x
camelia rakudo-moar b05dda: OUTPUT«Type check failed for return value; expected Array[Int] but got $[1, 2, 3]␤ in sub x at /tmp/DM9rqZl0bf:1␤ in block <unit> at /tmp/DM9rqZl0bf:1␤␤»
FROGGS p6: my @a = 1; my @b = (2,3); say @a.prepend: @b 20:39
camelia rakudo-moar b05dda: OUTPUT«[2 3 1]␤»
FROGGS p6: my @a = 1; my @b = (2,3); say prepend @a, @b
camelia rakudo-moar b05dda: OUTPUT«[2 3 1]␤»
20:39 xfix left 20:40 Ven joined 20:41 n0tjack left 20:42 tokuhirom joined
CurtisOvidPoe By the way, does anyone recognize this error? It fails on my iMac, but works on my Macbook gist.github.com/Ovid/8d3085d466110d78aeda 20:42
btyler and before anyone follows the same trail I did -- it is _not_ because there's a PROVE_COMMAND in the env that runs prove without '-e perl6' 20:43
20:45 n0tjack joined 20:46 tokuhirom left
leont has a basic functioning harness in perl6 for rakudo's make test :-) 20:46
FROGGS leont: when are we going to integrate it?
20:47 thou joined
dalek blets: 8a9b1e5 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
update array methods; append, prepend added
20:48
20:48 Ven left
FROGGS CurtisOvidPoe / btyler: my guess is that libuv does something funny with command line arguments on your box 20:49
so that the -MFile::Find is read by prove, not perl6
or the prove versions differ 20:50
20:50 n0tjack left, Ven joined 20:51 BenGoldberg joined, thou left
leont FROGGS: it's definitely not integrateable yet, but close enough that I'm confident 20:51
FROGGS leont: then just ping one of us at the right time 20:52
leont Still some minor issues with my code (await should work on anything with a done method, right?), some tests outputting invalid TAP (# characters should be escaped), and me not having implemented the jvm specific bits of the harness script
Well, and a few other features for that matter, such as --archive 20:53
20:53 n0tjack joined 20:55 Ven left
FROGGS leont: await needs a Promise or Channel, nothing else 20:55
m: class Foo { method done { say "done" } }; await Foo.new # will that recurse endlessly? 20:56
camelia ( no output )
FROGGS m: class Foo { method done { say "done" } }; say await Foo.new
ahh, this will :o)
camelia rakudo-moar b05dda: OUTPUT«(timeout)»
CurtisOvidPoe In ‘sub build_panda”, line 486, we have this: “run which('perl6', $version) . " rebootstrap.pl”;”
And that returns '/Users/curtispoe/.rakudobrew/bin/../moar-nom/install/bin/perl6 rebootstrap.pl'
FROGGS is glad that he understood the source
dalek c: d122e4d | (Ben Noordhuis)++ | doc/Type/IO/ (6 files):
Fix broken links in IO documentation.
c: 96c828f | (Ben Noordhuis)++ | doc/Type/IO/Spec.pod:
Fix grammar in IO::Spec documentation.
c: 1a92c41 | (Ben Noordhuis)++ | doc/Type/Routine.pod:
Fix typo in Routine documentation.
c: 3a4fc35 | RabidGravy++ | doc/Type/ (7 files):
Merge pull request #154 from bnoordhuis/io-docs-fixups

Fix broken links in IO documentation.
CurtisOvidPoe does that look reasonable?
FROGGS CurtisOvidPoe: yes 20:57
CurtisOvidPoe Bugger. Nothing *looks* wrong. 20:58
FROGGS bnoordhuis++ 20:59
CurtisOvidPoe FROGGS: you wrote something about libuv possibly being in error?
FROGGS CurtisOvidPoe: can you compare the prove versions on both boxes?
21:00 edehont joined
FROGGS CurtisOvidPoe: that was just a guess 21:00
ZoffixW nine, that's probably due to Linus saying you're screwed if you need more than 3 levels of indents, so they never have many of them :P
yoleaux 20:36Z <nine> ZoffixW: the Linux kernel sources use 8 spaces indentation
CurtisOvidPoe Give me the exact command to type, please :)
21:00 cygx left
b2gills m: #`( is there a bug report for this?: ) say Real.^roles; say Int.^roles(:transitive) 21:00
camelia rakudo-moar b05dda: OUTPUT«Method 'roles' not found for invocant of class 'Perl6::Metamodel::ParametricRoleGroupHOW'␤ in block <unit> at /tmp/mcNv3cpxTM:1␤␤»
FROGGS CurtisOvidPoe: $ prove --version
TAP::Harness v3.26 and Perl v5.18.2
though if you have 5.20, you cant have an old version anyway... 21:01
21:01 sufrostico left 21:02 sufrostico joined
CurtisOvidPoe The working box is Tap::Harness v3.35 and perl v5.22.0 21:02
The broken box: TAP::Harness v3.30 and Perl v5.20.2
(And I feel really stupid for not realizing you meant Perl 5 prove and not something else, since I wrote the current “prove” command) 21:03
FROGGS *g* 21:04
21:04 n0tjack left, rindolf left
FROGGS the changelog does not reveal much... but if you don't have any prove environment vars set, the the only way forward is to dump the args of the subcall here: lib/Panda/Tester.pm:24 21:04
21:05 Xor_ left
FROGGS like: note ($prove-command, '-e', "$*EXECUTABLE $libs -Ilib", '-r', 't/').perl 21:05
21:07 shlomif left
dalek kudo/nom: b85ea62 | FROGGS++ | src/core/asyncops.pm:
add await candidate that catches non-awaitables
21:11
FROGGS my firsts async contribution, lol
21:12 Hor|zon joined, Xor_ joined
lizmat FROGGS++ :-) 21:13
leont FLOGGS++
FROGGS *g* 21:14
and now by bed is awaiting me...
gnight
21:15 n0tjack joined
lizmat gnight FROGGS 21:16
m: use nqp; my $p = a => 42; dd nqp::getattr($p,Pair,q/$!value/) # huh ??
camelia rakudo-moar b05dda: OUTPUT«P6opaque: no such attribute '$!value'␤ in block <unit> at /tmp/9f9d_tMxEH:1␤␤»
FROGGS .oO( decont )
m: use nqp; my $p = a => 42; dd nqp::getattr(nqp::decont($p),Pair,q/$!value/) # lizmat 21:17
camelia rakudo-moar b05dda: OUTPUT«42␤»
21:17 Hor|zon left
FROGGS & 21:17
lizmat :-)
xenu FROGGS: i love that kind of bugs, i've tried to fix that crash of moarvm, so i've fixed potentially dangerous warnings 21:18
that didn't help a bit
then i've compiled it with symbols and without optimizations
suddendly started working
great 21:19
21:20 n0tjack left 21:21 FROGGS[mobile] left
xenu uh, you're asleep :) 21:21
21:24 sufrostico left 21:26 kjs_ joined 21:27 Peter_R left, bjz left
lizmat m: my $b = BagHash.new( "a" xx 100); dd $b; $b<a> = -1; dd $b # this feels wrong, should either throw or remove 21:28
camelia rakudo-moar b05dda: OUTPUT«BagHash $b = ("a"=>100).BagHash␤BagHash $b = ("a"=>100).BagHash␤»
21:29 ZoffixW left 21:30 diana_olhovik_ joined 21:34 kjs_ left
BenGoldberg m: my $b = BagHash.new; $b<a>--; dd $b; 21:40
camelia rakudo-moar b05dda: OUTPUT«BagHash $b = ().BagHash␤»
BenGoldberg m: my $b = BagHash.new; $b<a> = 100; dd $b;
camelia rakudo-moar b05dda: OUTPUT«BagHash $b = ("a"=>100).BagHash␤»
BenGoldberg m: my $b = BagHash.new; $b<a> = 100; $b<a> = -1; dd $b;
camelia rakudo-moar b05dda: OUTPUT«BagHash $b = ("a"=>100).BagHash␤»
lizmat yeah, I think the last one is wrong 21:41
21:41 llfourn joined 21:42 n0tjack joined 21:46 llfourn left 21:47 n0tjack left 21:49 bjz joined 21:51 n0tjack joined 21:54 Eddward joined
Eddward Is there a way to get the repl to use libreadline? 21:54
timotimo nine: can i interest you in making a desugar for the forloop op at the very top of Actions.nqp so that the optimizer can easily do the for-to-while optimization again? 21:56
Zoffix: is there any way to make the drop shadow of the heaer of the modules list include camelia, too? 21:57
maybe it'd be better to get rid of the shadow altogether 21:58
Zoffix: also, there seems to be a build-errored.png that 404s 21:59
22:00 n0tjack left, bjz left 22:01 hohoho_ joined 22:06 hohoho_ left 22:07 RabidGravy left 22:08 sQuEE joined
dalek kudo/nom: 6432ddf | lizmat++ | src/core/ (6 files):
Speed up Bag/BagHash/Mix/MixHash

  - object creation: 15-20% ("a" xx 50000 vs ^50000)
  - key access / mutation: 2x as fast
22:10
lizmat and with that, I wish #perl6 a good night! 22:11
lichtkind good night 22:12
22:13 Hor|zon joined
masak 'night, lizmat 22:15
'night, #perl6
Xor_ Is there a list of ALL reserved words for Perl6 avaiblable somewhere? Need it for text highlighting. Have found just this one: www.perlfoundation.org/perl6/index....dex_tablet 22:16
22:17 ^elyse^ left, Hor|zon left, edehont left 22:19 lichtkind left
timotimo hm, reserved words 22:20
what kind of syntax highlighter are you building?
22:21 edehont joined, diana_olhovik_ left 22:22 edehont left, edehont joined, edehont left
Xor_ I'm using EditPlus editor for Windows, it has an inbult keyword highlighter 22:23
22:23 n0tjack joined
Xor_ my, our, next etc. 22:23
22:23 edehont joined
timotimo oh, huh 22:24
i suppose you can extract a list from an existing highlighter
Xor_ know any good one? 22:25
pink_mist sounds like a useful list to provide somewhere in the docs too I'd say
22:26 edehont left
Xor_ agree 22:27
22:27 kjs_ joined 22:30 pmurias left 22:32 n0tjack left 22:33 spider-mario left 22:35 thou joined 22:37 vendethiel left 22:39 thou left 22:43 tokuhirom joined, n0tjack joined 22:47 tokuhirom left 22:48 n0tjack left 22:50 bbarker`` joined 22:54 bbarker` left 22:58 KCL_ joined 23:09 kjs_ left 23:14 Hor|zon joined 23:17 firstdayonthejob left 23:18 Hor|zon left 23:19 DarthGandalf joined 23:33 ZoffixW joined
ZoffixW What does this mean? 23:33
m: my $z = 'gist.github.com/7564296fc686c92d5811'; $z ~~ s{'http' s? '://gist.github' <-[/]>+ '/'}{}; say $z
camelia rakudo-moar 6432dd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sJRQJPYWE3␤Unsupported use of brackets around replacement; in Perl 6 please use assignment syntax␤at /tmp/sJRQJPYWE3:1␤------> 3{'http' s? '://gist.github' <-[/]>+ '/'}7⏏5{}; say $z␤»
ZoffixW I'm trying to end up with "7564296fc686c92d5811" 23:34
Oh. I guess P6 doesn't support "any character" for replacement. This does the trick though: 23:35
m: my $z = 'gist.github.com/7564296fc686c92d5811'; $z ~~ s/'http' s? '://gist.github' <-[/]>+ '/'//; say $z
camelia rakudo-moar 6432dd: OUTPUT«7564296fc686c92d5811␤»
ZoffixW Hm, no love 23:38
skids m: my $a = "foo"; $a ~~ s{o} = "d"; $a.say; # that's what "please use assignment syntax" means
camelia rakudo-moar 6432dd: OUTPUT«fdo␤»
ZoffixW Thanks. 23:40
I'm still having issues though. Here. I get this error, and in my own code I get Parameter '$self' expected a writable container, but got Str value 23:41
m: class Foo { method bar ($what) { $what ~~ s{'http' s? '://gist.github' <-[/]>+ '/'} = ''; say $what }; Foo.new.bar('https://gist.github.c...92d5811');
camelia rakudo-moar 6432dd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LesQqtMAro␤Missing block␤at /tmp/LesQqtMAro:1␤------> 3/gist.github.com/7564296fc686c92d5811');7⏏5<EOL>␤»
skids m: "foo" ~~ s{o} = "d"; # Is trying to modify the constant string "foo" 23:42
camelia rakudo-moar 6432dd: OUTPUT«Parameter '$self' expected a writable container, but got Str value␤ in block <unit> at /tmp/Z8ct84sWZI:1␤␤»
leont I currently have this code: «try { require Term::ANSIColor }; return GLOBAL::Terminal::ANSIColor::EXPORT::DEFAULT::<&colored> // sub (Str $text, Str $) { $text };» Is there any way to optionally load a sub that isn't that ugly? 23:43
ZoffixW Ah
skids++
skids m: say ("foo" ~~ S{o} = "d";) # capital S does an "is copy"ish thing 23:44
camelia rakudo-moar 6432dd: OUTPUT«False␤»
skids Or oh, I guess not.
m: say ("foo" ~~ S{o} = "d"); $/.say; 23:45
camelia rakudo-moar 6432dd: OUTPUT«False␤fdo␤»
23:47 hohoho_ joined 23:51 hohoho_ left
b2gills Eddward: I use rlwrap 23:55
Eddward b2gills: Thanks 23:59