Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-07-09

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:01 geekosaur resol, you only need 64 bit client libs. the server can be either
00:04 timotimo ah, that's right. especially if you're going over a tcp socket
00:04 BenGoldberg timotimo, What confuses me is that they're evaluated at compiletime AND at runtime.  One or the other makes sense, but not BOTH.
00:05 timotimo might be running it to see what the value it spits out is to resolve multi candidates
00:06 ugexe i figured it was just a dont-do-side-effects-in-pure thing
00:09 timotimo yeah, well, if you put side-effects into a function marked as pure, you'll get what you deserve :)
00:09 Zoffix timotimo: but why does it run it twice?
00:11 timotimo *shrug*, put a stacktrace in it and that should help clarify
00:26 Cabanossi joined #perl6
00:33 timotimo i see it called from World.nqp twice first - which i assume is our compile-in-context method - and then twice in the optimizer
00:34 timotimo interestingly the backtrace looks different the first vs second time
00:34 timotimo https://gist.github.com/timo/4362dd24968e79d8014041fb7e295309
01:48 ilbot3 joined #perl6
01:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:56 Cabanossi joined #perl6
02:09 reino4477 joined #perl6
02:11 reino4477 does perl6 have something like function attribute? [my_attribute(var1="something")] method my_method123() { ...}        ?
02:12 noganex joined #perl6
02:14 reino4477 left #perl6
02:14 reino4477 joined #perl6
02:15 araraloren reino4477, Perl 6 have a trait feature, does that help ?
02:16 reino4477 maybe
02:18 llfourn m: class A { has &.foo; }; A.new(foo => -> { say "hello world" }); A.foo()
02:18 camelia rakudo-moar 05c255: OUTPUT: «Cannot look up attributes in a A type object␤  in block <unit> at <tmp> line 1␤␤»
02:18 llfourn m: class A { has &.foo; }; my $a = A.new(foo => -> { say "hello world" }); $a.foo; # oops
02:18 camelia rakudo-moar 05c255: ( no output )
02:18 llfourn m: class A { has &.foo; }; my $a = A.new(foo => -> { say "hello world" }); $a.foo(); # oops
02:18 camelia rakudo-moar 05c255: ( no output )
02:18 llfourn m: class A { has &.foo; }; my $a = A.new(foo => -> { say "hello world" }); $a.foo()(); # oops
02:18 camelia rakudo-moar 05c255: OUTPUT: «hello world␤»
02:19 llfourn reino4477: something like that?
02:20 reino4477 not like that
02:21 reino4477 https://msdn.microsoft.com/en-us/library/aa288454(v=vs.71).aspx
02:21 reino4477 https://doc.rust-lang.org/reference/attributes.html
02:22 llfourn reino4477: ah, yeah you can use traits as araraloren suggested.
02:22 llfourn https://docs.perl6.org/type/Sub#index-entry-trait__mod_%28declarator%29
02:23 reino4477 ok, thx
02:23 llfourn what you do is you make a 'multi trait_mod:<is>(Routine:D, :$mytrait!) { ... }'
02:23 reino4477 left #perl6
02:24 llfourn and then apply roles to the routine in the body
02:24 AlexDaniel joined #perl6
02:25 llfourn so like trait_mod:<is>(Routine:D $r, :$mytrait!) { $r does MyRole  }
02:26 Cabanossi joined #perl6
02:26 llfourn sub foo is mytrait { ... };
02:52 reino4477 joined #perl6
02:53 reino4477 can I have 2 keys mapping to the same value in a dictionary? I mean, something like %("key1|key2" => value123)
02:55 AlexDaniel m: my %h = foo => 42; %h<x> := %h<foo>; %h<foo> = 60; say %h<x>
02:55 camelia rakudo-moar 05c255: OUTPUT: «60␤»
02:55 AlexDaniel why does this even work? :o
02:56 geekosaur because a hash has a scalar container in it for each key. so do arrays
02:56 AlexDaniel yeah but huh… didn't really expect := to DWIM here
02:56 Cabanossi joined #perl6
02:56 geekosaur I expect it was kept because you can do similar tricks in perl 5
02:58 AlexDaniel well, TIL
02:59 llfourn m: my %h; my $a := %h<foo>; $a = "win"; say %h # I use this kind of thing often.
02:59 camelia rakudo-moar 05c255: OUTPUT: «{foo => win}␤»
03:00 llfourn It's one of my favourite features
03:00 AlexDaniel that's very cool
03:09 AlexDaniel heh, here's an interesting dirty trick
03:10 AlexDaniel let's say you bind several keys to some value that is not yet defined… like this:
03:10 AlexDaniel m: my %h; %h<a> := %h<x>; %h<b> := %h<x>; %h<c> := %h<x>; dd %h
03:10 camelia rakudo-moar 05c255: OUTPUT: «Hash %h = {:a(Any), :b(Any), :c(Any)}␤»
03:10 AlexDaniel now let's try to use one of them:
03:10 AlexDaniel m: my %h; %h<a> := %h<x>; %h<b> := %h<x>; %h<c> := %h<x>; %h<c> = 42; dd %h
03:10 camelia rakudo-moar 05c255: OUTPUT: «Hash %h = {:a(Any), :b(Any), :c(42), :x(42)}␤»
03:10 AlexDaniel interesting! ‘x’ was added! OK
03:11 AlexDaniel now let's try this:
03:11 AlexDaniel m: my %h; %h<a> := %h<x>; %h<b> := %h<x>; %h<c> := %h<x>; %h<c> = 42; %h<a> = 90; dd %h
03:11 camelia rakudo-moar 05c255: OUTPUT: «Hash %h = {:a(90), :b(Any), :c(42), :x(90)}␤»
03:11 AlexDaniel but changing c no longer affects anything:
03:11 AlexDaniel m: my %h; %h<a> := %h<x>; %h<b> := %h<x>; %h<c> := %h<x>; %h<c> = 42; %h<a> = 90; %h<c> = -5; dd %h
03:11 camelia rakudo-moar 05c255: OUTPUT: «Hash %h = {:a(90), :b(Any), :c(-5), :x(90)}␤»
03:13 llfourn I'm a little confused by that
03:13 llfourn m: my %h; %h<a> := %h<x>; %h<b> := %h<x>; %h<c> := %h<x>; %h<c> = 42;
03:13 camelia rakudo-moar 05c255: ( no output )
03:13 llfourn m: my %h; %h<a> := %h<x>; %h<b> := %h<x>; %h<c> := %h<x>; %h<c> = 42; say %h;
03:13 camelia rakudo-moar 05c255: OUTPUT: «{a => (Any), b => (Any), c => 42, x => 42}␤»
03:14 geekosaur at a guess, autovivification doesn't play well with it
03:14 llfourn that's unexpected to me. I thought they would all be 42. %h<x> is the only autovivified container and all the others are just aliases to it.
03:15 geekosaur it looks to me like since the "x" slot doesn't exist yet, a and b get new containers and only an actual assignment that affects the "x" key creates a true container
03:16 geekosaur m: my %h; %h<a> := %h<x>; %h<b> := %h<x>; %h<x> = 0; %h<c> := %h<x>; %h<c> = 42; say %h;
03:16 camelia rakudo-moar 05c255: OUTPUT: «{a => (Any), b => (Any), c => 42, x => 42}␤»
03:16 AlexDaniel geekosaur: yeah, that's how it seems to work
03:16 geekosaur m: my %h; %h<a> := %h<x>; %h<x> = 0; %h<b> := %h<x>; %h<c> := %h<x>; %h<c> = 42; say %h;
03:16 camelia rakudo-moar 05c255: OUTPUT: «{a => (Any), b => 42, c => 42, x => 42}␤»
03:17 geekosaur I shpould say permanent instead of true
03:18 llfourn m: my %h; %h<a> := %h<x>; say $h
03:18 camelia rakudo-moar 05c255: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '$h' is not declared. Did you mean '%h'?␤at <tmp>:1␤------> 3my %h; %h<a> := %h<x>; say 7⏏5$h␤»
03:18 llfourn m: my %h; %h<a> := %h<x>; say %h
03:18 camelia rakudo-moar 05c255: OUTPUT: «{a => (Any)}␤»
03:18 llfourn ohhh, the LHS is the one that is autovivified
03:18 llfourn so each := creates a new container rather than just aliasing an existing one like I thought.
03:19 vendethiel joined #perl6
03:19 llfourn m: my %h; %h<x> = 1; %h<a> := %h<x>; say %h
03:19 camelia rakudo-moar 05c255: OUTPUT: «{a => 1, x => 1}␤»
03:20 llfourn Not sure if that was intended for some reason or just an implementation detail
03:21 AlexDaniel well, the implementation feels a bit buggy
03:22 AlexDaniel it's also DIHWIDT, so maybe not a big deal
03:22 AlexDaniel for example
03:22 AlexDaniel m: my %h; %h<a> := %h<b>; %h<b> = 42; dd %h
03:22 camelia rakudo-moar 05c255: OUTPUT: «Hash %h = {:a(Any), :b(42)}␤»
03:22 geekosaur I could see it being (onstrued as) a feature: a way to 'dissociate' a binding
03:22 geekosaur *construed
03:22 AlexDaniel so let's say you've been using <b> freely, and everything looks fine
03:22 AlexDaniel now you set <a> at some point
03:23 AlexDaniel m: my %h; %h<a> := %h<b>; %h<b> = 42; %h<a> = 90; dd %h
03:23 camelia rakudo-moar 05c255: OUTPUT: «Hash %h = {:a(90), :b(90)}␤»
03:23 AlexDaniel whoops!
03:23 llfourn that's what I expect to happen though?
03:23 AlexDaniel llfourn: are you sure about this? :)
03:23 llfourn yes
03:24 llfourn the containers are aliases of each other
03:24 llfourn you do something to one value it will appear at its alias at the other key
03:24 AlexDaniel llfourn: but it doesn't?
03:24 AlexDaniel m: my %h; %h<a> := %h<b>; %h<b> = 42; dd %h
03:24 camelia rakudo-moar 05c255: OUTPUT: «Hash %h = {:a(Any), :b(42)}␤»
03:24 llfourn huh?
03:24 AlexDaniel I mean, here? ↑
03:25 geekosaur that's the initialization/autovivify your target before aliasing it thing
03:25 llfourn hmmm yep that's not what I expected
03:25 llfourn it's because the LHS is the container that gets vivified
03:25 llfourn so both statements create a new container
03:26 llfourn and I think that's a bit backwards
03:26 Cabanossi joined #perl6
03:29 AlexDaniel m: my %h = c => -5; %h<a> := %h<b>; %h<b> := %h<c>; %h<b> = 40; %h<a> = 50; dd %h
03:29 camelia rakudo-moar 05c255: OUTPUT: «Hash %h = {:a(50), :b(50), :c(40)}␤»
03:29 AlexDaniel this is a bad case of DIHWIDT :)
03:33 llfourn hmm tbh I'm not sure. Maybe it's right and I just need to clear my head a bit.
03:37 gdonald joined #perl6
03:41 AlexDaniel I wonder if this is a bug:
03:41 AlexDaniel m: my %m := Map.new(<a X b Y>); say %m.perl
03:41 camelia rakudo-moar 05c255: OUTPUT: «Map.new((:a("X"),:b("Y")))␤»
03:41 AlexDaniel m: my %m := Map.new(‘a’, ‘X’, ‘b’, ‘Y’); say %m.perl
03:41 camelia rakudo-moar 05c255: OUTPUT: «Map.new((:a("X"),:b("Y")))␤»
03:41 AlexDaniel they are not exactly the same
03:42 AlexDaniel m: my %m := Map.new(<a X b Y>); %m<a> = 42; say %m.perl
03:42 camelia rakudo-moar 05c255: OUTPUT: «Map.new((:a(42),:b("Y")))␤»
03:42 AlexDaniel m: my %m := Map.new(‘a’, ‘X’, ‘b’, ‘Y’); %m<a> = 42; say %m.perl
03:42 camelia rakudo-moar 05c255: OUTPUT: «Cannot modify an immutable Str (X)␤  in block <unit> at <tmp> line 1␤␤»
03:43 llfourn yep that looks like a bug to me
03:44 AlexDaniel which is also interesting because:
03:44 AlexDaniel c: 2015.12,2016.06 my %m := Map.new(‘a’, ‘X’, ‘b’, ‘Y’); %m<a> = 42; say %m.perl
03:44 llfourn looks like the second one is creating an array somewhere
03:44 committable6 AlexDaniel, ¦2015.12,2016.06: «Map.new((:a(42),:b("Y")))»
03:45 llfourn Map def shouldn't containerize
03:52 Possum joined #perl6
03:55 BenGoldberg m: say Map.new(‘a’, ‘X’, ‘b’, ‘Y’).perl ~^ Map.new(<a X b Y>).perl;
03:55 camelia rakudo-moar 05c255: OUTPUT: «␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␤»
03:55 Cabanossi joined #perl6
03:56 BenGoldberg m: say (Map.new(‘a’, ‘X’, ‘b’, ‘Y’).perl ~^ Map.new(<a X b Y>).perl).trans("\x00", "", :g);
03:56 camelia rakudo-moar 05c255: OUTPUT: «Only Pair objects are allowed as arguments to Str.trans, got Str␤  in block <unit> at <tmp> line 1␤␤»
03:56 BenGoldberg m: say (Map.new(‘a’, ‘X’, ‘b’, ‘Y’).perl ~^ Map.new(<a X b Y>).perl).subst("\x00", "", :g);
03:56 camelia rakudo-moar 05c255: OUTPUT: «␤»
03:57 BenGoldberg m: my $a = Map.new(‘a’, ‘X’, ‘b’, ‘Y’); my $b = Map.new(<a X b Y>); try {$a<a>=42}; try{$b<a>=42}; say ($a.perl ~^ $b.perl).subst("\x00", "", :g);
03:57 camelia rakudo-moar 05c255: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Whitespace required after keyword 'try'␤at <tmp>:1␤------> 3 Map.new(<a X b Y>); try {$a<a>=42}; try7⏏5{$b<a>=42}; say ($a.perl ~^ $b.perl).sub␤»
03:58 BenGoldberg m: my $a = Map.new(‘a’, ‘X’, ‘b’, ‘Y’); my $b = Map.new(<a X b Y>); try {$a<a>=42}; try {$b<a>=42}; say ($a.perl ~^ $b.perl).subst("\x00", "", :g);
03:58 camelia rakudo-moar 05c255: OUTPUT: «jXJ␤{{)␤»
03:58 AlexDaniel .oO( … why are you xoring your .perl strings? )
03:59 BenGoldberg As a way to spot roughly how many letters of difference there are.
04:06 wamba joined #perl6
04:13 kybr "foo bar".ords returns a Seq for me. was there a time in perl6's history when it returned something different? like a List or an Array?
04:15 geekosaur c: all say "foo bar".ords.WHAT
04:16 committable6 geekosaur, https://gist.github.com/88b9b6e215cc81c38bb5da8053319487
04:16 geekosaur changed in 2015.09. GLR, I think
04:18 kybr whoa. c is a nice bot. thanks.
04:18 geekosaur full name is committable6
04:18 geekosaur and yes, its handy for that kind of thing
04:18 geekosaur you can also feed it specific commit hashes etc. to check
04:19 pilne joined #perl6
04:20 kybr c: all say List.bytes
04:20 committable6 kybr, https://gist.github.com/bf449d2646f08113ddac559b74bc41fa
04:22 wigner joined #perl6
04:23 kybr hmm. List never had a bytes method... i'm looking at https://github.com/avuserow/perl6-binary-structured . it is broken for me and i think it's because of a change in perl6 and i'm sleuthing.
04:25 geekosaur I think you missed the conversion to Buf?
04:25 kybr it hasn't had a real commit in 9 months. also, is there a good way of binary packing and unpacking perl6 objects?
04:25 Cabanossi joined #perl6
04:26 geekosaur I don't think there is a canonical one yet
04:28 kybr but, yeah, i (aka the synopsis example) was missing a conversion to Buf. thanks!
04:29 geekosaur hm, I did a search for ".bytes" in the readme and it was wrapped in a Buf.new(...)
04:31 geekosaur POD might have been out of date, I guess
04:32 samcv hmm think i'll bump nqp/moarvm so the emoji fix gets in. that's important enough yes? or something
04:32 * samcv isn't sure
04:33 samcv i think probably a good idea. though it's not urgent could just wait for it to be bumped by other things. moar was already bumped yesterday
04:33 samcv though 100% Emoji v4 showing 1 char is kind of nice :)
04:33 kybr geekosaur: i'm changing the README now
05:09 Triplefox joined #perl6
05:17 Triplefox trying out perl for the first time: i am writing a script to setup a project(copy some source files) and thought it would be a fun entry point
05:22 skids joined #perl6
05:24 zacts joined #perl6
05:35 araraloren m: my $module = "IO::Socket::SSL"; say try require ::($module);
05:35 camelia rakudo-moar 05c255: OUTPUT: «Nil␤»
05:35 araraloren m: my $module = "JSON::Tiny"; say try require ::($module);
05:35 camelia rakudo-moar 05c255: OUTPUT: «Nil␤»
05:40 Cabanossi joined #perl6
05:43 araraloren m: my $module = "Zef"; say try require ::($module);
05:43 camelia rakudo-moar 05c255: OUTPUT: «Nil␤»
05:44 kybr c: all my class Foo is Int {}; my $foo = Foo.new(4); say $foo.WHAT;
05:44 committable6 kybr, https://gist.github.com/f1e6d26b0251d66d0b4dec0c59f81c04
05:44 araraloren Is there a robot can test require command ?
06:00 |oLa| joined #perl6
06:04 Triplefox success, my first script - not really done but it does something https://gist.github.com/triplefox/eba29cc7eeff1617ae319743fe6b727e
06:09 |oLa| joined #perl6
06:10 Cabanossi joined #perl6
06:20 samcv nice just got a 13% speedup slurping a big unicode laden document
06:20 samcv if we have a 32bit string stored haystack and an 8 bit needle, we change the needle into 32 bit and that greatly speeds the search
06:21 samcv should speed up string indexing as well
06:25 araraloren I found the class can't export to symbol table if you don't mark it `is export` when use dynamic name lookup.
06:44 ribasushi joined #perl6
07:03 setty1 joined #perl6
07:10 cpage joined #perl6
07:10 rindolf joined #perl6
07:19 darutoko joined #perl6
07:31 skids joined #perl6
07:38 parv joined #perl6
07:45 CQ joined #perl6
07:47 CQ any utf8 experts here who'd be interested in helping golf a perl5 bug?
07:51 Juerd Although 6 is between 5 and 8, I wonder why you're asking that here :)
07:52 CQ Juerd: because on https://p6weekly.wordpress.com/ there are always updates to how character encoding is improved, so I figured someone may be curious enough to help.
07:55 nadim joined #perl6
08:09 gdonald joined #perl6
08:09 domidumont joined #perl6
08:40 Cabanossi joined #perl6
08:53 sivoais joined #perl6
09:10 ChoHag joined #perl6
09:10 rindolf joined #perl6
09:16 andrzejku joined #perl6
09:37 ChoHag joined #perl6
09:55 Cabanossi joined #perl6
10:08 ufobat joined #perl6
10:20 wamba joined #perl6
10:23 ChoHag joined #perl6
10:23 ab5tract samcv++
10:23 yoleaux 8 Jul 2017 14:38Z <lizmat> ab5tract: do we agree that [(^)] $a, $b, $c is the same as ($a (^) $b) (^) $c ?
10:23 yoleaux 8 Jul 2017 18:18Z <lizmat> ab5tract: https://github.com/rakudo/rakudo/commit/05c255c14b
10:24 ab5tract no. it is not the same
10:24 ab5tract I carefully designed that code with all of it's corner cases
10:25 ab5tract And is Mixy caught by Baggy now?
10:27 ab5tract .tell lizmat on second thought, yes, that is the same. I needed to look deeper than just the diff to see how your implementation works
10:27 yoleaux ab5tract: I'll pass your message to lizmat.
10:29 ab5tract .tell lizmat assuming that the behavior of ($a (^) $b) returns the distance between the values and not some sort of coerced-to-Set tthingy
10:29 yoleaux ab5tract: I'll pass your message to lizmat.
10:29 CQ left #perl6
10:32 ab5tract .tell lizmat I'm still not clear on how your code addresses Mixes (which are stickier than Bags)
10:32 yoleaux ab5tract: I'll pass your message to lizmat.
10:40 ab5tract .tell lizmat and yes definitely from a logic standpoint, [(^)] $a, $b, $c should be equivalent to ($a (^) $b) (^) $c . and for bags and mixes it is non-transitive and the order of @p can and will drastically change your outpu
10:40 yoleaux ab5tract: I'll pass your message to lizmat.
11:10 Cabanossi joined #perl6
11:14 wamba joined #perl6
11:17 wamba joined #perl6
11:21 wamba joined #perl6
11:27 ChoHag joined #perl6
11:27 wamba joined #perl6
11:38 rindolf joined #perl6
12:10 Cabanossi joined #perl6
12:12 masak greetings #perl6 on this fair Sunday
12:12 * masak is curious what people think of https://github.com/masak/007/issues/236
12:14 masak ab5tract: what you just messaged to lizmat, it's been up for discussion before
12:14 masak ab5tract: I think the conclusion was "reduction cancels out short-circuiting"
12:14 masak (but I might misremember)
12:16 masak m: say True ^ True
12:16 camelia rakudo-moar 4894a7: OUTPUT: «one(True, True)␤»
12:17 masak m: say so True ^ True
12:17 camelia rakudo-moar 4894a7: OUTPUT: «False␤»
12:17 masak m: say so True ^ True ^ True
12:17 camelia rakudo-moar 4894a7: OUTPUT: «False␤»
12:17 masak m: say so False ^ False
12:17 camelia rakudo-moar 4894a7: OUTPUT: «False␤»
12:17 * masak tries to remember how to cause it to return the third value
12:17 masak m: say so [^]()
12:17 camelia rakudo-moar 4894a7: OUTPUT: «False␤»
12:18 masak hm. maybe it doesn't anymore.
12:18 masak oh! I'm using `^`, not `^^`!
12:18 masak m: say True ^^ True
12:18 camelia rakudo-moar 4894a7: OUTPUT: «Nil␤»
12:19 masak well, that was rather easier :P
12:19 masak m: say True ^^ True ^^ True
12:19 camelia rakudo-moar 4894a7: OUTPUT: «Nil␤»
12:19 masak m: say True ^^ True ^^ { say "side effect" }()
12:19 camelia rakudo-moar 4894a7: OUTPUT: «Nil␤»
12:21 masak about 007's #236, I do feel a twinge of bad conscience there. if macros had been further along, we wouldn't have needed to come up with `with`
12:26 eliasr joined #perl6
12:36 jnthn masak: Given how much I've used with/without/orwith, I'm not sure "definitely if" would be rightly huffmanized, not to mention it reads a bit awkward :)
12:37 jnthn A more powerful generalization would be to be able to identify which expression in a conditional/loop statement is the one you want to take as the parameter
12:37 jnthn Then it'd work for many more cases than "defined"
12:44 gdonald joined #perl6
13:00 domidumont joined #perl6
13:05 domidumont joined #perl6
13:10 Zoffix .ask [Coke] what process did you use to review roast for inclusion to 6.c?
13:10 yoleaux Zoffix: I'll pass your message to [Coke].
13:15 lucasb joined #perl6
13:17 Zoffix .ask [Coke] what's the status of bootstrapped docs website? I don't see a branch in repo.
13:17 yoleaux Zoffix: I'll pass your message to [Coke].
13:29 aborazmeh joined #perl6
13:29 aborazmeh joined #perl6
13:29 timotimo i've imagined in the past there could be syntax for "the whole expression shall return this please" and you could put it anywhere
13:30 timotimo my $foo = say ↻99; # $foo would now hold 99 instead of True
13:30 timotimo of course you can put a my in anything
13:30 Zoffix That would be cool.
13:31 Zoffix I needed it several times and ended up using temp variables to store the return value
13:36 BenGoldberg joined #perl6
13:36 araraloren joined #perl6
13:36 Geth ¦ 6.d-prep: 1ff3082a7d | (Zoffix Znet)++ | TODO/FEATURES.md
13:36 Geth ¦ 6.d-prep: Move 6.d feature TODO here from mu
13:36 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/1ff3082a7d
13:37 Geth ¦ specs: 6f12b30660 | (Zoffix Znet)++ (committed using GitHub Web editor) | v6d.pod
13:37 Geth ¦ specs: Move doc
13:37 Geth ¦ specs: review: https://github.com/perl6/specs/commit/6f12b30660
13:38 llfourn in spit I designed it so that 'if File<foo.txt>.exists { say $_ }' would make $_ File<foo.txt>
13:38 llfourn it ignores things returning a Bool (given that you never want $_ to be a Bool in a conditional)
13:38 Geth ¦ specs: c2d66a5cb7 | (Zoffix Znet)++ (committed using GitHub Web editor) | v6d.pod
13:38 Geth ¦ specs: Try to fix pod
13:38 Geth ¦ specs: review: https://github.com/perl6/specs/commit/c2d66a5cb7
13:39 llfourn and finds the first no Booly thing in the method chain
13:39 Zoffix What if File<foo.txt> is a Bool?
13:40 llfourn File<foo.txt> is a File
13:40 Zoffix Ah
13:40 llfourn File<foo.txt> read as File.new(path => "foo.txt")
13:41 llfourn it compiles to:
13:41 llfourn if test -e foo.txt; then
13:41 llfourn say foo.txt
13:41 llfourn fi
13:41 llfourn if foo.txt is not known at compile time it will assign to a temp variable
13:42 llfourn it occurred to me that this wouldn't be so easy in rakudo because you don't know method return types at compile time
13:44 Geth ¦ 6.d-prep: 760fc7739c | (Zoffix Znet)++ | TODO/FEATURES.md
13:44 Geth ¦ 6.d-prep: Add time to implement
13:44 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/760fc7739c
13:45 timotimo that's true. you'd have to pre-emptively store everything in temporary variables and do a run-time loop over the values
13:45 Zoffix .ask jnthn you mentioned there were still work to be done for non-blocking await. Would you include approximate time required to complete it it? https://github.com/perl6/6.d-prep/blob/master/TODO/FEATURES.md#time-required-to-implement
13:45 yoleaux Zoffix: I'll pass your message to jnthn.
13:46 Zoffix .ask moritz You're listed as stakeholder for :D on sigils. When can you start working on that? Would you include approximate time required to complete it it?  https://github.com/perl6/6.d-prep/blob/master/TODO/FEATURES.md#time-required-to-implement-1
13:46 yoleaux Zoffix: I'll pass your message to moritz.
13:46 Zoffix .ask samcv You're listed as stakeholder for Formal Rules for Defining Matched Delimiters/Brackets. When can you start working on that? Would you include approximate time required to complete it it? https://github.com/perl6/6.d-prep/blob/master/TODO/FEATURES.md#time-required-to-implement-2
13:46 yoleaux Zoffix: I'll pass your message to samcv.
13:56 masak jnthn: ah; you mean a bit like <( )> from regexes, but for expression fragments?
13:56 masak huh. actually, that exact *syntax* could work!
13:56 * masak brightens
13:58 kurahaupo joined #perl6
14:01 masak jnthn: I turned your implicit suggestion into another macro idea issue ;)
14:02 llfourn if $myobj.<(property)>.subproperty { .... } # like this?
14:02 Zoffix Is anyone from India here? What's up with two dates for Diwali? Is one date vastly more popular?
14:05 Zoffix I guess 19th is more popular, since it's more than India that celebrates it
14:06 llfourn I thought it lasted for a few days
14:06 llfourn well it did when I was there
14:06 buggable joined #perl6
14:06 Zoffix Yeah, it does.
14:07 Zoffix buggable: 6.d
14:07 buggable Zoffix, I think 6.d Diwali will be released in about 14 weeks, 3 days, 9 hours, 52 minutes, and 16 seconds
14:13 lichtkind joined #perl6
14:36 AlexDaniel joined #perl6
14:38 pilne joined #perl6
14:42 Geth ¦ doc: 1f7702551b | (Jan-Olof Hendig)++ | doc/Type/Metamodel/C3MRO.pod6
14:42 Geth ¦ doc: One explanation is enough
14:42 Geth ¦ doc: review: https://github.com/perl6/doc/commit/1f7702551b
14:49 pmurias joined #perl6
14:49 pmurias hi
14:50 jast joined #perl6
14:51 pmurias what are some awesome docs sites for other languages that features can be stolen (inspiration taken) from?
14:53 kybr https://doc.red-lang.org/en ?
14:54 llfourn https://hexdocs.pm/elixir/Kernel.html # elixir docs are pretty good
14:56 * zengargoyle is pleased to not be alone in wanting to choose the thing that gets param'd in an expression.  i feared it was just me not knowing the best way to DWIW.
14:57 timotimo i like the suggestion masak made with <( )> but that already is valid syntax for quotewords :|
14:58 timotimo m: say <( )>.perl
14:58 camelia rakudo-moar 4894a7: OUTPUT: «("(", ")")␤»
14:58 timotimo and named subscripts
15:06 xtreak joined #perl6
15:19 khw joined #perl6
15:29 FROGGS joined #perl6
15:32 FROGGS o/
15:33 travis-ci joined #perl6
15:33 travis-ci Doc build errored. Jan-Olof Hendig 'One explanation is enough'
15:33 travis-ci https://travis-ci.org/perl6/doc/builds/251726742 https://github.com/perl6/doc/compare/eb8df0cde7df...1f7702551b2e
15:33 travis-ci left #perl6
15:33 buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), GitHub connectivity (0), or failed make test (0).
15:37 Geth ¦ 6.d-prep: adb328cdca | (Zoffix Znet)++ | 4 files
15:37 Geth ¦ 6.d-prep: Write more TODO items
15:37 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/adb328cdca
15:38 domidumont joined #perl6
15:58 skids joined #perl6
16:02 andrzejku hi
16:02 andrzejku I splitted class into another file
16:02 andrzejku X.pm6
16:02 andrzejku in the same dir
16:02 andrzejku and use X;
16:02 andrzejku is not working
16:02 andrzejku :<
16:03 Zoffix andrzejku: use lib <.>;
16:04 andrzejku thnks I miss it x)
16:05 setty1 joined #perl6
16:08 lichtkind joined #perl6
16:09 kent\n joined #perl6
16:21 lucs Aw man, "use lib <.>", so easy, never mind the complicated thing I used to do to get the same effect :-)
16:22 Dunearhp_ joined #perl6
16:25 Dunearhp_ joined #perl6
16:27 Dunearhp_ joined #perl6
16:29 * zengargoyle *yay* F1 ends in time for Grand Sumo!  it's a good sunday morning. :)
16:30 Geth ¦ 6.d-prep: 3a580fc32a | (Zoffix Znet)++ | TODO/README.md
16:30 Geth ¦ 6.d-prep: Reverse order of commits in link
16:30 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/3a580fc32a
16:31 [Coke] Zoffix: made some very small local progress on the bootstrap. the insanely slow build speed and failures on osx make it challenging; I now have a docker container I can do stuff in that make it more robust but now need to find time again to work on it.
16:31 Zoffix oops crappy link
16:32 Zoffix [Coke]: there's make web-dev or something target that builds just a few pages of the actual docs, while building most of the website things
16:32 Zoffix [Coke]: I was just asking cause I wanna added the language version thing to the site and was wondering whether I should wait for bootstrap version or just do it now
16:33 Zoffix We already got jQuery, so I'll do it now; should be easy to swap to BS
16:33 * [Coke] wonders why there is a separate repository for 6.d prep; ack did this with their versions as well, I don't understand the advantage to having multiple github repos to track multiple efforts for the same overall project.
16:34 [Coke] Zoffix: (wait to add), no just do it
16:34 vendethiel joined #perl6
16:37 BenGoldberg I believe the purpose of having a separate 'prep' repo is so that if any people are working on new features which won't go out with the release, their changes (on the main branch) won't interfere with the new release branch.
16:39 Zoffix You guys are making it up. It's a separate repo because I can just say "put it in 6.d-prep repo" for anything that needs to be done for 6.d release without cloning megs of irrelevant stuff.
16:39 Zoffix It doesn't cost anything.
16:44 Zoffix well, guy
16:47 Geth ¦ 6.d-prep: 2a8ef48ce1 | (Zoffix Znet)++ | TODO/README.md
16:47 Geth ¦ 6.d-prep: Revert "Reverse order of commits in link"
16:47 Geth ¦ 6.d-prep:
16:47 Geth ¦ 6.d-prep: This reverts commit 3a580fc32addaa98336f3588f602c3a3cc141a3f.
16:47 Geth ¦ 6.d-prep: It doesn't reverse order
16:47 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/2a8ef48ce1
16:51 andrzejku how to do something like that
16:51 andrzejku my $a, $b = func;
16:52 Zoffix my ($a, $b) = func;
16:53 zengargoyle m: my ($a, $b) = Nil, 24; say $a, $b;
16:53 camelia rakudo-moar 4894a7: OUTPUT: «(Any)24␤»
16:53 andrzejku Zoffix thnks again
16:54 zengargoyle m: my ($a, $b) = 24 xx 2; say $a, $b;
16:54 camelia rakudo-moar 4894a7: OUTPUT: «2424␤»
16:57 zengargoyle is there a way for func to be duplicated?
16:57 zengargoyle and only called once?
16:58 araraloren I remember this documented in design doc or ...
16:58 ufobat joined #perl6
16:59 araraloren and when you want get array from a func, notice `my ($a, @b) := func`
16:59 araraloren night .
16:59 Zoffix zengargoyle: my $a = my $b = 24
16:59 zengargoyle yeah...
17:04 Khisanth joined #perl6
17:05 zengargoyle sorta mean a way to keep xx from calling func N times.
17:05 zengargoyle just call func once and then xx the value N times...
17:05 andrzejku hey one more time, question
17:05 BenGoldberg m: sub func { say 42; pi }; my ($a, $b) = once(func) xx 2;
17:05 camelia rakudo-moar 4894a7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    once used at line 1. Did you mean 'one'?␤␤»
17:06 BenGoldberg m: sub func { say 42; pi }; my ($a, $b) = once{ func } xx 2;
17:06 camelia rakudo-moar 4894a7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Whitespace required after keyword 'once'␤at <tmp>:1␤------> 3 func { say 42; pi }; my ($a, $b) = once7⏏5{ func } xx 2;␤»
17:06 andrzejku can I call in derivered class method from role?
17:06 BenGoldberg m: sub func { say 42; pi }; my ($a, $b) = once { func } xx 2;
17:06 camelia rakudo-moar 4894a7: ( no output )
17:06 andrzejku which it doeas?
17:06 BenGoldberg m: sub func { say 42; pi }; my ($a, $b) = once { func } xx 2; say $a, $b;
17:06 camelia rakudo-moar 4894a7: OUTPUT: «(Mu)(Mu)␤»
17:06 BenGoldberg m: sub func { say 42; pi }; my ($a, $b) = (ONCE { func }) xx 2; say $a, $b;
17:06 camelia rakudo-moar 4894a7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤    ONCE used at line 1␤␤»
17:07 zengargoyle sub X { state $x=0; return $x++ }; say X(), X();
17:07 zengargoyle m: sub X { state $x=0; return $x++ }; say X(), X();
17:07 camelia rakudo-moar 4894a7: OUTPUT: «(X(Any))(X(Any))␤»
17:07 zengargoyle m: sub X() { state $x=0; return $x++ }; say X(), X();
17:07 camelia rakudo-moar 4894a7: OUTPUT: «(X(Any))(X(Any))␤»
17:08 BenGoldberg m: role Foo { method bar { say 'in Foo.bar' } }; class Baz does Foo { method bar { say 'in Baz.bar'; self.Foo::bar() } }; Baz.bar;
17:08 camelia rakudo-moar 4894a7: OUTPUT: «in Baz.bar␤in Foo.bar␤»
17:08 BenGoldberg andrzejku, ^
17:08 Sgeo joined #perl6
17:09 BenGoldberg Much like in perl5, you can do method calls with fully qualified method names.
17:11 andrzejku and what about $!variable
17:11 andrzejku can I inistiale it during construction of class
17:11 andrzejku ?
17:11 BenGoldberg Try it and see.
17:12 andrzejku because I cann't :D
17:12 Zoffix andrzejku: sure just give it a default value. If you want it to depend on some args given to .new, you'd need to set it in BUILD or TWEAK submethods or make your own .new method
17:12 ptolemarch joined #perl6
17:12 zengargoyle m: sub Y() { $++ }; say Y(),Y();
17:12 camelia rakudo-moar 4894a7: OUTPUT: «01␤»
17:12 zengargoyle m: sub X() { $++ }; say X(),X();
17:12 camelia rakudo-moar 4894a7: OUTPUT: «(X(Any))(X(Any))␤»
17:13 * zengargoyle guesses X is Exception base class....
17:13 andrzejku Zoffix thnks :)
17:13 zengargoyle very confusing
17:13 Zoffix zengargoyle: namespace. Yeah. Which is why uppercase subs are a bad idea
17:13 Zoffix m: sub X() { $++ }; say &X(), &X();
17:13 camelia rakudo-moar 4894a7: OUTPUT: «01␤»
17:13 zengargoyle *nods*
17:14 BenGoldberg . o O (perl4!)
17:14 Zoffix similar ambiguity exists with constants
17:14 Zoffix m: sub e { 42 }; say e
17:14 camelia rakudo-moar 4894a7: OUTPUT: «2.71828182845905␤»
17:14 Zoffix m: sub e { 42 }; say e()
17:14 camelia rakudo-moar 4894a7: OUTPUT: «42␤»
17:14 * zengargoyle will file under the "don't do that"...
17:15 BenGoldberg m: class Foo { }; say Foo();
17:15 camelia rakudo-moar 4894a7: OUTPUT: «(Foo(Any))␤»
17:15 Zoffix coercer
17:15 BenGoldberg Ahh.
17:16 BenGoldberg m: class Foo { }; dd Foo();
17:16 camelia rakudo-moar 4894a7: OUTPUT: «Foo(Any)␤»
17:16 BenGoldberg Where does the "(Any)" come from?
17:17 Zoffix Coercers default to Any if you don't specify a type
17:17 Zoffix m: class Foo { }; dd Foo(Int);
17:17 camelia rakudo-moar 4894a7: OUTPUT: «Foo(Int)␤»
17:19 BenGoldberg m: class Foo { }; dd Foo(Str).WHAT;
17:19 camelia rakudo-moar 4894a7: OUTPUT: «Foo(Str)␤»
17:19 BenGoldberg m: class Foo { }; dd Foo(Str).defined;
17:19 camelia rakudo-moar 4894a7: OUTPUT: «Bool::False␤»
17:20 Zoffix m: class Foo { }; dd Foo(Str).HOW.^name
17:20 camelia rakudo-moar 4894a7: OUTPUT: «"Perl6::Metamodel::CoercionHOW"␤»
17:28 lucasb joined #perl6
17:44 andrzejku Zoffix hey, when we do @arr.push(($a, $b)) the ouput is proper but if reference is gone
17:44 andrzejku it doesn't look good
17:44 andrzejku how to make push by value?
17:45 andrzejku no by reference
17:47 Zoffix Depends on what's in $a and $b
17:48 andrzejku $a and $b are numbers
17:53 Zoffix m: my ($a, $b) = 1, 2; my @a; @a.push: ($a<>, $b<>); dd @a; $a++; dd @a
17:53 camelia rakudo-moar 4894a7: OUTPUT: «Array @a = [(1, 2),]␤Array @a = [(1, 2),]␤»
17:53 Zoffix m: my ($a, $b) = 1, 2; my @a; @a.push: ($a, $b)»<>; dd @a; $a++; dd @a
17:53 camelia rakudo-moar 4894a7: OUTPUT: «Array @a = [(1, 2),]␤Array @a = [(1, 2),]␤»
17:53 Zoffix m: my ($a, $b) = 1, 2; my @a; @a.push: [$a, $b]; dd @a; $a++; dd @a
17:53 camelia rakudo-moar 4894a7: OUTPUT: «Array @a = [[1, 2],]␤Array @a = [[1, 2],]␤»
17:55 Voldenet m: my ($a, $b) = (1, 2); my @c; @c.push(\($a, $b)); $a++; say @c
17:55 camelia rakudo-moar 4894a7: OUTPUT: «[\(2, 2)]␤»
17:56 dct joined #perl6
17:56 BenGoldberg m: my ($a, $b) = (1, 2); my @c; @c.push(\($a, $b)); $a++; @c[0].list[0]++; say @c;
17:56 camelia rakudo-moar 4894a7: OUTPUT: «[\(3, 2)]␤»
17:56 Voldenet m: my ($a, $b) = (1, 2); my @c; @c.push(\($a, $b)); $a++; .say for @(@c[0])
17:56 camelia rakudo-moar 4894a7: OUTPUT: «2␤2␤»
17:57 Voldenet I like how /pretty/ it is :>
17:57 BenGoldberg m: my ($a, $b) = (1, 2); my @c := (\($a, $b)).list; ++$a; say @c;
17:57 camelia rakudo-moar 4894a7: OUTPUT: «(2 2)␤»
17:57 BenGoldberg m: my ($a, $b) = (1, 2); my @c := \($a, $b).list; ++$a; say @c;
17:57 camelia rakudo-moar 4894a7: OUTPUT: «(2 2)␤»
17:58 BenGoldberg m: my ($a, $b) = (1, 2); my @c := \($a, $b).list; $a = @c; say @c;
17:58 camelia rakudo-moar 4894a7: OUTPUT: «(\List_53265056 = (List_53265056 2))␤»
17:58 BenGoldberg Extra prettyness, just as a self-referencial loop
17:58 andrzejku joined #perl6
17:58 andrzejku sorry was out
17:58 andrzejku do you know how to push by value
17:58 Zoffix m: my ($a, $b) = 1, 2; my @a; @a.push: ($a, $b)»<>; dd @a; $a++; dd @a
17:58 camelia rakudo-moar 4894a7: OUTPUT: «Array @a = [(1, 2),]␤Array @a = [(1, 2),]␤»
17:59 user100500 joined #perl6
17:59 Zoffix andrzejku: do you actually want to push a list of two values instead of just two values?
18:00 Zoffix m: my ($a, $b) = 1, 2; my @a; @a.append: $a, $b; dd @a; $a++; dd @a
18:00 camelia rakudo-moar 4894a7: OUTPUT: «Array @a = [1, 2]␤Array @a = [1, 2]␤»
18:01 BenGoldberg m: my ($a, $b) = (1, 2); my @b; @b.push: ($a, $b).clone; dd @b;
18:01 camelia rakudo-moar 4894a7: OUTPUT: «Array @b = [(1, 2),]␤»
18:02 andrzejku m: my ($a, $b) = 1, 2; my @c; @c.push($a, $b); $b = 3; @c.push($b); dd $c;
18:02 camelia rakudo-moar 4894a7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '$c' is not declared. Did you mean '@c'?␤at <tmp>:1␤------> 3c.push($a, $b); $b = 3; @c.push($b); dd 7⏏5$c;␤»
18:02 andrzejku m: my ($a, $b) = 1, 2; my @c; @c.push($a, $b); $b = 3; @c.push($b); dd @c;
18:02 camelia rakudo-moar 4894a7: OUTPUT: «Array @c = [1, 2, 3]␤»
18:08 andrzejku https://github.com/damaxi/InterestRate/blob/master/lib/DecreasingInstallmentRole.pm6
18:08 mr-fooba_ joined #perl6
18:08 andrzejku @month_remainings_interests lose values
18:08 andrzejku :<
18:08 kybr where can i read about this syntax: has uint8 $!length is written(method {$!string.bytes}); ... i want to know about 'is wrtten(method...)' and 'is read(method...)'
18:09 geekosaur trait_mod:<is>
18:11 geekosaur the 'is written' and 'is read' are defined in that package you were looking at
18:13 kybr thanks. i guess i have to read about traits.
18:13 geekosaur here's the definition of 'is written': https://github.com/avuserow/perl6-binary-structured/blob/master/lib/Binary/Structured.pm6#L198
18:15 andrzejku Zoffix it looks like bug there
18:18 skids joined #perl6
18:18 kybr geekosaur: i see it. this package seems not quite complete enough for me to use and it would take days for me to complete the parts i need. i'm going back to pack/unpack. :/
18:19 pmurias Zoffix: Do you have plans to replace our docs website?
18:20 Zoffix andrzejku: ok. Fix it
18:20 Zoffix pmurias: does it need to be replaced?
18:21 andrzejku Zoffix I don't now how and why?
18:21 Geth ¦ doc: kybr++ created pull request #1415: fixed then/than grammar issue
18:21 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1415
18:22 Zoffix andrzejku: that's when you learn how and why
18:24 Zoffix kybr: I sent you an invite to perl6 org so you can merge that PR yourself. You can accept it on https://github.com/perl6/
18:24 * Zoffix deletes an invite to "tybr" from couple days ago :P
18:29 AlexDaniel XD
18:32 Geth ¦ doc: 5c3053ea9e | (karl yerkes)++ (committed using GitHub Web editor) | doc/Language/traps.pod6
18:32 Geth ¦ doc: fixed then/than grammar issue
18:32 Geth ¦ doc:
18:32 Geth ¦ doc: http://writingexplained.org/then-vs-than-difference
18:32 Geth ¦ doc: review: https://github.com/perl6/doc/commit/5c3053ea9e
18:32 Geth ¦ doc: 286a196e13 | (karl yerkes)++ (committed using GitHub Web editor) | doc/Language/traps.pod6
18:32 Geth ¦ doc: Merge pull request #1415 from kybr/master
18:32 Geth ¦ doc:
18:32 Geth ¦ doc: fixed then/than grammar issue
18:32 Geth ¦ doc: review: https://github.com/perl6/doc/commit/286a196e13
18:43 |oLa| joined #perl6
18:46 Skarsnik joined #perl6
18:54 Geth ¦ doc: 43cb891ad1 | (Will "Coke" Coleda)++ | doc/Language/traps.pod6
18:54 Geth ¦ doc: no trailing whitespace
18:54 Geth ¦ doc: review: https://github.com/perl6/doc/commit/43cb891ad1
18:54 Geth ¦ doc: 8c8013eda0 | (Will "Coke" Coleda)++ | xt/space-after-comma.t
18:54 Geth ¦ doc: temporarily skip malformed utf8 file
18:54 Geth ¦ doc: review: https://github.com/perl6/doc/commit/8c8013eda0
19:04 Geth ¦ doc: a97d0f5d38 | (Will "Coke" Coleda)++ | doc/Language/traps.pod6
19:04 Geth ¦ doc: make example code compile
19:04 Geth ¦ doc: review: https://github.com/perl6/doc/commit/a97d0f5d38
19:04 Geth ¦ doc: c3b411ffbd | (Will "Coke" Coleda)++ | 3 files
19:04 Geth ¦ doc: rephrase slightly (pass xt/aspell.t)
19:04 Geth ¦ doc: review: https://github.com/perl6/doc/commit/c3b411ffbd
19:04 lizmat .
19:04 yoleaux 10:27Z <ab5tract> lizmat: on second thought, yes, that is the same. I needed to look deeper than just the diff to see how your implementation works
19:04 yoleaux 10:29Z <ab5tract> lizmat: assuming that the behavior of ($a (^) $b) returns the distance between the values and not some sort of coerced-to-Set tthingy
19:04 yoleaux 10:32Z <ab5tract> lizmat: I'm still not clear on how your code addresses Mixes (which are stickier than Bags)
19:04 yoleaux 10:40Z <ab5tract> lizmat: and yes definitely from a logic standpoint, [(^)] $a, $b, $c should be equivalent to ($a (^) $b) (^) $c . and for bags and mixes it is non-transitive and the order of @p can and will drastically change your outpu
19:05 lizmat ab5tract: and having thought about that since yesterday, I disagree  :-)
19:05 lizmat [(^)] $a, $b, $c should be the same as [(^)] $b, $a, $c
19:06 pmurias Zoffix: it works, it's just not awesome
19:06 lizmat basically, I interprete (^) in setty context as the elements that are in only 1 set
19:06 lizmat this is how currently it is implemented for sets
19:07 pmurias Zoffix: I'm playing around with replacing it mostly as react.js learning exercise (so that rakudo.js can then be taught how to work together with react.js)
19:07 lizmat for baggies, I interprete it as "all the occurrences of elements that are in only 1 bag
19:08 lizmat m: dd <a b b>.Bag (^) <a b>.Bag
19:08 camelia rakudo-moar 4894a7: OUTPUT: «("b"=>1).Bag␤»
19:08 lizmat m: dd <a b>.Bag (^) <a b b>.Bag
19:08 camelia rakudo-moar 4894a7: OUTPUT: «("b"=>1).Bag␤»
19:08 lizmat note that the order doesn't matter
19:09 lizmat for [(^)] on more than 2 bags, I see an algorithm that would create a bag of all keys, and keep the lowest and highest number seen in a bag
19:09 Zoffix pmurias: I have no plans to replace it
19:10 lizmat oops, I mean, highest and second highest number ssen
19:12 lizmat then post-process the resulting bag why adapting the number of occurrences by subtracting the highest and second highest
19:12 lizmat same for Mixies
19:13 [Coke] m: say "\c[482,PENGUIN]"
19:13 camelia rakudo-moar 4894a7: OUTPUT: «Ǣ????␤»
19:17 Geth ¦ 6.d-prep: a7ea2fbe98 | (Zoffix Znet)++ | TODO/README.md
19:17 Geth ¦ 6.d-prep: Add roast review instructions and commands
19:17 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/a7ea2fbe98
19:18 Geth ¦ doc: 6fd16df0fe | (Will "Coke" Coleda)++ | doc/Language/unicode.pod6
19:18 Geth ¦ doc: Note multi-character example
19:18 Geth ¦ doc: review: https://github.com/perl6/doc/commit/6fd16df0fe
19:18 Geth ¦ 6.d-prep: f4bc03d072 | (Zoffix Znet)++ | TODO/README.md
19:18 Geth ¦ 6.d-prep: Fix link; atom--
19:18 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/f4bc03d072
19:24 domidumont joined #perl6
19:24 travis-ci joined #perl6
19:24 travis-ci Doc build errored. karl yerkes 'Merge pull request #1415 from kybr/master
19:24 travis-ci https://travis-ci.org/perl6/doc/builds/251772281 https://github.com/perl6/doc/compare/1f7702551b2e...286a196e134e
19:24 travis-ci left #perl6
19:24 buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), GitHub connectivity (0), or failed make test (0).
19:32 zakharyas joined #perl6
19:33 |oLa| joined #perl6
19:39 seatek joined #perl6
19:40 Geth ¦ doc: aebdce0020 | (Will "Coke" Coleda)++ | doc/Language/traps.pod6
19:40 Geth ¦ doc: Link types; Str not String
19:40 Geth ¦ doc:
19:40 Geth ¦ doc: Clarify some wording
19:40 Geth ¦ doc:
19:40 Geth ¦ doc: Fixesx #1300
19:40 Geth ¦ doc: review: https://github.com/perl6/doc/commit/aebdce0020
19:41 travis-ci joined #perl6
19:41 travis-ci Doc build passed. Will "Coke" Coleda 'rephrase slightly (pass xt/aspell.t)'
19:41 travis-ci https://travis-ci.org/perl6/doc/builds/251778537 https://github.com/perl6/doc/compare/8c8013eda005...c3b411ffbd7f
19:41 travis-ci left #perl6
19:45 travis-ci joined #perl6
19:45 travis-ci Doc build errored. Will "Coke" Coleda 'temporarily skip malformed utf8 file'
19:45 travis-ci https://travis-ci.org/perl6/doc/builds/251776687 https://github.com/perl6/doc/compare/286a196e134e...8c8013eda005
19:45 travis-ci left #perl6
19:45 buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), GitHub connectivity (0), or failed make test (0).
19:52 wamba1 joined #perl6
19:52 wamba joined #perl6
19:55 wamba1 joined #perl6
20:00 [Coke] Working with POD6 for the doc site is not fun. :|
20:02 TEttinger joined #perl6
20:03 skids joined #perl6
20:04 moritz let's write markdown instead
20:04 * Zoffix uses markdown with a special pre-processor on rakudo.party
20:05 Zoffix ``Int`` translates to https://docs.perl6.org/type/Int and ``foo`` or ``.foo`` translates to https://docs.perl6.org/routine/foo
20:08 wamba joined #perl6
20:08 travis-ci joined #perl6
20:08 travis-ci Doc build errored. Will "Coke" Coleda 'Note multi-character example'
20:08 travis-ci https://travis-ci.org/perl6/doc/builds/251781681 https://github.com/perl6/doc/compare/c3b411ffbd7f...6fd16df0fe68
20:08 travis-ci left #perl6
20:08 buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), GitHub connectivity (0), or failed make test (0).
20:09 colomon joined #perl6
20:23 Cabanossi joined #perl6
20:25 Triplefox i set up a minimal windows PATH that only includes the perl6 install and zef fails due to no git or wget (good) with an infinite loop ping-ponging between two uris (bad?)
20:30 wambash joined #perl6
20:31 travis-ci joined #perl6
20:31 travis-ci Doc build errored. Will "Coke" Coleda 'Link types; Str not String
20:31 travis-ci https://travis-ci.org/perl6/doc/builds/251785909 https://github.com/perl6/doc/compare/6fd16df0fe68...aebdce002015
20:31 travis-ci left #perl6
20:31 buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), GitHub connectivity (0), or failed make test (0).
20:32 Zoffix Triplefox: probably
20:32 Zoffix which two URIs?
20:34 Triplefox http://ecosystem-api.p6c.org/projects.json   git://github.com/ugexe/Perl6-ecosystems.git
20:34 Triplefox also i went back and ran it with my normal environment and it worked, and then used the failing one again and it didn't infinite loop
20:35 Triplefox cached maybe? it just showed the errors and exited with 0 results
20:44 * Zoffix shrugs
21:07 colomon joined #perl6
21:08 Cabanossi joined #perl6
21:14 colomon joined #perl6
21:29 colomon joined #perl6
21:53 Cabanossi joined #perl6
21:57 wamba joined #perl6
22:11 colomon joined #perl6
22:23 Cabanossi joined #perl6
22:27 colomon joined #perl6
22:34 leont joined #perl6
22:36 BenGoldberg joined #perl6
22:42 mcmillhj joined #perl6
22:53 colomon joined #perl6
22:53 Cabanossi joined #perl6
23:00 Resol joined #perl6
23:08 kyan joined #perl6
23:10 lucasb joined #perl6
23:17 mcmillhj joined #perl6
23:22 Cabanossi joined #perl6
23:35 mcmillhj joined #perl6
23:47 lichtkind joined #perl6
23:50 BenGoldberg m: role R {}; constant c = R[ R ];
23:50 camelia rakudo-moar 0cdd6c: ( no output )
23:50 BenGoldberg m: role R {}; constant c = R[ :() ];
23:50 camelia rakudo-moar 0cdd6c: OUTPUT: «===SORRY!===␤QAST::Block with cuid 3 has not appeared␤»
23:52 mcmillhj joined #perl6
23:55 kyan joined #perl6

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

Perl 6 | Reference Documentation | Rakudo