Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-10-11

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:28 llfourn joined #perl6
00:31 n0tjack joined #perl6
00:31 avalenn joined #perl6
00:44 Eddward joined #perl6
00:52 Hor|zon joined #perl6
00:58 mr_ron joined #perl6
01:01 n0tjack joined #perl6
01:10 thou joined #perl6
01:16 llfourn joined #perl6
01:24 n0tjack joined #perl6
01:27 Alina-malina joined #perl6
01:27 bjz joined #perl6
01:29 aborazmeh joined #perl6
01:29 aborazmeh joined #perl6
01:38 tokuhirom joined #perl6
01:53 Hor|zon joined #perl6
02:00 TimToady m: EVAL 'use nqp; say nqp::getpid() == qx/perl -E "say getppid;"/', :context(CORE::)
02:00 camelia rakudo-moar 8f4e90: OUTPUT«True␤»
02:01 TimToady .tell pmurias see http://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:18 BenGoldberg joined #perl6
02:19 BenGoldberg joined #perl6
02:21 scruss joined #perl6
02:22 quester joined #perl6
02:22 noganex joined #perl6
02:31 vendethiel joined #perl6
02:42 ugexe is there a better way to tell if an io::socket's handle will be closed?
02:42 ugexe 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 #perl6
02:54 Hor|zon joined #perl6
02:55 skids joined #perl6
03:00 SmokeMachine_ joined #perl6
03:01 adu joined #perl6
03:06 kipd joined #perl6
03:07 thou joined #perl6
03:11 labster m: my Int:???? $x = 3
03:12 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:17 dalek DBIish: 6fc40c2 | (Fayland Lam)++ | .travis.yml:
03:17 dalek DBIish: add travis
03:17 dalek DBIish: review: https://github.com/perl6/DBIish/commit/6fc40c2959
03:17 dalek DBIish: 50c2e7b | (Fayland Lam)++ | /:
03:17 dalek DBIish: run travis
03:17 dalek DBIish: review: https://github.com/perl6/DBIish/commit/50c2e7b65d
03:17 dalek DBIish: f30ca32 | (Zoffix Znet)++ | .travis.yml:
03:17 dalek DBIish: Merge pull request #23 from fayland/travis
03:17 dalek DBIish:
03:17 dalek DBIish: Add travis
03:17 dalek DBIish: review: https://github.com/perl6/DBIish/commit/f30ca32455
03:19 * Zoffix wonders if they're the only one with a broken character for the wrench icon for "???? Add Travis" on http://modules.perl6.org/
03:19 Erendis42 joined #perl6
03:19 Zoffix Worked fine on my $work Linux and Windows boxes.
03:20 pink_mist looks fine for me
03:21 nikola_ joined #perl6
03:24 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:26 labster ooh, looks like it's time to add travis to my modules.
03:26 Zoffix labster, sure :)
03:27 Zoffix labster, also, I believe I sent a PR to you today to fix something
03:27 Zoffix (forget what... )
03:27 labster nikola_: not enough optimization on perl 6?
03:28 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␤»
03:29 labster Zoffix: not sure what... https://github.com/pulls?utf8=%E2%9C%93&amp;q=is%3Aopen+is%3Apr+user%3Alabster
03:30 nikola_ thanks labster, skid. but why?
03:30 Zoffix Never mind then :) Maybe the name just looks familiar to me :)
03:31 skids When you do a sub infix you alter the grammar slighty.
03:32 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:33 nikola_ another question, what is the benefit of sigilless variable?
03:36 Zoffix Ah: now I got it straight: IO::Path::More's support->{source} highlighted the bug with https handling :)
03:36 Zoffix That's how I know your name :)
03:36 Zoffix So there were no PRs to you, but a bug fix to module handling system
03:37 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.
03:39 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␤»
03:42 BenGoldberg .u ????
03:42 yoleaux U+1F626 FROWNING FACE WITH OPEN MOUTH [So] (????)
03:42 nikola_ Hi skids, labster,  can you give me an example that \a is better than $a?
03:44 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:45 Eddward joined #perl6
03:45 skids labster: I don't think they are actually useful for that, since they do more than just remove the sigil.
03:46 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.
03:48 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:49 skids Yes, you can.
03:50 skids 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)␤»
03:50 skids (note declarative assigment for sigelless is just binding)
03:55 Hor|zon joined #perl6
03:55 nikola_ skids, what is the diffrence betwen Int , Scalar? I meaning , benefit
03:56 nikola_ can you give me an example?
03:57 skids An Int is a value type.  A Scalar is just a container.
03:58 n0tjack joined #perl6
04:00 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.
04:01 skids m: my Int $a = 3; $a.VAR.WHAT.say; $a = 4; $a.say;
04:01 camelia rakudo-moar 8f4e90: OUTPUT«(Scalar)␤4␤»
04:01 skids m: my Int $a := 3; $a.VAR.WHAT.say; $a = 4; $a.say;
04:01 camelia rakudo-moar 8f4e90: OUTPUT«(Int)␤Cannot assign to an immutable value␤  in block <unit> at /tmp/iqjDF93Zmi:1␤␤»
04:02 skids The second one fails for the same reason that saying "3 = 4" would fail.
04:03 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␤␤»
04:03 labster not Big Brother complaint.
04:05 olinkl joined #perl6
04:07 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:08 skids Most times, it is not better.
04:08 skids Most of the uses I see are just for efficiency.
04:09 skids Or very internal purposes.
04:09 nikola_ skids, which? it is better? give me code please.
04:09 nikola_ for efficiency.
04:12 nikola_ skids, I found it appear in rakudo source code. but I dont't know why?
04:12 coetry joined #perl6
04:12 skids Here is an example not for efficiency: it can be used to preserve single-argument-rule behavior:
04:13 skids m: sub a ($a) { map { .say }, $a; }; my $a = (1,2,3); a($a)
04:13 camelia rakudo-moar 8f4e90: OUTPUT«(1 2 3)␤»
04:13 nikola_ where?
04:13 skids m: sub a ($a) { map { .say }, $a; }; my $a := (1,2,3); a($a)
04:13 camelia rakudo-moar 8f4e90: OUTPUT«(1 2 3)␤»
04:13 skids m: sub a (\a) { map { .say }, a; }; my $a := (1,2,3); a($a)
04:13 camelia rakudo-moar 8f4e90: OUTPUT«1␤2␤3␤»
04:13 skids m: sub a (\a) { map { .say }, a; }; my $a = (1,2,3); a($a)
04:13 camelia rakudo-moar 8f4e90: OUTPUT«(1 2 3)␤»
04:13 eliasr joined #perl6
04:14 skids so when you use a \a parameter, you are passing a more true copy to .say
04:15 skids 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:18 nikola_ skids, I still not understand what is  the benefit? can you show me? please...
04:20 nikola_ skids, i mean,  sigilles 5s, scalar sigil 20s, something like this ?
04:21 skids I don't know what the actual workload difference works out to be, you'd have to ask a more experienced developer.
04:22 skids 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:25 nikola_ hi kids, thanks. Can you write a tutorial for this? this confused me. please. thanks/
04:27 nikola_ sorry, kids => skids
04:28 skids nikola_: have you read http://doc.perl6.org/language/containers yet?
04:31 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 blackcat_ joined #perl6
04:34 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:35 skids labster: through the MOP or through a high leve construct?
04:37 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:38 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:39 skids Well, there is "wrap" but is has restrictions vis-a-vis compile time, naturally, for those same reasons.
04:52 adu joined #perl6
04:56 Hor|zon joined #perl6
05:00 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 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;␤»
05:00 BenGoldberg m: my \$a := 5;
05:00 camelia rakudo-moar 8f4e90: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0VIflsT2V5␤Malformed my␤at /tmp/0VIflsT2V5:1␤------> 3my7⏏5 \$a := 5;␤»
05:01 skids The rest is only visible when viewed direct sunlight at midnight.
05:05 llfourn joined #perl6
05:13 labster skids: thank goodness for time zones.
05:17 oahong joined #perl6
05:23 tokuhirom joined #perl6
05:37 tokuhirom joined #perl6
05:39 TingPing left #perl6
05:39 moznion m: say sub{}.isa(Callable)
05:39 camelia rakudo-moar 8f4e90: OUTPUT«False␤»
05:40 moznion Is this behavior correct?
05:42 ShimmerFairy m: say sub{}.does(Callable)
05:42 camelia rakudo-moar 8f4e90: OUTPUT«True␤»
05:43 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:45 blackcat_ joined #perl6
05:57 Hor|zon joined #perl6
06:09 raiph joined #perl6
06:24 rurban joined #perl6
06:31 dalek DBIish: aec5982 | moritz++ | .travis.yml:
06:31 dalek DBIish: Tell travis to supply a sqlite3 DB
06:31 dalek DBIish: review: https://github.com/perl6/DBIish/commit/aec5982887
06:58 Hor|zon joined #perl6
06:59 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:04 dalek doc: 17681ed | skids++ | doc/Language/traps.pod:
07:04 dalek doc: Remove a PAE for a WAT that the GLR eliminated
07:04 dalek doc: review: https://github.com/perl6/doc/commit/17681ede18
07:04 dalek doc: 1453b37 | skids++ | doc/Language/traps.pod:
07:04 dalek doc: Add caveats for common problems with typed positional params
07:04 dalek doc: review: https://github.com/perl6/doc/commit/1453b37de6
07:08 skids 3x TLA FTW LOL
07:10 moritz such WAT
07:11 bjz joined #perl6
07:17 chenryn where is the document of react?
07:19 skids It may not have been very well docced yet.  The original proposal is https://gist.github.com/jnthn/a56fd4a22e7c43080078
07:21 CurtisOvidPoe joined #perl6
07:22 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.
07:22 yoleaux 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
07:22 yoleaux and performanc
07:22 camelia rakudo-moar 8f4e90: OUTPUT«1␤2␤3␤»
07:22 CurtisOvidPoe p6: my @p; for 3,1,2 -> $a { @p.push( Promise.in($a).then({ say $a });); }; await(|@p);
07:22 camelia rakudo-moar 8f4e90: ( no output )
07:22 CurtisOvidPoe Looks like a parsing bug?
07:23 CurtisOvidPoe (Note those are almost identical, but there's a semicolon after the "then(...)"
07:28 szabgab joined #perl6
07:29 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"]]␤»
07:29 szabgab push and append doing the same here, when multiple arrays are supplied
07:30 szabgab is that the corrct behavior?
07:30 szabgab p6: my @a = ('a', 'b'); my @b; @b.push: @a; say @b.perl; my @c; @c.append: @a; say @c.perl;
07:30 camelia rakudo-moar 8f4e90: OUTPUT«[["a", "b"],]␤["a", "b"]␤»
07:32 szabgab When supplying only a single array then the behavior is as TimToady said earlier
07:32 firstdayonthejob joined #perl6
07:32 bjz joined #perl6
07:33 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 #perl6
07:34 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)␤»
07:36 skids m: my @p; say(4;)
07:36 camelia rakudo-moar 8f4e90: OUTPUT«(4)()␤»
07:37 darutoko joined #perl6
07:37 llfourn joined #perl6
07:38 skids I don't actually know what ';' does in a param list (other than for 3d array stuff)
07:38 skids erm, argument list
07:38 tokuhirom joined #perl6
07:56 thou joined #perl6
07:59 Hor|zon joined #perl6
08:06 xfix joined #perl6
08:08 bjz joined #perl6
08:12 azawawi joined #perl6
08:12 azawawi hi
08:13 azawawi finally finished it... https://github.com/azawawi/perl6-parse-selenese/blob/master/lib/Parse/Selenese/Grammar.pm6 :)
08:13 azawawi also wrote tests for it https://github.com/azawawi/perl6-parse-selenese/tree/master/t :)
08:13 azawawi grammars rock
08:21 quester left #perl6
08:22 telex joined #perl6
08:28 n0tjack joined #perl6
08:36 * 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:40 grondilu joined #perl6
08:41 ShimmerFairy Why should it be? Travis has nothing to do with how distributions work.
08:42 SmokeMachine_ joined #perl6
08:45 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␤␤»
08:45 llfourn what happened ot EnumMap? :)
08:46 ShimmerFairy I believe it was renamed to Map
08:47 llfourn ShimmerFairy: yerp. Thanks.
08:47 weihan joined #perl6
08:50 eliasr joined #perl6
09:00 Hor|zon joined #perl6
09:06 vendethiel joined #perl6
09:08 kipd joined #perl6
09:10 llfourn joined #perl6
09:19 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 #perl6
09:24 RabidGravy joined #perl6
09:29 Psyche^ joined #perl6
09:33 dalek rakudo/nom: 5c77383 | skids++ | src/core/Failure.pm:
09:33 dalek rakudo/nom: Restore default Failure message clobbered by pasto
09:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5c77383fc9
09:33 dalek rakudo/nom: be66ad4 | lizmat++ | src/core/Failure.pm:
09:33 dalek rakudo/nom: Merge pull request #547 from skids/patch-1
09:33 dalek rakudo/nom:
09:33 dalek rakudo/nom: Restore default Failure message clobbered by pasto
09:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/be66ad4eda
09:38 void1 joined #perl6
09:40 dalek doc/MARTIMM-patch-2: 129608b | (Marcel Timmerman)++ | doc/Type/DateTime.pod:
09:40 dalek doc/MARTIMM-patch-2: Default value for now()  perhaps a typing mistake
09:40 dalek doc/MARTIMM-patch-2:
09:40 dalek doc/MARTIMM-patch-2: The default value for the timezone *$TZ should perhaps be $*TZ in method now() on line 81
09:40 dalek doc/MARTIMM-patch-2: review: https://github.com/perl6/doc/commit/129608b520
09:40 FROGGS m: class Foo:D {}; say Foo.new
09:40 camelia rakudo-moar 8f4e90: OUTPUT«Foo.new␤»
09:44 thou joined #perl6
09:46 [Tux] test             50000    37.993    37.880
09:46 [Tux] test-t           50000    39.481    39.369
09:47 RFIDtag joined #perl6
09:48 dalek ecosystem: 1e0f0fc | cygx++ | META.list:
09:48 dalek ecosystem: Remove bitrotten module
09:48 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/1e0f0fc03a
09:49 FROGGS m: sub a(--> Int:D) { Int };
09:49 camelia rakudo-moar 8f4e90: ( no output )
09:49 FROGGS m: sub a(--> Int:D) returns Int:D { Int };
09:49 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␤»
09:49 FROGGS m: sub a() returns Int:D { Int };
09:49 camelia rakudo-moar 8f4e90: ( no output )
09:49 FROGGS m: sub a() returns Int:D { Int }; say &a.returns
09:49 camelia rakudo-moar 8f4e90: OUTPUT«(Int:D)␤»
09:52 FROGGS m: sub a() returns Int:U { 42 }; say &a.returns
09:52 camelia rakudo-moar 8f4e90: OUTPUT«(Int:U)␤»
09:52 FROGGS m: sub a() returns Int:U { 42 }; say &a.returns; a
09:52 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␤␤»
09:53 FROGGS ahh
09:53 FROGGS m: sub a() returns Int:D { Int }; say &a.returns; a
09:53 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:55 psch m: proto c(|) {*}; sub c1(Int $) { 5 }; BEGIN &c.add_dispatchee(&c1); say c(1)
09:55 camelia rakudo-moar be66ad: OUTPUT«5␤»
09:55 psch .tell skids add_dispatchee works when called at BEGIN time
09:55 yoleaux psch: I'll pass your message to skids.
09:56 psch .tell labster http://irclog.perlgeek.de/perl6/2015-10-11#i_11355913
09:56 yoleaux psch: I'll pass your message to labster.
09:56 psch probably something about caches being finalized or so..?
10:01 Hor|zon joined #perl6
10:01 rindolf joined #perl6
10:03 hohoho_ joined #perl6
10:16 n0tjack joined #perl6
10:20 spider-mario joined #perl6
10:21 dalek roast: 9ab29a9 | lizmat++ | S06-parameters/smiley.t:
10:21 dalek roast: Be more specific about expected error
10:21 dalek roast: review: https://github.com/perl6/roast/commit/9ab29a9731
10:22 grondilu m: my $insert-me = False; my @a = $insert-me ?? $insert-me !! Nil; say @a.elems
10:22 camelia rakudo-moar be66ad: OUTPUT«1␤»
10:22 grondilu ^what should I put here instead of Nil?
10:22 grondilu m: my $insert-me = False; my @a = $insert-me ?? $insert-me !! (); say @a.elems
10:22 camelia rakudo-moar be66ad: OUTPUT«0␤»
10:23 lizmat perhaps an empty Slip ?
10:23 lizmat |()
10:23 * grondilu thought he had tried that with no success
10:23 * grondilu tries again
10:24 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␤       …»
10:24 lizmat m: my @a = 42 ?? slip() !! 87; dd @a
10:24 camelia rakudo-moar be66ad: OUTPUT«Array @a = []␤»
10:24 grondilu m: my $insert-me = False; say join ':', ($insert-me ?? $insert-me !! |()), 1 xx 3
10:24 camelia rakudo-moar be66ad: OUTPUT«1:1:1␤»
10:25 lizmat m: my @a = False ?? 87 !! slip; dd @a
10:25 camelia rakudo-moar be66ad: OUTPUT«Array @a = []␤»
10:25 grondilu can't reproduce it here.  The error must be something else
10:26 lizmat FROGGS: don't we have smiley return tests already in t/spec/S06-parameters/smiley.t ?
10:27 Erendis42 my @e; @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]] say @e.perl;
10:27 Erendis42 m: my @e; @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]] say @e.perl;
10:27 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"␤»
10:27 Erendis42 oops
10:28 Erendis42 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"]␤»
10:32 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"]]␤»
10:32 Erendis42 yay
10:39 tokuhirom joined #perl6
10:46 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␤␤»
10:48 * grondilu created a RC for an annoying task he would like other people to solve for him :P  :  http://rosettacode.org/wiki/Display_a_linear_combination
10:48 psch lizmat: i don't think so? ^10 .grep({$_}) is 9 elements
10:48 lizmat ah.... good point!
10:49 lizmat psch++  # sanity check
11:01 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 #perl6
11:02 * grondilu is slightly annoyed that 'Scalar' is a thing in Perl 6.  Would have wanted to make a subset with this name.
11:03 n0tjack joined #perl6
11:04 psch m: my subset Scalar of Int where 1..10; say 11 ~~ Scalar #?
11:04 camelia rakudo-moar be66ad: OUTPUT«False␤»
11:05 grondilu is that risk-free?
11:06 psch grondilu: well, it's lexical, and Scalar isn't really user-facing as a class afaik
11:06 grondilu ok
11:10 jferrero m: my @x = (1.2, 2.4); my @y; say @x «+« @y;
11:10 camelia rakudo-moar be66ad: OUTPUT«[]␤»
11:10 jferrero m: my @x = (1.2, 2.4); my @y; say @x »+» @y;
11:10 camelia rakudo-moar be66ad: OUTPUT«[]␤»
11:12 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␤␤»
11:14 jferrero m: my @x = (1.2, 2.4); my @y; say @x «+» @y;
11:14 camelia rakudo-moar be66ad: OUTPUT«[]␤»
11:20 ^elyse^ joined #perl6
11:22 leont joined #perl6
11:24 nine .tell jnthn I rejected https://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.
11:24 dalek rakudo/nom: 9b86933 | lizmat++ | src/core/Any-iterable-methods.pm:
11:24 dalek rakudo/nom: Add push-exactly methods to grep
11:24 dalek rakudo/nom:
11:24 dalek rakudo/nom: Should make some greps in some contexts faster
11:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9b8693313d
11:25 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 nine lizmat++ # speeding us up :)
11:25 lizmat m: my @a = ^Inf
11:25 camelia rakudo-moar be66ad: ( no output )
11:26 lizmat m: my @a = ^Inf.grep({$_})
11:26 camelia rakudo-moar be66ad: ( no output )
11:26 lizmat I was just thinking that if an iteratior depends on another iterator
11:27 lizmat and that other iterator is lazy, then a "push-all" in the iterator should just die
11:27 lizmat "cannot iterate complete lazy list" or something
11:28 nine lizmat: .lines is also lazy but doesn't have to be infinite
11:28 nine While we treat lazy things as if they were infinite (as they potentially are), they don't have to be.
11:28 lizmat actually .lines is not
11:29 lizmat 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␤␤»
11:29 lizmat m: lines.is-lazy.say
11:29 camelia rakudo-moar be66ad: OUTPUT«False␤»
11:29 masak good afternoon, #perl6
11:29 lizmat masak o/
11:29 nine So I need another example :/
11:29 lizmat but yeah, I got your point  :-)
11:30 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:32 thou joined #perl6
11:34 edehont joined #perl6
11:37 nine m: role A { has $.a; submethod BUILD(:$!a) {}}; class B does A {}; B.new
11:37 camelia rakudo-moar be66ad: ( no output )
11:37 nine m: role A { has $.a; submethod BUILD(:$!a) {}}; class B does A {}; B.new(:a(1)).a.say
11:37 camelia rakudo-moar be66ad: OUTPUT«1␤»
11:38 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…»
11:38 nine m: role A { has $.a; submethod BUILD(@a? is copy, :$!a) {}}; class B does A {}; B.new
11:38 camelia rakudo-moar be66ad: ( no output )
11:39 nine Why is https://rt.perl.org/Public/Bug/Display.html?id=123407 still open? The given example seems to work now and it says "Test added."
11:40 nine lizmat: as the original reporter, do you think we can close this ^^^?
11:41 lizmat looks like  :-)
11:42 n0tjack joined #perl6
11:44 jferrero m: my @x = (1.2, 2.4); my @y; my @z = @x »+» @y;say @z.perl;
11:44 camelia rakudo-moar be66ad: OUTPUT«[]␤»
11:46 nine m: my @x = (1, 2); my @y; my @z = @x »+» @y;say @z.perl;
11:46 camelia rakudo-moar be66ad: OUTPUT«[]␤»
11:49 woolfy left #perl6
11:51 dalek rakudo/nom: 877d493 | lizmat++ | src/core/Any-iterable-methods.pm:
11:51 dalek rakudo/nom: push-exactly for unique/repeated/squish
11:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/877d493ae4
11:51 edehont joined #perl6
11:51 edehont left #perl6
11:55 dalek doc: 6753fed | (Gabor Szabo)++ | .travis.yml:
11:55 dalek doc: add travis configuration file
11:55 dalek doc: review: https://github.com/perl6/doc/commit/6753fed1a1
11:55 szabgab joined #perl6
11:56 szabgab hello there
11:56 lizmat szabgab o/
11:57 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?
12:00 dalek DBIish: 1673b09 | (Fayland Lam)++ | .travis.yml:
12:00 dalek DBIish: add mysql test database
12:00 dalek DBIish: review: https://github.com/perl6/DBIish/commit/1673b09d4a
12:00 dalek DBIish: 0ae7757 | (Fayland Lam)++ | .travis.yml:
12:00 dalek DBIish: correct mysql set
12:00 dalek DBIish: review: https://github.com/perl6/DBIish/commit/0ae7757338
12:00 dalek DBIish: bc32ed4 | (Fayland Lam)++ | .travis.yml:
12:00 dalek DBIish: and postgres
12:00 dalek DBIish: review: https://github.com/perl6/DBIish/commit/bc32ed438b
12:00 dalek DBIish: b15c94f | (Fayland Lam)++ | .travis.yml:
12:00 dalek DBIish: Merge remote-tracking branch 'origin/master' into travis
12:00 dalek DBIish: review: https://github.com/perl6/DBIish/commit/b15c94f5c7
12:00 dalek DBIish: 7166771 | (Zoffix Znet)++ | .travis.yml:
12:00 dalek DBIish: Merge pull request #24 from fayland/travis
12:00 dalek DBIish:
12:00 dalek DBIish: useful travis tests
12:00 dalek DBIish: review: https://github.com/perl6/DBIish/commit/7166771b93
12:00 edehont joined #perl6
12:00 dalek ecosystem: adf5165 | (Gabor Szabo)++ | META.list:
12:00 dalek ecosystem: add Perl6::Maven to the ecosystem
12:00 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/adf51653f0
12:01 cognominal joined #perl6
12:02 psch j: my class native_callsite is repr("NativeCall") { }; role Foo { has native_callsite $.f }
12:02 camelia rakudo-jvm 9b8693: ( no output )
12:02 psch that's a golf for the "only works if we ignore SC" bug
12:02 psch as in, that bit breaks when i revert nqp commit 52e409ec
12:03 Hor|zon joined #perl6
12:03 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
12:04 psch .tell FROGGS http://irclog.perlgeek.de/perl6/2015-10-11#i_11356193
12:04 yoleaux psch: I'll pass your message to FROGGS.
12:06 dalek rakudo/nom: 7003c7a | lizmat++ | src/core/Rakudo/Internals.pm:
12:06 dalek rakudo/nom: Give MapIterator its own fast sink-all
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7003c7a520
12:12 zakharyas joined #perl6
12:17 dalek rakudo/nom: 2d2fe30 | lizmat++ | src/core/Baggy.pm:
12:17 dalek rakudo/nom: Baggy keys/values/pairs/kv get push-exactly
12:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2d2fe30e2b
12:18 woolfy joined #perl6
12:18 woolfy left #perl6
12:20 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 #perl6
12:22 psch ah
12:22 psch it's even simpler, actually...
12:22 dalek Heuristic branch merge: pushed 43 commits to rakudo/curli by lizmat
12:22 psch any attribute in a role brings that bug out
12:23 lizmat psch: fwiw, there are still some oddities wrt roles and composition into classes (or other roles)
12:23 lizmat yesterday I spent some hours finding out you cannot have a lexical class in a role
12:25 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]␤»
12:25 lizmat cycling&
12:25 Erendis42 left #perl6
12:34 weihan joined #perl6
12:35 leont Can I regenerate the rakudo Makefile without having to rebuild all of Rakudo?
12:36 leont Why do I ask stupid questions 10 seconds before figuring it out?
12:37 leont --no-clean could be documented though
12:38 szabgab leont: would it make more sense to ask the question *after* you figured it out?
12:38 weihan joined #perl6
12:41 tokuhirom joined #perl6
12:42 dalek Inline-Python: 2f035bd | (Gabor Szabo)++ | .travis.yml:
12:42 dalek Inline-Python: add travis configuration file
12:42 dalek Inline-Python: review: https://github.com/niner/Inline-Python/commit/2f035bdc85
12:42 dalek Inline-Python: d2b79b7 | niner++ | .travis.yml:
12:42 dalek Inline-Python: Merge pull request #6 from szabgab/travis
12:42 dalek Inline-Python:
12:42 dalek Inline-Python: add travis configuration file
12:42 dalek Inline-Python: review: https://github.com/niner/Inline-Python/commit/d2b79b7052
12:42 jferrero m: my @x = (1.2, 2.4); my @y = (''); my @z = @x »+» @y;say @z.perl;
12:42 camelia rakudo-moar 7003c7: OUTPUT«[1.2, 2.4]␤»
12:43 dalek doc: 2bd17fc | (Akim Demaille)++ | doc/Language/regexes.pod:
12:43 dalek doc: Typo
12:43 dalek doc: review: https://github.com/perl6/doc/commit/2bd17fcdca
12:43 dalek doc: 346b30f | niner++ | doc/Language/regexes.pod:
12:43 dalek doc: Merge pull request #153 from akimd/patch-2
12:43 dalek doc:
12:43 dalek doc: Typo
12:43 dalek doc: review: https://github.com/perl6/doc/commit/346b30f264
12:43 dalek doc: 9b54e90 | (Akim Demaille)++ | doc/Language/regexes.pod:
12:43 dalek doc: Typo
12:43 dalek doc: review: https://github.com/perl6/doc/commit/9b54e90473
12:43 dalek doc: 59c873d | niner++ | /:
12:43 dalek doc: Merge pull request #152 from akimd/patch-1
12:43 dalek doc:
12:43 dalek doc: Typo
12:43 dalek doc: review: https://github.com/perl6/doc/commit/59c873d1b4
12:44 FROGGS hmmm
12:44 yoleaux 12:04Z <psch> FROGGS: http://irclog.perlgeek.de/perl6/2015-10-11#i_11356193
12:45 kid51 joined #perl6
12:46 FROGGS psch: what if we have to care about .delegates like in here in another place? https://github.com/perl6/nqp/commit/0c26f68d57a96cd04eae3f666e664a21cccdab89
12:49 psch FROGGS: i don't see the connection - the golfest i figured out is "role Foo { has $.f }"
12:49 some_body joined #perl6
12:50 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?
12:50 pink_mist I think the details of that are still being worked on, some_body
12:51 FROGGS psch: well, that role is punned into a class at the time you use it, right?
12:51 diana_olhovik joined #perl6
12:51 some_body ah, i see
12:51 psch FROGGS: right, but i don't have to use it for compilation to die
12:51 FROGGS ahh
12:51 FROGGS hmmm
12:52 psch the code it dies at is BOOTSTRAP.nqp:129
12:52 psch which is .add_method(Attribute, 'new', ... )
12:52 psch the first bindattr_s call in there, to be precise
12:52 dalek roast: 5bd83c5 | FROGGS++ | S06-parameters/smiley.t:
12:52 dalek roast: add rt tiket info to test
12:52 dalek roast: review: https://github.com/perl6/roast/commit/5bd83c5b01
12:52 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
12:53 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 psch which would mean that the staticcode closes over the BOOTSTRAP context and Attribute isn't repossessed..?
12:55 psch 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
12:56 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 #perl6
12:58 FROGGS psch: http://irclog.perlgeek.de/perl6/2015-10-06#i_11328418
12:58 psch FROGGS: https://gist.github.com/peschwa/6a9cd3518343e0f55079 is what makes me think we have a BOOTSTRAP Attribute in the static code
12:59 FROGGS psch: maybe we can create another test case with stubbed classes outside of the setting?
13:01 llfourn is it possible to tell when your routine is being called in sink context?
13:02 FROGGS llfourn: you can return an object that has a sink method
13:03 llfourn FROGGS: ah. I guess that works. Cheers.
13:04 Hor|zon joined #perl6
13:04 psch FROGGS: i can't quite imagine what that would look like, tbh
13:07 dalek gtk-simple: 3067a02 | (Zoffix Znet)++ | README.md:
13:07 dalek gtk-simple: Mention that modules requires GTK3 lib
13:07 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/3067a021a1
13:07 psch FROGGS: the naive approach gives me "The following packages were stubbed but not defined:"
13:08 * masak has hit the "everybody wants the colon" phase of 007 language design
13:08 ChoHag joined #perl6
13:08 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 FROGGS psch: what does that do for you locally?
13:09 FROGGS though, we need to fiddle with attributes I guess
13:09 psch oh, i tried spreading stuff over two files...
13:09 FROGGS you cant
13:09 psch yeah :)
13:11 psch replacing add_method with add_attribute throws the same exception as NativeCall compilation
13:11 psch m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<foo>)); class Foo { }; say Foo.new.bar # like this
13:11 camelia rakudo-moar 2d2fe3: OUTPUT«Required named parameter 'type' not passed␤  in block <unit> at /tmp/s6AfUQ0L1t:1␤␤»
13:12 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
13:12 psch but: Internal error while creating backtrace: org.perl6.nqp.sixmodel.reprs.P6OpaqueBaseInstance$NoSuchAttrException
13:13 FROGGS nine: yes, I think so
13:14 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␤␤»
13:14 psch m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<bar>, :type(Any), :package(Foo) ) ); class Foo { }; say Foo.new.bar # duh..
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/1VSym9Cm3x:1␤␤»
13:14 psch still vOv
13:14 FROGGS m: class Foo { ... }; Foo.^add_attribute(Attribute, Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.bar
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/JQT9cOm7MJ:1␤␤»
13:17 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␤␤»
13:17 FROGGS m: class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.foo
13:17 camelia rakudo-moar 2d2fe3: OUTPUT«Method 'foo' not found for invocant of class 'Foo'␤  in block <unit> at /tmp/nRmtZ83T5z:1␤␤»
13:17 FROGGS j: class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new.foo
13:17 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
13:18 Zoffix Is class Foo { }; supposed to be there twice?
13:18 psch locally: org.perl6.nqp.sixmodel.reprs.P6OpaqueBaseInstance$NoSuchAttrException: No such attribute '$!name' for this object
13:18 psch Zoffix: it's not;  the first is explicitly stubbed
13:18 psch m: class Foo { ... }
13:18 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␤»
13:19 FROGGS rebuilding perl6-j...
13:19 psch FROGGS: no
13:19 FROGGS no?
13:19 psch FROGGS: i have "This reverts commit 52e409ec22755de7d9dd6309e10996a88f4ec872." commited locally
13:19 FROGGS me is locally rebuilding
13:19 FROGGS yes, I reverted that one too
13:19 psch FROGGS: that id is the "ignore sc when looking for attributes"
13:19 psch ah, alright :)
13:20 psch just wanted to make sure that's the case
13:20 psch "no", might've been a bit terse for that intent... :)
13:20 psch -,
13:20 FROGGS hehe, np
13:20 thou joined #perl6
13:20 FROGGS was just surprised to get an answer to a non-question :o)
13:22 xenu joined #perl6
13:28 psch FROGGS: you might want to extend RuntimeException and throw that subclass instead of RTE in P6OpaqueBaseInstance.java:24
13:28 psch 'cause that's easier to catch because we use RTEs for lots of things...
13:29 psch that's only useful if you intent to jdb anything at all, though... :)
13:33 FROGGS well, I usually dont...
13:33 FROGGS but please add it, seems like you know how to do that :o)
13:33 psch i had pondered if we want these kinds of subtypes in general
13:33 psch there's quite a few cases where it could make debugging easier
13:34 FROGGS $ perl6-j -e 'class Foo { ... }; Foo.^add_attribute(Attribute.new(:name<foo>, :type(Any), :package(Foo))); class Foo { }; say Foo.new'
13:34 FROGGS Foo.new
13:34 FROGGS hmmm
13:34 FROGGS you got something else there?
13:34 psch no..?
13:34 psch my nqp is master + revert 52e409
13:35 FROGGS ohh, the revert did not do the right thing
13:35 psch yeah it conflicts
13:35 psch because i added null checks later
13:36 pmurias joined #perl6
13:36 kjs_ joined #perl6
13:36 FROGGS aye
13:36 FROGGS I reverted manually now
13:40 FROGGS k, takes a while until I try things again
13:40 FROGGS and I am afk for an hour or two
13:42 llfourn joined #perl6
13:45 ngie joined #perl6
13:57 spider-mario joined #perl6
14:05 Hor|zon joined #perl6
14:07 dalek rakudo/nom: 9c1afaf | (Stefan Seifert)++ | src/ (2 files):
14:07 dalek rakudo/nom: Helpful error message for use vstring; for v < v4 or > v6
14:07 dalek rakudo/nom:
14:07 dalek rakudo/nom: Patch by (Konrad Borowski)++
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c1afaf3ab
14:09 nine FROGGS: how do you become the owner of a ticket in RT?
14:10 liztormato joined #perl6
14:12 FROGGS_ joined #perl6
14:13 khw joined #perl6
14:14 timotimo .o( is skids a kid or a squid? )
14:16 muraiki joined #perl6
14:19 lichtkind joined #perl6
14:19 timotimo @e.append: @a, @x; # [["foo", "bar"], ["abc", "def"]]
14:19 timotimo ^- we want the single-argument semantics there, yes?
14:20 nine timotimo: I seem to remember that the answer is yes
14:20 liztormato Yeah
14:21 FROGGS[mobile] joined #perl6
14:22 FROGGS[mobile] nine: there is an action called "übernehmen"
14:23 pink_mist single-argument semantics? I would have expected ["foo", "bar", "abc", "def"]
14:23 pink_mist (I think?)
14:23 nine FROGGS[mobile]: there isn't even a menu bar, much less the Take action
14:24 masak pink_mist: notice that there's two arguments.
14:24 rindolf joined #perl6
14:24 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)
14:25 masak pink_mist: no, push always pushes a single item onto the array.
14:25 nine FROGGS[mobile]: http://niner.name/rt.perl.org.png
14:25 pink_mist oh, even if you have push @e, @a, @x;?
14:25 pink_mist that's illegal?
14:25 TimToady well, push can also push multiple, but that's not its main reason for existing
14:26 TimToady 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;
14:26 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;␤»
14:26 nine m: my @a; my @b = 1, 2; my @c = 2, 3; @a.push: @b, @c; say @a;
14:26 camelia rakudo-moar 9c1afa: OUTPUT«[[1 2] [2 3]]␤»
14:26 FROGGS[mobile] nine: I dont think I've ever seen "SelfService" in the url
14:26 TimToady push is "never flatten"
14:27 pink_mist and append is "sometimes flatten"? :/
14:27 TimToady append only flattens a single arg
14:27 ^elyse^ joined #perl6
14:27 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
14:27 TimToady if you want p5-style flattening in p6, you generally have to use an explicit "flat" now
14:28 masak pink_mist: you make it seem inconsistent -- whereas in fact, it's quite consistent.
14:28 TimToady or use slip
14:28 pink_mist masak: it certainly seems inconsistent to me, yes
14:29 BenGoldberg joined #perl6
14:29 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
14:29 TimToady we have flat for that now
14:30 zostay m: class A { class B { } }; A.^name.say; A::B.^name.say;
14:30 camelia rakudo-moar 9c1afa: OUTPUT«A␤B␤»
14:30 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 #perl6
14:31 dalek ecosystem: 03bd049 | (Fayland Lam)++ | META.list:
14:31 dalek ecosystem: add Lingua::Unihan
14:31 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/03bd0490e7
14:31 dalek ecosystem: 8ec5c88 | (Zoffix Znet)++ | META.list:
14:31 dalek ecosystem: Merge pull request #70 from fayland/lingua-unihan
14:31 dalek ecosystem:
14:31 dalek ecosystem: add Lingua::Unihan
14:31 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/8ec5c88533
14:31 timotimo http://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 #perl6
14:33 TimToady mighta been written before we had Bag
14:33 TimToady or before we were thinking in terms of Bags
14:35 ngie joined #perl6
14:37 literal W 4
14:38 moritz m: say Int:D.perl
14:38 camelia rakudo-moar 9c1afa: OUTPUT«Int:D␤»
14:38 moritz m: say 4 ~~ Int:D
14:38 camelia rakudo-moar 9c1afa: OUTPUT«True␤»
14:38 moritz m: say 4 ~~ Int:U
14:38 camelia rakudo-moar 9c1afa: OUTPUT«False␤»
14:38 moritz FROGGS[mobile]++
14:38 FROGGS[mobile] :D
14:39 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␤␤»
14:39 nine FROGGS[mobile]: if you have access to user management, _please_ change my RT user to something useful
14:40 FROGGS[mobile] nine: I cant, but [Coke]++ can
14:41 nine [Coke]: Can you _please_ fix my RT user (nine@detonation.org). All I get is http://niner.name/rt.perl.org.png and it's so frustrating to work with.
14:42 masak [Coke]++ # managing le RT
14:42 tokuhirom joined #perl6
14:43 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:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=122971
14:44 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…»
14:44 moritz m: use variables :D; my Int $x = Int;
14:44 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:48 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:51 mr_ron left #perl6
14:59 moritz m: say 5 * (1..^3)
14:59 camelia rakudo-moar 9c1afa: OUTPUT«5..^15␤»
15:00 * moritz writes a bit of ChangeLog
15:03 vendethiel joined #perl6
15:03 moritz m: say &infix:<+>.file
15:04 camelia rakudo-moar 9c1afa: OUTPUT«gen/moar/m-CORE.setting␤»
15:04 moritz m: say &infix:<+>.line
15:04 camelia rakudo-moar 9c1afa: OUTPUT«6788␤»
15:05 * TimToady looks forward to the day we can make those point to the original file
15:06 Hor|zon joined #perl6
15:06 diana_olhovik_ joined #perl6
15:06 dalek rakudo/nom: cb680b2 | moritz++ | docs/ChangeLog:
15:06 dalek rakudo/nom: Fill out ChangeLog for 2015.10 a bit
15:06 dalek rakudo/nom:
15:06 dalek rakudo/nom: quite impressive what got done already. Please add your favorite new
15:06 dalek rakudo/nom: features / fixes.
15:06 dalek rakudo/nom:
15:06 dalek rakudo/nom: Also add an item (Enum gone) that was already part of 2015.09
15:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb680b2531
15:07 TimToady when are we releasing the First Beta?
15:08 moritz TimToady: dunno; maybe today? :-)
15:08 moritz TimToady: what does the First Beta entail?
15:08 thou joined #perl6
15:09 TimToady mostly tricking people into starting to use it :)
15:09 moritz :-)
15:09 moritz I meant more for the one doing the release
15:10 moritz is it a Rakudo release?
15:10 moritz or an R* release?
15:10 moritz or a release of roast?
15:10 TimToady roast is already officially in beta state :)
15:11 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 :-)
15:12 TimToady maybe if we can say "Beta 1" in the release notes somewhere
15:12 TimToady and it'd be nice if our betas had rakudo *, but that's more work of course
15:14 TimToady but really, I don't have strong opinions other than having something stable by Christmas (well, except when I do)
15:15 ZoffixW joined #perl6
15:16 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
15:17 dalek ecosystem: 6e96ebb | moznion++ | META.list:
15:17 dalek ecosystem: Add Backtrace::AsHTML
15:17 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/6e96ebbb1f
15:17 dalek ecosystem: e49ca1b | RabidGravy++ | META.list:
15:17 dalek ecosystem: Merge pull request #71 from moznion/backtrace-ashtml
15:17 dalek ecosystem:
15:17 dalek ecosystem: Add Backtrace::AsHTML
15:17 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/e49ca1b5df
15:18 rurban joined #perl6
15:20 thou joined #perl6
15:21 dalek doc: 52a3976 | moritz++ | doc/Type/Code.pod:
15:21 dalek doc: Document Code.{line,file}
15:21 dalek doc: review: https://github.com/perl6/doc/commit/52a39761b8
15:21 timotimo ah, slowest backlog day ever for me
15:21 n0tjack joined #perl6
15:21 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:24 jferrero m: my @x = 1.2, 2.4; my @y; my @z = @x »+» @y; say @z.perl;
15:24 camelia rakudo-moar cb680b: OUTPUT«[]␤»
15:27 dalek doc: 3a46a12 | moritz++ | doc/Type/List.pod:
15:27 dalek doc: List.pod: Fix .push examples to use .append instead
15:27 dalek doc: review: https://github.com/perl6/doc/commit/3a46a1217a
15:27 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]␤»
15:27 moritz m: my @a = 1, 2; my @b = <c d>; my @c = <e f>; @a.push: @b; say @a.perl
15:27 camelia rakudo-moar cb680b: OUTPUT«[1, 2, ["c", "d"]]␤»
15:27 moritz m: my @a = 1, 2; my @b = <c d>; my @c = <e f>; @a.push: @b, @c; say @a.perl
15:27 camelia rakudo-moar cb680b: OUTPUT«[1, 2, ["c", "d"], ["e", "f"]]␤»
15:28 timotimo i've never considered the edge case of an empty list on the pointy end of a hyperop
15:29 jferrero Oops!
15:30 jferrero 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;␤»
15:30 TimToady if we take reductions as the prototype, it should probably return the other end unchanged
15:30 jferrero m: my @x = 1.2, 2.4; my @z; for ^4 { @z = @z «+« @x } say @z.perl;
15:30 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␤------> 2, 2.4; my @z; for ^4 { @z = @z «+« @x }7⏏5 say @z.perl;␤»
15:30 TimToady m: say [+] 42
15:31 camelia rakudo-moar cb680b: OUTPUT«42␤»
15:31 timotimo so just apply &infix:<+>($_) onto the list on the LHS?
15:31 timotimo and error out if there's no one-arg meaning for the op?
15:31 TimToady m: say &infix:<+>("foo")
15:31 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␤␤»
15:33 timotimo we may want to point out that even though "Enum" is gone, enums still exist in the changelog
15:34 timotimo 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;
15:34 camelia rakudo-moar cb680b: OUTPUT«[4.8, 9.6]␤»
15:34 rurban joined #perl6
15:35 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?
15:35 nine Enum is now Pair ;)
15:36 cognominal m: say [+]
15:36 camelia rakudo-moar cb680b: OUTPUT«0␤»
15:36 timotimo m: enum Foobar <a b c>; say Foobar.WHAT; say a.WHAT;
15:36 camelia rakudo-moar cb680b: OUTPUT«(Foobar)␤(Foobar)␤»
15:36 timotimo you lied! :)
15:36 dalek modules.perl6.org: e7adfda | (Zoffix Znet)++ | web/ (2 files):
15:37 dalek modules.perl6.org: Improve styles
15:37 dalek modules.perl6.org:
15:37 dalek modules.perl6.org: Make intro paragraphs  more visible and better-organized. Mirror intro paras styling on the footer
15:37 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/e7adfda8db
15:37 tokuhirom joined #perl6
15:37 ^elyse^ joined #perl6
15:39 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
15:39 camelia rakudo-moar cb680b: OUTPUT«(my \Array_140686612322256 = [Array_140686612322256,])␤[Mu]␤»
15:39 TimToady tags?
15:40 TimToady this whole "releasing a test suite" thing is kinda bogus till we have a second implementation of Perl 6 :)
15:41 FROGGS[mobile] I mean, we already can fudge roast for --ver=v6 instead of supplying a compiler name..
15:41 dalek doc: 40beaa4 | moritz++ | doc/Type/Array.pod:
15:41 dalek doc: Document Array.{append,prepend}
15:41 dalek doc:
15:41 dalek doc: also try to clarify the behavior of .push a bit more
15:41 dalek doc: review: https://github.com/perl6/doc/commit/40beaa4461
15:41 cognominal m: (my \a = []).perl
15:41 camelia rakudo-moar cb680b: ( no output )
15:42 cognominal m: say (my \a = []).perl
15:42 camelia rakudo-moar cb680b: OUTPUT«[]␤»
15:42 cognominal m: say (my \a = [a]).perl
15:42 camelia rakudo-moar cb680b: OUTPUT«[Mu]␤»
15:42 FROGGS[mobile] this way we would know how much rakudo complies to Perl 6
15:42 FROGGS[mobile] but yeah, there would be no user yet for that spec release
15:43 moritz TimToady: so would the monthly compiler release be OK, with an added note "this is Beta 1"?
15:43 moritz TimToady: or do want to do a separate release?
15:43 TimToady just normal monthly
15:43 FROGGS[mobile] but we should do it anyway, add a readme and a release announcement, and give it a proper name/version
15:44 FROGGS[mobile] moritz: +1 to normal monthly
15:44 FROGGS[mobile] let's continue to do what we know works for us
15:45 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].
15:45 moritz does that make the version b1?
15:45 moritz if so, we should support "use v6.b.1" or something
15:45 rindolf joined #perl6
15:45 moritz or v6.b1
15:46 FROGGS[mobile] TimToady: can you decide on the Perl 6 version name/scheme?
15:46 TimToady Letters are fine by me, except we should support it in v. notation somehow
15:48 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␤␤»
15:48 FROGGS[mobile] m: say v6bollox <=> v6charming
15:48 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…»
15:48 FROGGS[mobile] hmpf
15:51 domidumont joined #perl6
15:53 TimToady lunch &
15:56 nine m: say (class {}) === (class {})
15:56 camelia rakudo-moar cb680b: OUTPUT«False␤»
15:56 nine Ah, I fixed that yesterday already :)
15:57 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 #perl6
15:57 domidumont joined #perl6
15:57 _itz_ panda list --installed and --verbose doesn't work anymore
16:00 hohoho_ joined #perl6
16:02 dalek rakudo/nom: d4aea32 | timotimo++ | docs/ChangeLog:
16:02 dalek rakudo/nom: bring arary.push/array.append lines back together
16:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d4aea32e99
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: http://docs.perl6.org/type/Version
16:03 ugexe unit module Foo:version<4.20> ?
16:04 ZoffixW Ah. Thanks. ugexe++
16:07 Hor|zon joined #perl6
16:07 timotimo i'm a tiny bit weirded out by curtispoe always writing "we can optimize heavily on" gradual typing
16:11 edehont joined #perl6
16:13 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:14 ugexe ive used version.ACCEPTS... not that its ideal
16:14 dalek roast: ce9d2a5 | (Stefan Seifert)++ | S06-advanced/stub.t:
16:14 dalek roast: Fix and fudge S06-advanced/stub.t
16:14 dalek roast:
16:14 dalek roast: Now that we can redeclar stubbed subs, we can run these tests.
16:14 dalek roast: review: https://github.com/perl6/roast/commit/ce9d2a5f6a
16:15 dalek rakudo/nom: d28c37d | (Stefan Seifert)++ | / (2 files):
16:15 dalek rakudo/nom: Allow for redeclaration of stubbed subs
16:15 dalek rakudo/nom:
16:15 dalek rakudo/nom: Fixes RT #122613:
16:15 dalek rakudo/nom: perl6 -e "sub a{...}; sub a{42};"
16:15 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=122613
16:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d28c37dda9
16:15 ugexe ah literal sorry
16:16 ZoffixW What "fudge"
16:16 * ZoffixW points to the commit message above
16:16 ZoffixW *What's fudge?
16:16 nine ZoffixW: it means mark spec tests as todo or skip for a certain implementation (rakudo usually)
16:17 nine ZoffixW: most of the file passes, but one feature is not yet implemented.
16:17 ZoffixW Ah. Thanks
16:19 Jaglor joined #perl6
16:19 ][Sno][ joined #perl6
16:21 dalek roast: 84115c6 | (Stefan Seifert)++ | S12-class/anonymous.t:
16:21 dalek roast: Test for RT #114716
16:21 dalek roast:
16:21 dalek roast: (class {}) is now !=== (class {})
16:21 dalek roast: review: https://github.com/perl6/roast/commit/84115c62db
16:21 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=114716
16:22 moritz in t/spec/S13-overloading/typecasting-long.t
16:22 moritz #?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';
16:22 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=112642
16:22 mr_ron joined #perl6
16:22 moritz I'm blind; why should this throw an exception?
16:23 moritz the code declare $x to the be invocant, undefined
16:25 mr_ron The latest question on perlmonks.org, http://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?
16:26 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
16:26 _itz_ I wonder if its a 64 bit v 32 bit issue
16:27 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
16:27 mr_ron s/for/from/
16:27 _itz_ I built my own .msi file for the last release
16:28 ZoffixW The last release on http://rakudo.org/downloads/star/ is from June. Ancient.
16:28 ZoffixW *.msi release
16:29 mr_ron _itz_ your .msi includes Task::Star?
16:29 _itz_ yes
16:29 _itz_ one sec and I can put up an unofficial one for download
16:30 mr_ron Thanks - may be worth a try ...
16:31 mr_ron I'll try installing it myself by the way - just as a check...
16:32 _itz_ that would be useful
16:34 * ZoffixW 'd like a copy too
16:36 timotimo moritz: i think if it declared the invocant to be $x, it'd have to be XXX:U $x:
16:36 timotimo instead of XXX:U: $x
16:36 timotimo ZoffixW: FROGGS is going to build the newest .msi
16:36 ZoffixW \o/
16:37 FROGGS[mobile] ahh dang, I forgot again
16:37 FireFly joined #perl6
16:37 FROGGS[mobile] -.-
16:37 ZoffixW :)
16:37 timotimo hehe
16:38 FROGGS[mobile] if I *dont* forget again there well be an msi in about three hours
16:38 timotimo three hours!
16:38 timotimo i'm looking forward to it :)
16:39 tokuhirom joined #perl6
16:39 mr_ron FROGGS: sounds great!
16:39 Effilry joined #perl6
16:39 mr_ron Any reason for concern about compatibility with Windows 10?
16:41 Effilry joined #perl6
16:44 _itz_ http://pl6anet.org/drop/rakudo-star-2015.09.STM.x64.msi
16:45 _itz_ that an unofficial (hence STM) 64 bit build done on windows 10 (but with VS2010)
16:50 timotimo "STM"?
16:51 _itz_ my initials
16:51 _itz_ hence stmuk
16:52 mr_ron working on installing it ...
16:53 skids joined #perl6
16:56 timotimo oooh
16:56 timotimo of course
17:03 _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:04 ZoffixW Is there a way to improve this (both the way the attribute is declared and the error message)?:
17:04 ZoffixW m: class Foo { has Int $.indent where { $_ == 2 or $_ == 4 or $_ == 8 } = 4; }; say Foo.new( :indent(78) ).indent
17:04 camelia rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!indent; expected <anon> but got Int␤  in block <unit> at /tmp/s87p7Jvw3k:1␤␤»
17:05 timotimo sure
17:05 ZoffixW How? :)
17:05 timotimo m: subset ValidIndent of Int where any(2, 4, 8); class Foo { has ValidIndent $.indent = 4 }; say Foo.new(:indent(99))
17:05 camelia rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!indent; expected ValidIndent but got Int␤  in block <unit> at /tmp/tiPf0WPjXQ:1␤␤»
17:05 ZoffixW timotimo++
17:05 timotimo :)
17:05 moritz timotimo: heh, I was about to write the same, but with TabStop instead of ValidIdent :-)
17:06 timotimo that'd be fine, too
17:06 timotimo you know that some people indent with 3 spaces?
17:06 moritz let's roast 'em
17:06 ZoffixW It's for a web service that only allows 2, 4, and 8. I have no control over it
17:06 * ZoffixW also wonders who in the world idents with 8 spaces
17:07 moritz ZoffixW: people who migrated straight from hard tabs, presumably
17:07 btyler spacebar QA testers
17:07 ZoffixW btyler++
17:08 Hor|zon joined #perl6
17:08 Jaglor left #perl6
17:09 _itz_ programmers paid by the character?
17:09 ZoffixW heh
17:10 thou joined #perl6
17:10 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:16 moritz can anybody proficient in travis explain DBIish's .travis.yaml to me?
17:16 moritz for example, why doesn't it have to list mysql and postgres as services?
17:17 moritz https://github.com/perl6/DBIish/blob/master/.travis.yml
17:17 dalek DBIish: bb3fea5 | moritz++ | .travis.yml:
17:17 dalek DBIish: Remove an outdated TODO comment
17:17 dalek DBIish: review: https://github.com/perl6/DBIish/commit/bb3fea5af4
17:17 rurban joined #perl6
17:22 ugexe legacy infrastructure might act different from whats documented. add 'sudo: false'
17:24 dalek rakudo/nom: 02d3166 | lizmat++ | src/core/ (2 files):
17:24 dalek rakudo/nom: Return only when iteration end reached
17:24 dalek rakudo/nom:
17:24 dalek rakudo/nom: Not every time we've reached sufficient number of elements to push
17:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/02d3166d0f
17:24 TimToady FROGGS[mobile]: don't need parens
17:24 TimToady m: say v6.0\.gist
17:24 camelia rakudo-moar d28c37: OUTPUT«v6.0␤»
17:25 ZoffixW Am I doing something wrong? How come this fails:
17:25 ZoffixW m: class Foo { subset Token of Str where m:P5/^[[:xdigit:]]{40}$/; has Token $.token; }; say Foo.new( :token('4c6567f85f0980f30987b69b78767647c2165a26') ).token
17:25 camelia rakudo-moar d28c37: OUTPUT«Type check failed in assignment to $!token; expected Token but got Str␤  in block <unit> at /tmp/jtx2hSxV7S:1␤␤»
17:25 lizmat another thing I realized when cycling, is that we probably want to make "bool-only" a required method for the Iterator interface
17:26 TimToady do you mean ** 40 there?
17:26 TimToady oh wait, P5
17:26 ugexe ah it looks like a copy of mysql and postgres are started by default according to http://docs.travis-ci.com/user/database-setup/
17:26 timotimo lizmat: i don't really understand your latest commit; is that about correctness or performance?
17:26 lizmat performance
17:27 lizmat falling off a sub is cheaper than doing a return
17:27 timotimo oh!
17:27 timotimo yes, indeed
17:27 TimToady ZoffixW: looks like a bug to me
17:27 timotimo very much so
17:27 lizmat so instead of doing a return for every time we got sufficient elements
17:27 timotimo you just fall out of the loop
17:27 timotimo gotcha
17:27 lizmat we're only returning when the iteration is finished
17:28 FROGGS m: say v6.0.gist
17:28 camelia rakudo-moar d28c37: OUTPUT«v6.0␤»
17:28 FROGGS m: say v6.0.alpha
17:28 camelia rakudo-moar d28c37: OUTPUT«Method 'alpha' not found for invocant of class 'Version'␤  in block <unit> at /tmp/BIJ9tZu8iz:1␤␤»
17:28 TimToady pity we can't read their mind there :)
17:29 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 \
17:29 FROGGS m: say Version.new('v6.0.alpha') # that should do
17:29 camelia rakudo-moar d28c37: OUTPUT«vv.6.0.alpha␤»
17:29 FROGGS ups
17:30 TimToady vv?
17:30 lizmat m: m: say Version.new('6.0.alpha')
17:30 camelia rakudo-moar d28c37: OUTPUT«v6.0.alpha␤»
17:30 FROGGS TimToady: yeah, that is what I think I proposed... treat alphas as version parts
17:30 TimToady yes, you proposed that, which is why I pointed out you don't need parens
17:30 lizmat now that we have infix . , that would be easy , no
17:31 TimToady thattttoo
17:31 lizmat m: say v6.0.alpha . gist
17:31 camelia rakudo-moar d28c37: OUTPUT«Method 'alpha' not found for invocant of class 'Version'␤  in block <unit> at /tmp/1_3X8Xe1s2:1␤␤»
17:31 FROGGS though parens might also be nice there
17:31 ZoffixW TimToady, seems like POSIX classes are not supported:
17:31 ZoffixW m: say [ '4c' ~~ m:P5/[[:xdigit:]]/, '4c' ~~ m:P5/[[:print:]]/ ].perl
17:31 camelia rakudo-moar d28c37: OUTPUT«[Bool::False, Bool::False]␤»
17:31 FROGGS I mean, allow both... backslash or parens
17:31 BenGoldberg m: say Version.new('6.0.alpha').gist
17:31 camelia rakudo-moar d28c37: OUTPUT«v6.0.alpha␤»
17:32 TimToady there are plenty of workarounds if we guess the other way
17:32 TimToady the workaround going the other way is...arduous
17:33 sufrostico joined #perl6
17:33 sufrostico joined #perl6
17:35 itz_ left #perl6
17:39 llfourn joined #perl6
17:40 TimToady FROGGS: by which I mean, I've decided we should guess "more version"
17:41 itz_stmuk joined #perl6
17:42 FROGGS *nod*
17:43 timotimo FROGGS: you're working on the msi right now?
17:44 timotimo a bunch of the travis badges on the modules page are wrong
17:44 FROGGS I do
17:44 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?)
17:45 timotimo sergot: your perl6-encode repo for example is like this :)
17:46 Ven joined #perl6
17:50 ZoffixW timotimo, what should those badges say?
17:50 n0tjack joined #perl6
17:50 ZoffixW I guess "build unknown"...
17:52 dalek rakudo/nom: ec5186a | ugexe++ | src/core/List.pm:
17:52 dalek rakudo/nom: Fix rotor for some Positionals
17:52 dalek rakudo/nom:
17:52 dalek rakudo/nom: Assure $!reified is set for method .rotor
17:52 dalek rakudo/nom:
17:52 dalek rakudo/nom: Fixes Buf/Blob.new().rotor(1) error "This type does not support elems"
17:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ec5186aae4
17:52 dalek rakudo/nom: c749677 | niner++ | src/core/List.pm:
17:52 dalek rakudo/nom: Merge pull request #548 from ugexe/patch-2
17:52 dalek rakudo/nom:
17:52 dalek rakudo/nom: Fix rotor for some Positionals
17:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c74967700f
17:55 Ven joined #perl6
17:58 kjs_ joined #perl6
18:05 dalek star: 12d32ac | FROGGS++ | .gitmodules:
18:05 dalek star: fix git urls for submodules
18:05 dalek star: review: https://github.com/rakudo/star/commit/12d32ac0f8
18:06 dalek rakudo/nom: 5f9f4c0 | lizmat++ | src/core/Any-iterable-methods.pm:
18:06 dalek rakudo/nom: Make for @a.grep(...) about 2x faster
18:06 dalek rakudo/nom:
18:06 dalek rakudo/nom: By removing the explicit return-rw
18:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f9f4c0831
18:08 n0tjack joined #perl6
18:09 Hor|zon joined #perl6
18:11 Ven joined #perl6
18:16 timotimo wow, 2x? that's pretty good!
18:17 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 #perl6
18:21 lizmat it's return, really, it is control-flow thingy
18:21 lizmat :-)
18:26 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 xenu but what about client?
18:27 lizmat xenu: first we need to solve the installation / precomp of modules properly
18:27 lizmat *then* we can really think about cpan like clients
18:27 lizmat well, imho  :-)
18:28 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␤»
18:28 zostay is that the best way to include a constsnt in a regex? does that optimize?
18:29 lizmat yes and not sure
18:29 zostay thx
18:30 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
18:30 timotimo um
18:30 timotimo {} will not prevent backtracking
18:31 vendethiel it'll end LTM for that rule, though, I guess
18:31 vendethiel well, not with a constant.
18:32 TimToady you want <{CRLF}> though
18:33 TimToady {CRLF} would do no matching
18:33 n0tjack joined #perl6
18:33 lizmat ah, duh...  :-(
18:34 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:35 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␤»
18:36 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.
18:36 zostay i forget i can do that, thx FROGGS
18:36 FROGGS and I believe that my example will be as fast as a literal, because the string has a compile time value
18:36 timotimo no, { } on its own is already a LTM-terminating thing
18:36 TimToady note also that \n is supposed to match CRLF already
18:37 TimToady m: say "\x0d\x0a" ~~ /^ \n $/
18:37 camelia rakudo-moar 5f9f4c: OUTPUT«「
18:37 TimToady m: say so "\x0d\x0a" ~~ /^ \n $/
18:37 FROGGS and so it does
18:37 camelia rakudo-moar 5f9f4c: OUTPUT«True␤»
18:38 skids Yeah but HTTP has strict newline requirements.
18:40 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 #perl6
18:40 tokuhirom joined #perl6
18:41 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␤␤»
18:41 timotimo m: say Buf.new(0x0d, 0x0a) xx 2
18:41 camelia rakudo-moar 5f9f4c: OUTPUT«(Buf:0x<0d 0a> Buf:0x<0d 0a>)␤»
18:42 zostay m: say [~] Buf.new(0x0d, 0x0a) xx 2;
18:42 camelia rakudo-moar 5f9f4c: OUTPUT«Buf:0x<0d 0a 0d 0a>␤»
18:42 * lizmat just finds out Bag.kv is borked and there are no spectests for it  :-(
18:43 timotimo ah, ~ works on bufs, too
18:43 FROGGS ewww
18:43 lizmat m: my $b = ^10 .Bag; for $b.kv -> \k, \v { say k,v }
18:43 camelia rakudo-moar 5f9f4c: OUTPUT«Too many positionals passed; expected 2 arguments but got 4␤  in block <unit> at /tmp/l5C7XD8Oia:1␤␤»
18:43 * lizmat is on it
18:48 * ZoffixW rages
18:48 ZoffixW Can't find what possible values of "state" travis API can return...
18:49 ZoffixW And I'm knee deep in https://github.com/travis-ci/travis-api
18:49 ZoffixW "state" for /builds that is
18:50 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␤␤»
18:51 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␤␤»
18:51 Ven that's what s05 recommends doing, though :(
18:52 moritz did you mean to call <.c> ?
18:52 moritz m:  m: my token c { 'a' }; say 'a' ~~ /$<rename=a>/
18:52 camelia rakudo-moar 5f9f4c: OUTPUT«Nil␤»
18:52 moritz m:  m: my token c { 'a' }; say 'a' ~~ /$<rename=c>/
18:52 camelia rakudo-moar 5f9f4c: OUTPUT«Nil␤»
18:52 moritz m:  m: my token c { 'a' }; say 'a' ~~ /$<rename>=<.c>/
18:52 camelia rakudo-moar 5f9f4c: OUTPUT«Method 'c' not found for invocant of class 'Cursor'␤  in block <unit> at /tmp/8NuHDEv2GB:1␤␤»
18:53 vendethiel ^ that's the issue
18:53 moritz m:  m: my token c { 'a' }; say 'a' ~~ /$<rename>=<&c>/
18:53 camelia rakudo-moar 5f9f4c: OUTPUT«「a」␤ rename => 「a」␤»
18:53 moritz it works when done right :-)
18:53 vendethiel s05 says to use "<.c>", though?
18:53 moritz maybe S05 is a bit outdated
18:53 vendethiel or I've been confused for some time, because I remember that working..
18:53 moritz iirc . explicitly stands for a method call
18:55 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…»
18:55 FROGGS m: my token c { 'a' }; say 'a' ~~ /<a>/
18:55 camelia rakudo-moar 5f9f4c: OUTPUT«Method 'a' not found for invocant of class 'Cursor'␤  in block <unit> at /tmp/s2T13M26Zv:1␤␤»
18:56 FROGGS m: my token c { 'a' }; say 'a' ~~ /<c>/
18:56 camelia rakudo-moar 5f9f4c: OUTPUT«「a」␤ c => 「a」␤»
18:56 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?
18:56 leont First guess, it's matching the full name and not the basename…
18:56 FROGGS IIRC <c> will check for a &c, and fall back to Cursor.c
18:57 vendethiel I wanted not to capture c explicitly
18:57 vendethiel like, $<name>=<smth>+
18:58 FROGGS m:  m: my token c { 'a' }; say 'a' ~~ /<rename=c>/
18:58 camelia rakudo-moar 5f9f4c: OUTPUT«「a」␤ c => 「a」␤ rename => 「a」␤»
18:58 FROGGS m: my token c { 'a' }; say 'a' ~~ /<rename=&c>/
18:58 camelia rakudo-moar 5f9f4c: OUTPUT«「a」␤ rename => 「a」␤»
18:59 thou joined #perl6
18:59 dalek roast: 12cf33f | skids++ | S02-literals/heredocs.t:
18:59 dalek roast: Test for RT #120895
18:59 dalek roast: review: https://github.com/perl6/roast/commit/12cf33fdfe
18:59 dalek roast: ded1b69 | skids++ | / (96 files):
18:59 dalek roast: Merge branch 'master' of github.com:perl6/roast
18:59 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=120895
18:59 dalek roast: review: https://github.com/perl6/roast/commit/ded1b69cd8
18:59 dalek roast: 97a1050 | skids++ | S (11 files):
18:59 dalek roast: Merge branch 'master' of github.com:perl6/roast
18:59 dalek roast: review: https://github.com/perl6/roast/commit/97a1050fcc
18:59 dalek roast: c13bad1 | skids++ | S (4 files):
18:59 dalek roast: Merge branch 'master' of github.com:perl6/roast
18:59 dalek roast: review: https://github.com/perl6/roast/commit/c13bad1099
18:59 dalek roast: 6e3f725 | skids++ | / (17 files):
18:59 dalek roast: Merge branch 'master' of github.com:perl6/roast
18:59 dalek roast: review: https://github.com/perl6/roast/commit/6e3f725a08
18:59 dalek roast: 449af8c | skids++ | S0 (2 files):
18:59 dalek roast: Merge branch 'master' of github.com:perl6/roast
18:59 dalek roast: review: https://github.com/perl6/roast/commit/449af8cc09
18:59 dalek roast: 7f9a23f | skids++ | S (34 files):
18:59 dalek roast: Merge branch 'master' of github.com:perl6/roast
18:59 dalek roast: review: https://github.com/perl6/roast/commit/7f9a23f21b
18:59 dalek roast: 552fa60 | skids++ | S (2 files):
18:59 dalek roast: More Heredoc/indent tabbification tests
18:59 dalek roast: review: https://github.com/perl6/roast/commit/552fa608b1
18:59 skids dammit wth.
18:59 FROGGS O.o
18:59 skids I pushed from a branch and it pushed my master
19:00 skids How do I undo that.
19:00 FROGGS I dunno... go back to bed and hide under the pillow?
19:00 n0tjack joined #perl6
19:01 skids Is that supposed to happen, I mean, I'm in a branch and explicitly "push origin master"
19:01 skids And it does master -> master
19:02 FROGGS if you push to master, and merged master into your branch often, yes
19:03 FROGGS 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 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」␤»
19:03 FROGGS though you only do that right before merging
19:03 Ven why does that first one not match
19:03 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?
19:04 FROGGS because at the time you rebased you branch onto latest master, you cannot push your branch upstream
19:04 FROGGS Ven: remove the dollor
19:04 FROGGS dollar*
19:05 FROGGS 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>/;
19:05 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␤…»
19:05 FROGGS no, only the first
19:05 skids Anyway It even committed stuff from the master that wasn't supposed to be committed yet.
19:05 skids And not the thing I actuay wanted to commit.
19:06 FROGGS <foo=c> is valid, as is $<foo>=<c>
19:06 dalek rakudo/nom: d16d88e | TimToady++ | src/Perl6/Grammar.nqp:
19:06 dalek rakudo/nom: allow alphabetic version components
19:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d16d88e50a
19:06 sufrosti1o joined #perl6
19:06 dalek rakudo/nom: b05dda3 | lizmat++ | src/core/Baggy.pm:
19:06 dalek rakudo/nom: Unbreak Baggy.kv
19:06 dalek rakudo/nom:
19:06 dalek rakudo/nom: And also handle the weird case: for $b.kv -> \a, \b, \c { }
19:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b05dda30a4
19:06 FROGGS skids: then you perhaps wanted to cherry-pick stuff from your branch?
19:06 FROGGS TimToady++
19:06 FROGGS :o)
19:06 Alina-malina joined #perl6
19:07 skids I suppose the only way to clean that up is to push reverts?
19:08 lizmat CurtisOvidPoe++  # https://www.quora.com/Perl-programming-language-1/Should-I-be-interested-in-Perl6/answer/Curtis-Poe?share=1
19:08 masak m: say "foobar" ~~ / foo :: baz /
19:08 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 /␤»
19:08 skids I don't want to make a further disaster by trying to fix it though.
19:08 masak is :: pre-Christmas? is there any workaround?
19:09 masak oh, I guess surround the rest of the regex with [... || <.panic>]
19:10 Hor|zon joined #perl6
19:11 FROGGS m: say $*SPEC.updir
19:11 camelia rakudo-moar 5f9f4c: OUTPUT«..␤»
19:11 FROGGS m: say $*SPEC.curupdir
19:11 camelia rakudo-moar 5f9f4c: OUTPUT«none(., ..)␤»
19:12 * 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?
19:14 FROGGS leont: hmmm, that works on my box: say dir(:test(none $*SPEC.updir, $*SPEC.curdir, < .svn CVS .git >))
19:15 FROGGS skids: just dont touch it :o)
19:16 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:17 skids (and maybe I should figure out if git has a "dry run" option for future use)
19:18 labster good morning, *
19:18 yoleaux 09:56Z <psch> labster: http://irclog.perlgeek.de/perl6/2015-10-11#i_11355913
19:18 sufrosti2o joined #perl6
19:18 ZoffixW \o
19:18 sufrosti3o joined #perl6
19:18 skids .oO(Oh yes it does.  Note to self.  Do a --dry-run)
19:19 leont FROGGS: seems that putting the junction in a variable was what broke is :-s
19:19 n0tjack joined #perl6
19:20 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
19:20 FROGGS ewww
19:20 ZoffixW That's too magical
19:20 FROGGS grondilu: should be oof@ anyway :P
19:21 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 #perl6
19:21 FROGGS that should make for a fund slang
19:21 FROGGS fun*
19:21 skids It would probably make for interesting email address related bugs.
19:22 FROGGS skids: why?
19:22 FROGGS []oof@ would interpolate, not oof@
19:22 FROGGS hehe, I like that idea
19:23 FROGGS hi labster
19:23 shlomif joined #perl6
19:23 labster hi FROGGS
19:24 FROGGS @all: Microsoft Windows® MSI packages are now available for Rakudo Star 2015.09: http://rakudo.org/downloads/star/
19:24 TimToady m: say v6b cmp v6birthday
19:24 camelia rakudo-moar b05dda: OUTPUT«Less␤»
19:24 TimToady m: say v6b cmp v6Birthday
19:24 camelia rakudo-moar b05dda: OUTPUT«More␤»
19:25 TimToady dunno what to do wrt case folding there...
19:25 TimToady m: use v6B; # it works!
19:25 camelia rakudo-moar b05dda: ( no output )
19:25 masak +1 on oof@ slang ;)
19:25 TimToady m: use v6C; # it doesn't work!
19:25 camelia rakudo-moar b05dda: ( no output )
19:25 masak doesn't harm one-pass parsing, AFAICS
19:26 Ven joined #perl6
19:26 flussence reason I said that is because it reminds me of p5's end-heavy regex modifiers...
19:26 sufrosti4o joined #perl6
19:27 dalek modules.perl6.org: 23965ac | (Zoffix Znet)++ | web/ (8 files):
19:27 dalek modules.perl6.org: Upgrade to Travis API v2
19:27 dalek modules.perl6.org:
19:27 dalek modules.perl6.org: Fix incorrect status icons. Support all 6 icons instead of just 3
19:27 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/23965ac86b
19:27 FROGGS m: say v6a < v6aa
19:27 camelia rakudo-moar b05dda: OUTPUT«Cannot call Real(Version: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/edLoz8ewrk:1␤␤»
19:27 labster [0]adogaplanacanalpagoda@
19:28 FROGGS m: say v6a lt v6aa
19:28 camelia rakudo-moar b05dda: OUTPUT«True␤»
19:28 FROGGS so, what's the version Perl 6 is going to start with?
19:28 TimToady m: say v6a before v6aa
19:28 camelia rakudo-moar b05dda: OUTPUT«True␤»
19:28 TimToady m: say $*PERL.version
19:28 camelia rakudo-moar b05dda: OUTPUT«v6.Birthday␤»
19:29 TimToady m: say v6B before $*PERL.version
19:29 camelia rakudo-moar b05dda: OUTPUT«True␤»
19:29 FROGGS Birthday kinda fits anyway
19:29 TimToady m: say v6b before $*PERL.version
19:29 camelia rakudo-moar b05dda: OUTPUT«False␤»
19:29 TimToady that's the case folding issue
19:29 FROGGS though, after 26 cycles or so it will get interesting
19:29 dalek modules.perl6.org: 787b23b | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
19:29 dalek modules.perl6.org: Get rid of discouraged JSON.pm
19:29 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/787b23b22e
19:30 TimToady m: say v6a before v6.0
19:30 camelia rakudo-moar b05dda: OUTPUT«True␤»
19:30 TimToady so we can use up the alphabet on roast versions before we ever get to 6.0 :)
19:30 FROGGS :P
19:33 FROGGS I guess that could work
19:34 TimToady but if we call it v6.Christmas, they have to say v6C rather than v6c, unless we case fold
19:35 FROGGS m: say v6AcmonBlue, v6BehrsHairstreak, v6ColumbianSkipper, v6DreamyDuskyWing
19:35 camelia rakudo-moar b05dda: OUTPUT«v6.AcmonBluev6.BehrsHairstreakv6.ColumbianSkipperv6.DreamyDuskyWing␤»
19:35 FROGGS (butterfly names fwiw)
19:36 masak m: say sort(v6AcmonBlue, v6DreamyDuskyWing, v6BehrsHairstreak, v6ColumbianSkipper)
19:36 camelia rakudo-moar b05dda: OUTPUT«(v6.AcmonBlue v6.BehrsHairstreak v6.ColumbianSkipper v6.DreamyDuskyWing)␤»
19:36 masak \o/
19:37 FROGGS but yeah, I imagine someone wants to put something short like 'use v6c' at the top of a program
19:37 Kcop joined #perl6
19:37 FROGGS or 'use v6C' for that matter
19:37 dalek roast: db83a45 | skids++ | S04-exceptions/fail.t:
19:37 dalek roast: Test default message in Failure.new without $! set.
19:37 dalek roast: review: https://github.com/perl6/roast/commit/db83a454c5
19:39 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...
19:39 FROGGS though, is that sane?
19:39 TimToady I think it's pretty sane
19:39 dalek ecosystem: f799081 | (Andy Weidenbaum)++ | META.list:
19:39 dalek ecosystem: add Config::TOML
19:39 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/f799081401
19:39 dalek ecosystem: 1a62b3e | (Zoffix Znet)++ | META.list:
19:39 dalek ecosystem: Merge pull request #72 from atweiden/config-toml
19:39 dalek ecosystem:
19:39 dalek ecosystem: add Config::TOML
19:39 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/1a62b3e60e
19:39 TimToady as long as you don't expect cmp to return Same
19:39 * moritz would prefer that
19:39 FROGGS yeah...
19:39 moritz that cmp returned Same
19:40 moritz so rather make the version v6b, and have another field for Birthday
19:40 moritz .codename
19:40 FROGGS +1
19:40 FROGGS sanity restored
19:41 moritz the other solution felt like a "you think this is cute today" :-)
19:41 dalek modules.perl6.org: 1e061e3 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
19:41 dalek modules.perl6.org: Make trailing / optional
19:41 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/1e061e35b9
19:41 TEttinger joined #perl6
19:41 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?
19:42 Kcop [^\)] doesn't work
19:42 FROGGS m: say "abc da sd ) lsdfklgj" ~~ /<-[)]>/
19:42 camelia rakudo-moar b05dda: OUTPUT«「a」␤»
19:42 FROGGS m: say "abc da sd ) lsdfklgj" ~~ /<-[)]>+/
19:42 camelia rakudo-moar b05dda: OUTPUT«「abc da sd 」␤»
19:42 FROGGS Kcop: ^^
19:42 Kcop omg, thnx
19:43 FROGGS <-[...]> is the same as [^...]
19:43 Kcop got it
19:43 FROGGS though you an do more, like:
19:43 Kcop thnx a lot
19:43 FROGGS <+\w-\d-[xyz]>
19:43 thundergnat joined #perl6
19:44 Kcop <-[..]> works like a charm!
19:45 thundergnat Howdy all you sixy people!
19:45 ZoffixW \o
19:45 ZoffixW Nice nickname!
19:45 FROGGS o/
19:45 dalek roast: b472446 | skids++ | S (2 files):
19:45 dalek roast: Revert "More Heredoc/indent tabbification tests"
19:45 dalek roast:
19:45 dalek roast: This reverts commit 552fa608b13c4bdf4a53f119e48bff6b3fd0ba57.
19:45 dalek roast:
19:45 dalek roast: Was committed too early by mistake
19:45 dalek roast: review: https://github.com/perl6/roast/commit/b472446050
19:46 skids And I just leave the merge commits as a wall of shame entry for my lack of git-foo, I guess.
19:47 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
19:47 ugexe the icon key/descriptions
19:48 xenu >Stage parse      : NMAKE : fatal error U1077: 'C:\rakudo\bin\moar.EXE' : return code '0xc0000409'
19:48 xenu hmm? is rakudo buildable with msvc?
19:48 FROGGS xenu: yes, it is
19:48 szabgab joined #perl6
19:48 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. https://github.com/thundergnat/2048/blob/master/2048.p6
19:49 xenu FROGGS: does it have any dependencies besides perl5 and stock msvc?
19:49 szabgab moritz: ping
19:49 moritz szabgab: pong
19:49 FROGGS xenu: you need the windows sdk
19:50 FROGGS xenu: or you use starberryperl+gcc+gmake
19:50 moritz thundergnat: I get "Method 'f' not found for invocant of class 'Seq'"
19:50 szabgab if I am not mistaken you have full rights to the github.com/perl6
19:50 moritz szabgab: you are not mistaken
19:50 xenu hmm, isn't visual studio community edition coming with windows sdk?
19:50 FROGGS xenu: no idea :S
19:50 moritz thundergnat: with perl6-m 2015.09-338-gcb680b2
19:50 szabgab could you enable Travis-CI for the doc and Pod::To::HTML repos?
19:51 FROGGS xenu: what VS version is that?
19:51 xenu 2015
19:51 szabgab I've added the .travis.yml to both of them but Travis-CI itself need to be enabled
19:51 FROGGS xenu: ahh, this causes trouble I fear
19:51 moritz szabgab: sure
19:51 thundergnat moritz: phooey! thanks
19:51 xenu FROGGS: so it is known problem?
19:51 FROGGS xenu: older versions do work though
19:51 xenu FROGGS: if so, then i'll just use gcc
19:51 FROGGS xenu: yes, other ppl have reported it
19:52 FROGGS xenu: maybe it is something we can change, but I don't know details
19:52 moritz szabgab: do you have any idea why https://travis-ci.org/moritz/Math-RungeKutta says "no buids for this repository"?
19:52 moritz I've added a .travis.yml some hours ago, and enabled builds for it
19:52 pink_mist speaking of msvc, this was a very interesting blog post by the msvc team http://blogs.msdn.com/b/vcblog/archive/2015/09/25/rejuvenating-the-microsoft-c-c-compiler.aspx
19:52 moritz szabgab: done
19:53 FROGGS moritz: travis got no build requests for it yet
19:53 szabgab have you pushed anything *after* enabling on Travis-CI ?
19:53 moritz no
19:53 moritz do I need to? :(
19:53 szabgab that's why
19:53 FROGGS moritz: go to the settings in github for that repo, and click the test buttong for that service
19:53 FROGGS button*
19:53 ZoffixW Oh boy. I made a booboo
19:54 ZoffixW ugexe++ # for making me notice it :P
19:55 szabgab btw there is now this page: http://modules.perl6.org/recent.html   the most recently changed repo at the top
19:56 dalek modules.perl6.org: a5b3d28 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
19:56 dalek modules.perl6.org: Undo last commit
19:56 dalek modules.perl6.org:
19:56 dalek modules.perl6.org: We need trailing / or the regex gives us wrong repo name.
19:56 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/a5b3d28e99
19:56 moritz szabgab: what does "changed" mean? changed meta data? or simply new commits?
19:56 szabgab new commits
19:56 FROGGS moritz: read what I wrote
19:57 FROGGS or... you commit :o)
19:57 dalek modules.perl6.org: f7a2c62 | (Zoffix Znet)++ | web/index.tmpl:
19:57 dalek modules.perl6.org: Improve explanation of panda S11 icons
19:57 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/f7a2c62495
19:57 szabgab whatever "last_updated" means in GitHub :)
19:57 moritz FROGGS: it doesn't hurt to review the docs once in a while :-)
19:58 ZoffixW ugexe, ^ fixed: http://i.imgur.com/OT6lEyd.png
20:00 ZoffixW szabgab, it's weird some of them don't have a last_updated (look at the bottom of http://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:01 ugexe cool. looks good. ZoffixW++
20:01 szabgab ZoffixW: strange
20:01 xenu FROGGS: the only thing i've found was https://github.com/MoarVM/MoarVM/issues/221 but it's fixed so maybe it's just me?
20:01 dalek modules.perl6.org: c1bbf0a | (Zoffix Znet)++ | web/lib/P6Project.pm:
20:01 dalek modules.perl6.org: Avoid uninitialized warnings
20:01 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/c1bbf0ab54
20:02 szabgab ZoffixW: there seem to be 5 such modules at the bottom of http://modules.perl6.org/recent.html
20:02 ZoffixW yeah
20:02 szabgab but I guess they generate a lot of warnings as they are being compared with the 380 other modules
20:02 FROGGS xenu: and you got way past that point...
20:02 * ZoffixW nods
20:03 ZoffixW I fixed the warnings in the commit above though
20:04 telex joined #perl6
20:04 szabgab ZoffixW: you will still get warnings on line 107 for the regex though
20:05 dbenton joined #perl6
20:05 szabgab maybe they should be set to ""  on line 107
20:06 szabgab anyway, I have to go now
20:06 cygx joined #perl6
20:06 cygx o/
20:06 szabgab I hope tomorrow all the modules will have Travis enabled :)
20:06 szabgab night &
20:06 dalek modules.perl6.org: ccbb463 | (Zoffix Znet)++ | web/lib/P6Project.pm:
20:06 dalek modules.perl6.org: Fix more warnings
20:06 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/ccbb4632bc
20:06 ZoffixW night
20:07 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!
20:08 lizmat it was szabgab wishing gnight  :)
20:08 Xor_ joined #perl6
20:10 dalek modules.perl6.org: 898e1bc | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
20:10 dalek modules.perl6.org: Give {support}->{source} lower precedence
20:10 dalek modules.perl6.org:
20:10 dalek modules.perl6.org: 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 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/898e1bcacf
20:11 Hor|zon joined #perl6
20:14 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:15 hohoho_ joined #perl6
20:16 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 CurtisOvidPoe joined #perl6
20:17 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)]
20:19 CurtisOvidPoe O
20:19 moritz CurtisOvidPoe: perl6-m -e 'my int $i = 2; for ^200 { $i *= $i }; say $i'
20:19 moritz runs *much* faster with int than with Int
20:19 moritz doesn't produce the same result, though :/
20:19 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 CurtisOvidPoe moritz: that’s an uncompelling example in my upcoming OSCON talk :)
20:21 CurtisOvidPoe If it’s not ready for prime-time, I’ll skip it.
20:21 TimToady use += instead of *= :)
20:22 Ven joined #perl6
20:23 moritz CurtisOvidPoe: time perl6-m -e 'my int $i = 2; for ^20000 { $i += $i % 6 }; say $i'
20:23 n0tjack joined #perl6
20:23 pmurias joined #perl6
20:23 moritz CurtisOvidPoe: takes 500ms where with int and 700 with Int
20:23 moritz maybe not quite the speedup you are looking for
20:24 moritz but mostly int is about saving memory, not speed
20:24 lizmat CurtisOvidPoe: could you try with "$i = $i + 1" ??
20:24 CurtisOvidPoe moritz: 0.237s vs. 0.281s. Again, not quite compelling. I think I should skip this.
20:24 pmurias TimToady: thanks for the testing getpid hint, I was able to create a test based on that
20:24 yoleaux 02:01Z <TimToady> pmurias: see http://irclog.perlgeek.de/perl6/2015-10-11#i_11355209 for how to test getpid
20:24 avar More generally the Perl 6 toolchain is too immature for most optimizations to be all that impressive.
20:24 avar The semantics are there to enable optimizations, but they mostly haven't been taken advantage of
20:26 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'
20:26 lizmat 1000000
20:26 lizmat real0m0.138s
20:26 lizmat my Int $i = 0; $i = $i + 1 while $i < 1000000; say $i'
20:26 lizmat 1000000
20:26 lizmat real0m1.602s
20:26 TimToady you probably want something crypto with %
20:27 lizmat CurtisOvidPoe: that's a factor of 40
20:28 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”
20:28 TimToady % 6 doesn't mean much, but % 2**56 or so is gonna be a lot slower in Int than in int
20:28 avar Which doesn't do machine-type optimizations, which is what Int v.s. int implies
20:28 lizmat CurtisOvidPoe: that's because $i++ has not gotten attention in the optimization dept.
20:28 CurtisOvidPoe OK, too many pitfalls there. I’ll stay away from that.
20:28 FROGGS CurtisOvidPoe: it might be possible that we box the int to and Int to do the increment
20:28 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  :-)
20:29 lizmat well, actually, that was jnthn's reaction when I said that
20:29 CurtisOvidPoe I’ll be focusing mainly on developer performance and not software performance.
20:30 avar Probably a good idea not to mention int v.s. Int at all then :)
20:30 lizmat http://irclog.perlgeek.de/perl6/2015-10-09#i_11347723  # FROGGS
20:30 lichtkind unshift doesnt glatten either?
20:30 CurtisOvidPoe Oh, and as I suspect most people here might know, Perl 6 is getting more and more questions. For example: https://www.quora.com/Perl-programming-language-1/Should-I-be-interested-in-Perl6/
20:30 lizmat FROGGS: "It's that we can't inline the native ++ yet"
20:31 CurtisOvidPoe So, no Perl++. Gotcha. :)
20:31 FROGGS :P
20:31 lichtkind i mean flatten
20:32 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
20:32 lichtkind propably mroe than one
20:32 CurtisOvidPoe FROGGS, that’s a new question and my answer is a rehash, actually.
20:32 lichtkind CurtisOvidPoe++
20:33 FROGGS ahh true... the original question had a different title
20:34 CurtisOvidPoe Yeah, the original question was flamebait: https://www.quora.com/Perl-programming-language-1/Why-did-Larry-Wall-finally-ship-Perl6-and-does-anybody-care
20:34 FROGGS aye
20:34 lizmat we also lost the for ^1000 -> native int while optimization during the GLR
20:34 CurtisOvidPoe p6 say 1/(.1 + .2 - .3)
20:34 CurtisOvidPoe p6: say 1/(.1 + .2 - .3)
20:34 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␤␤»
20:35 CurtisOvidPoe Has anyone noticed that bug?
20:35 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 #perl6
20:35 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␤␤»
20:35 CurtisOvidPoe That is not hte answer :)
20:35 CurtisOvidPoe s/hte/the/
20:36 lichtkind p6: my @a = 1; my @b = (2,3); push @a, @b
20:36 camelia rakudo-moar b05dda: ( no output )
20:36 nine .tell ZoffixW the Linux kernel sources use 8 spaces indentation
20:36 yoleaux nine: I'll pass your message to ZoffixW.
20:36 lichtkind p6: my @a = 1; my @b = (2,3); say push @a, @b
20:36 camelia rakudo-moar b05dda: OUTPUT«[1 [2 3]]␤»
20:36 lizmat you mean the value mentioned in the error message is wrong ?
20:36 CurtisOvidPoe lizmat: yes.
20:36 lichtkind p6: my @a = 1; my @b = (2,3); say unshift @a, @b
20:36 camelia rakudo-moar b05dda: OUTPUT«[[2 3] 1]␤»
20:36 lichtkind will there be a prepend?
20:36 lizmat m: say 42/(1 + 2 - 3)   # do you see the pattern ?
20:36 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 #perl6
20:37 lizmat at one point, it was considered a good idea to show the value with which we get a divide by zero error
20:38 lizmat 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
20:38 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␤␤»
20:39 FROGGS p6: my @a = 1; my @b = (2,3); say @a.prepend: @b
20:39 camelia rakudo-moar b05dda: OUTPUT«[2 3 1]␤»
20:39 FROGGS p6: my @a = 1; my @b = (2,3); say prepend @a, @b
20:39 camelia rakudo-moar b05dda: OUTPUT«[2 3 1]␤»
20:40 Ven joined #perl6
20:41 tokuhirom joined #perl6
20:42 CurtisOvidPoe By the way, does anyone recognize this error? It fails on my iMac, but works on my Macbook https://gist.github.com/Ovid/8d3085d466110d78aeda
20:43 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:45 n0tjack joined #perl6
20:46 * 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 #perl6
20:48 dalek tablets: 8a9b1e5 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
20:48 dalek tablets: update array methods; append, prepend added
20:48 dalek tablets: review: https://github.com/perl6/tablets/commit/8a9b1e5a4b
20:49 FROGGS CurtisOvidPoe / btyler: my guess is that libuv does something funny with command line arguments on your box
20:49 FROGGS so that the -MFile::Find is read by prove, not perl6
20:50 FROGGS or the prove versions differ
20:50 Ven joined #perl6
20:51 BenGoldberg joined #perl6
20:51 leont FROGGS: it's definitely not integrateable yet, but close enough that I'm confident
20:52 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
20:53 leont Well, and a few other features for that matter, such as --archive
20:53 n0tjack joined #perl6
20:55 FROGGS leont: await needs a Promise or Channel, nothing else
20:56 FROGGS m: class Foo { method done { say "done" } }; await Foo.new # will that recurse endlessly?
20:56 camelia rakudo-moar b05dda: ( no output )
20:56 FROGGS m: class Foo { method done { say "done" } }; say await Foo.new
20:56 FROGGS ahh, this will :o)
20:56 camelia rakudo-moar b05dda: OUTPUT«(timeout)»
20:56 CurtisOvidPoe In ‘sub build_panda”, line 486, we have this: “run which('perl6', $version) . " rebootstrap.pl”;”
20:56 CurtisOvidPoe And that returns '/Users/curtispoe/.rakudobrew/bin/../moar-nom/install/bin/perl6 rebootstrap.pl'
20:56 * FROGGS is glad that he understood the source
20:56 dalek doc: d122e4d | (Ben Noordhuis)++ | doc/Type/IO/ (6 files):
20:56 dalek doc: Fix broken links in IO documentation.
20:56 dalek doc: review: https://github.com/perl6/doc/commit/d122e4d022
20:56 dalek doc: 96c828f | (Ben Noordhuis)++ | doc/Type/IO/Spec.pod:
20:56 dalek doc: Fix grammar in IO::Spec documentation.
20:56 dalek doc: review: https://github.com/perl6/doc/commit/96c828faab
20:56 dalek doc: 1a92c41 | (Ben Noordhuis)++ | doc/Type/Routine.pod:
20:56 dalek doc: Fix typo in Routine documentation.
20:56 dalek doc: review: https://github.com/perl6/doc/commit/1a92c41910
20:56 dalek doc: 3a4fc35 | RabidGravy++ | doc/Type/ (7 files):
20:56 dalek doc: Merge pull request #154 from bnoordhuis/io-docs-fixups
20:56 CurtisOvidPoe does that look reasonable?
20:56 dalek doc:
20:56 dalek doc: Fix broken links in IO documentation.
20:56 dalek doc: review: https://github.com/perl6/doc/commit/3a4fc35177
20:57 FROGGS CurtisOvidPoe: yes
20:58 CurtisOvidPoe Bugger. Nothing *looks* wrong.
20:59 FROGGS bnoordhuis++
20:59 CurtisOvidPoe FROGGS: you wrote something about libuv possibly being in error?
20:59 FROGGS CurtisOvidPoe: can you compare the prove versions on both boxes?
21:00 edehont joined #perl6
21:00 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
21:00 yoleaux 20:36Z <nine> ZoffixW: the Linux kernel sources use 8 spaces indentation
21:00 CurtisOvidPoe Give me the exact command to type, please :)
21:00 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␤␤»
21:00 FROGGS CurtisOvidPoe: $ prove --version
21:00 FROGGS TAP::Harness v3.26 and Perl v5.18.2
21:01 FROGGS though if you have 5.20, you cant have an old version anyway...
21:02 sufrostico joined #perl6
21:02 CurtisOvidPoe The working box is Tap::Harness v3.35 and perl v5.22.0
21:02 CurtisOvidPoe The broken box: TAP::Harness v3.30 and Perl v5.20.2
21:03 CurtisOvidPoe (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 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:05 FROGGS like: note ($prove-command, '-e', "$*EXECUTABLE $libs -Ilib", '-r', 't/').perl
21:11 dalek rakudo/nom: b85ea62 | FROGGS++ | src/core/asyncops.pm:
21:11 dalek rakudo/nom: add await candidate that catches non-awaitables
21:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b85ea62d52
21:11 FROGGS my firsts async contribution, lol
21:12 Hor|zon joined #perl6
21:12 Xor_ joined #perl6
21:13 lizmat FROGGS++  :-)
21:13 leont FLOGGS++
21:14 FROGGS *g*
21:14 FROGGS and now by bed is awaiting me...
21:14 FROGGS gnight
21:15 n0tjack joined #perl6
21:16 lizmat gnight FROGGS
21:16 lizmat m: use nqp; my $p = a => 42; dd nqp::getattr($p,Pair,q/$!value/)  # huh ??
21:16 camelia rakudo-moar b05dda: OUTPUT«P6opaque: no such attribute '$!value'␤  in block <unit> at /tmp/9f9d_tMxEH:1␤␤»
21:16 * FROGGS .oO( decont )
21:17 FROGGS 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 FROGGS &
21:17 lizmat :-)
21:18 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 xenu that didn't help a bit
21:18 xenu then i've compiled it with symbols and without optimizations
21:18 xenu suddendly started working
21:19 xenu great
21:21 xenu uh, you're asleep :)
21:26 kjs_ joined #perl6
21:28 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 #perl6
21:30 diana_olhovik_ joined #perl6
21:40 BenGoldberg m: my $b = BagHash.new; $b<a>--; dd $b;
21:40 camelia rakudo-moar b05dda: OUTPUT«BagHash $b = ().BagHash␤»
21:40 BenGoldberg m: my $b = BagHash.new; $b<a> = 100; dd $b;
21:40 camelia rakudo-moar b05dda: OUTPUT«BagHash $b = ("a"=>100).BagHash␤»
21:40 BenGoldberg m: my $b = BagHash.new; $b<a> = 100; $b<a> = -1; dd $b;
21:40 camelia rakudo-moar b05dda: OUTPUT«BagHash $b = ("a"=>100).BagHash␤»
21:41 lizmat yeah, I think the last one is wrong
21:41 llfourn joined #perl6
21:42 n0tjack joined #perl6
21:49 bjz joined #perl6
21:51 n0tjack joined #perl6
21:54 Eddward joined #perl6
21:54 Eddward Is there a way to get the repl to use libreadline?
21:56 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:57 timotimo Zoffix: is there any way to make the drop shadow of the heaer of the modules list include camelia, too?
21:58 timotimo maybe it'd be better to get rid of the shadow altogether
21:59 timotimo Zoffix: also, there seems to be a build-errored.png that 404s
22:01 hohoho_ joined #perl6
22:08 sQuEE joined #perl6
22:10 dalek rakudo/nom: 6432ddf | lizmat++ | src/core/ (6 files):
22:10 dalek rakudo/nom: Speed up Bag/BagHash/Mix/MixHash
22:10 dalek rakudo/nom:
22:10 dalek rakudo/nom: - object creation: 15-20% ("a" xx 50000 vs ^50000)
22:10 dalek rakudo/nom: - key access / mutation: 2x as fast
22:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6432ddf302
22:11 lizmat and with that, I wish #perl6 a good night!
22:12 lichtkind good night
22:13 Hor|zon joined #perl6
22:15 masak 'night, lizmat
22:15 masak 'night, #perl6
22:16 Xor_ Is there a list of ALL reserved words for Perl6 avaiblable somewhere? Need it for text highlighting. Have found just this one: http://www.perlfoundation.org/perl6/index.cgi?perl_6_index_tablet
22:20 timotimo hm, reserved words
22:20 timotimo what kind of syntax highlighter are you building?
22:21 edehont joined #perl6
22:22 edehont joined #perl6
22:23 Xor_ I'm using EditPlus editor for Windows, it has an inbult keyword highlighter
22:23 n0tjack joined #perl6
22:23 Xor_ my, our, next etc.
22:23 edehont joined #perl6
22:24 timotimo oh, huh
22:24 timotimo i suppose you can extract a list from an existing highlighter
22:25 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:27 Xor_ agree
22:27 kjs_ joined #perl6
22:35 thou joined #perl6
22:43 tokuhirom joined #perl6
22:43 n0tjack joined #perl6
22:50 bbarker`` joined #perl6
22:57 yobj left #perl6
22:58 KCL_ joined #perl6
23:14 Hor|zon joined #perl6
23:19 DarthGandalf joined #perl6
23:33 ZoffixW joined #perl6
23:33 ZoffixW What does this mean?
23:33 ZoffixW m: my $z = 'https://gist.github.com/7564296fc686c92d5811'; $z ~~ s{'http' s? '://gist.github' <-[/]>+ '/'}{}; say $z
23:33 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␤»
23:34 ZoffixW I'm trying to end up with "7564296fc686c92d5811"
23:35 ZoffixW Oh. I guess P6 doesn't support "any character" for replacement. This does the trick though:
23:35 ZoffixW m: my $z = 'https://gist.github.com/7564296fc686c92d5811'; $z ~~ s/'http' s? '://gist.github' <-[/]>+ '/'//; say $z
23:35 camelia rakudo-moar 6432dd: OUTPUT«7564296fc686c92d5811␤»
23:38 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
23:38 camelia rakudo-moar 6432dd: OUTPUT«fdo␤»
23:40 ZoffixW Thanks.
23:41 ZoffixW 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 ZoffixW m: class Foo { method bar ($what) { $what ~~ s{'http' s? '://gist.github' <-[/]>+ '/'} = ''; say $what }; Foo.new.bar('https://gist.github.com/7564296fc686c92d5811');
23:41 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>␤»
23:42 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␤␤»
23:43 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
23:43 ZoffixW skids++
23:44 skids m: say ("foo" ~~ S{o} = "d";) # capital S does an "is copy"ish thing
23:44 camelia rakudo-moar 6432dd: OUTPUT«False␤»
23:44 skids Or oh, I guess not.
23:45 skids m: say ("foo" ~~ S{o} = "d"); $/.say;
23:45 camelia rakudo-moar 6432dd: OUTPUT«False␤fdo␤»
23:47 hohoho_ joined #perl6
23:55 b2gills Eddward: I use rlwrap
23:59 Eddward b2gills: Thanks

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

Perl 6 | Reference Documentation | Rakudo