Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-02-10

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:00 BenGoldberg m: say Numeric.^methods;
00:00 camelia rakudo-moar b54294: OUTPUT«(log log10 exp roots succ pred)␤»
00:01 BenGoldberg m: say Numeric.new.succ;
00:01 camelia rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 58208 bytes␤»
00:01 BenGoldberg m: say Numeric.succ;
00:01 camelia rakudo-moar b54294: OUTPUT«Use of uninitialized value of type Numeric in numeric context  in any  at gen/moar/m-Metamodel.nqp line 1718␤1␤»
00:02 AlexDaniel BenGoldberg: LTA
00:02 BenGoldberg I wonder if there's a missing :D somewhere.
00:04 NZKindest joined #perl6
00:12 arlenik joined #perl6
00:13 BenGoldberg joined #perl6
00:15 BenGoldberg joined #perl6
00:21 mohae joined #perl6
00:25 sortiz BenGoldberg, In Numeric. https://github.com/rakudo/rakudo/blob/nom/src/core/Numeric.pm#L28, Indeed missing!
00:31 BenGoldberg :)
00:34 raiph joined #perl6
00:39 pukku joined #perl6
00:41 BenGoldberg m: say Mu.new;
00:41 camelia rakudo-moar b54294: OUTPUT«Mu.new␤»
00:41 BenGoldberg m: say so Mu.new;
00:41 camelia rakudo-moar b54294: OUTPUT«True␤»
00:42 BenGoldberg m: class Foo is Mu { }; say Foo.new;
00:42 camelia rakudo-moar b54294: OUTPUT«Foo.new␤»
00:42 BenGoldberg m: class Foo is Mu { }; say so Foo.new;
00:42 camelia rakudo-moar b54294: OUTPUT«True␤»
00:44 BenGoldberg m: say Numeric.^find_method('Bool')
00:44 camelia rakudo-moar b54294: OUTPUT«Bool␤»
00:52 Ben_Goldberg joined #perl6
00:56 * timotimo goes to(wards) bed
01:00 sufrostico joined #perl6
01:03 skids Who's Ward? :-)
01:04 wamba joined #perl6
01:13 * BenGoldberg is confused by something.
01:13 BenGoldberg I *think* that these should produce the same output:
01:13 BenGoldberg m: say map *.perl, Numeric.^find_method('Bool').candidates;
01:13 camelia rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|40928744) ... })␤»
01:14 BenGoldberg m: say map *.perl, .^find_method('Bool').candidates for Numeric;
01:14 camelia rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|39740968) ... } method Bool (Numeric:D $: *%_) { #`(Method|50390536) ... })␤»
01:24 flussence m: say map *.perl, (.^find_method('Bool').candidates for Numeric);
01:24 camelia rakudo-moar b54294: OUTPUT«((method Bool (Mu $: *%_) { #`(Method|44369480) ... }, method Bool (Numeric:D $: *%_) { #`(Method|55019352) ... }))␤»
01:25 flussence hm, now I'm confused too
01:26 BenGoldberg m: my $m = Numeric.^find_method('Bool'); $m( Numeric.new ).say;
01:26 camelia rakudo-moar b54294: OUTPUT«True␤»
01:29 Hotkeys m: say Numeric.^find_method('Bool').candidates.elems; say (.^find_method('Bool').candidates for Numeric).elems
01:29 camelia rakudo-moar b54294: OUTPUT«1␤1␤»
01:29 Hotkeys m: say Numeric.^find_method('Bool').candidates.elems; say (.^find_method('Bool').candidates for Numeric)[0].elems
01:29 camelia rakudo-moar b54294: OUTPUT«1␤2␤»
01:30 BenGoldberg Ooh, it's producing a one element list with a two element list in it.
01:30 Hotkeys m: say Numeric.^find_method('Bool').candidates; say (.^find_method('Bool').candidates for Numeric)
01:30 camelia rakudo-moar b54294: OUTPUT«(Bool)␤((Bool Bool))␤»
01:30 Hotkeys seems like
01:31 BenGoldberg m: my @c = !(.^find_method('Bool').candidates for Numeric); say +@c
01:31 camelia rakudo-moar b54294: OUTPUT«1␤»
01:31 BenGoldberg m: my @c = !(.^find_method('Bool').candidates for Numeric); say @c
01:31 camelia rakudo-moar b54294: OUTPUT«[False]␤»
01:31 BenGoldberg m: my @c = !(.^find_method('Bool').candidates for Numeric); say @c[0]
01:31 camelia rakudo-moar b54294: OUTPUT«False␤»
01:31 BenGoldberg m: my @c = !(.^find_method('Bool').candidates for Numeric); say @c[0].WHAT
01:31 camelia rakudo-moar b54294: OUTPUT«(Bool)␤»
01:31 BenGoldberg m: my @c := !(.^find_method('Bool').candidates for Numeric); say @c[0].WHAT
01:31 camelia rakudo-moar b54294: OUTPUT«Type check failed in binding; expected Positional but got Bool␤  in block <unit> at /tmp/ja_AnGGOkn line 1␤␤»
01:32 BenGoldberg m: my @c := (.^find_method('Bool').candidates for Numeric); say @c[0].WHAT
01:32 camelia rakudo-moar b54294: OUTPUT«(List)␤»
01:32 BenGoldberg m: my @c := (.^find_method('Bool').candidates for Numeric); say @c[0].elems;
01:32 camelia rakudo-moar b54294: OUTPUT«2␤»
01:33 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say +@c;
01:33 camelia rakudo-moar b54294: OUTPUT«2␤»
01:33 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say .perl for 2c;
01:33 camelia rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OB4HS1fIDP␤Missing semicolon␤at /tmp/OB4HS1fIDP:1␤------> 3meric); my @c := @c0[0]; say .perl for 27⏏5c;␤»
01:33 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say .perl for @c;
01:33 camelia rakudo-moar b54294: OUTPUT«method Bool (Mu $: *%_) { #`(Method|38913848) ... }␤method Bool (Numeric:D $: *%_) { #`(Method|49563264) ... }␤»
01:33 Hotkeys m: Numeric.^find_method('Bool').say
01:33 camelia rakudo-moar b54294: OUTPUT«Bool␤»
01:33 Hotkeys m: Numeric.^find_method('Bool').perl.say
01:33 camelia rakudo-moar b54294: OUTPUT«method Bool (Mu $: | is raw) { #`(Method|48415024) ... }␤»
01:33 Hotkeys m: Numeric.^find_method('Bool').candidates.perl.say
01:33 camelia rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|53024216) ... },)␤»
01:34 skids m: say map *.perl, .^find_method("Bool").candidates for Numeric, Bool
01:34 camelia rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|67184200) ... })␤(method Bool (Bool:D $: *%_) { #`(Method|67725320) ... } method Bool (Bool:U $: *%_) { #`(Method|67725472) ... })␤»
01:34 skids m: say map *.perl, .^find_method("Bool").candidates for IterationEnd
01:34 camelia rakudo-moar b54294: OUTPUT«Method 'map' not found for invocant of class 'Mu'␤  in block <unit> at /tmp/CryDmE5hf8 line 1␤␤»
01:34 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; for @c -> \cand { say cand($n) }
01:34 camelia rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u2AMVIuL6l␤Variable '&cand' is not declared␤at /tmp/u2AMVIuL6l:1␤------> 3$n = Numeric.new; for @c -> \cand { say 7⏏5cand($n) }␤»
01:34 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; for @c -> $cand { say $cand($n) }
01:34 camelia rakudo-moar b54294: OUTPUT«True␤Memory allocation failed; could not allocate 82944 bytes␤»
01:35 Hotkeys m: say map*.perl, (.^find_method('Bool').candidates with Numeric)
01:35 camelia rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0eGNb8HzJm␤Calling map() will never work with any of these multi signatures:␤    (&code, + is raw)␤at /tmp/0eGNb8HzJm:1␤------> 3say 7⏏5map*.perl, (.^find_method('Bool').candid␤»
01:35 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; $c[0]($n);
01:35 camelia rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/73EY4XvyS0␤Variable '$c' is not declared. Did you mean '@c'?␤at /tmp/73EY4XvyS0:1␤------> 3; my @c := @c0[0]; my $n = Numeric.new; 7⏏5$c[0]($n);␤»
01:35 Hotkeys m: say map *.perl, (.^find_method('Bool').candidates with Numeric)
01:35 camelia rakudo-moar b54294: OUTPUT«()␤»
01:35 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; @c[0]($n);
01:35 camelia rakudo-moar b54294: ( no output )
01:35 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; my $n = Numeric.new; @c[1]($n);
01:35 camelia rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 82944 bytes␤»
01:36 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say .perl for @c;
01:36 camelia rakudo-moar b54294: OUTPUT«method Bool (Mu $: *%_) { #`(Method|50939704) ... }␤method Bool (Numeric:D $: *%_) { #`(Method|61589120) ... }␤»
01:36 BenGoldberg m: my @c0 := (.^find_method('Bool').candidates for Numeric); my @c := @c0[0]; say @c[1].file;
01:36 camelia rakudo-moar b54294: OUTPUT«gen/moar/m-CORE.setting␤»
01:36 BenGoldberg Drat... that's annoying.
01:36 skids m: say map *.perl, .^find_method("Bool").candidates for Numeric, IterationEnd
01:36 camelia rakudo-moar b54294: OUTPUT«(method Bool (Mu $: *%_) { #`(Method|49890952) ... })␤»
01:39 * BenGoldberg ponder submittting a bug report, to the effect that the genenerated setting ought to have the equivilant of '#file' in it, indicating the file from which it was generated.
01:40 BenGoldberg m: Numeric.new != 0;
01:40 camelia rakudo-moar b54294: OUTPUT«WARNINGS for /tmp/J5pUO24vUB:␤Useless use of "!=" in expression ".new != 0" in sink context (line 1)␤Memory allocation failed; could not allocate 61472 bytes␤»
01:41 BenGoldberg m: Numeric.new == 0;
01:41 camelia rakudo-moar b54294: OUTPUT«WARNINGS for /tmp/3oYjw3Btyy:␤Useless use of "==" in expression ".new == 0" in sink context (line 1)␤Memory allocation failed; could not allocate 61456 bytes␤»
01:44 skids m: say map {$_.WHAT}, .^find_method("Bool").candidates for Numeric
01:44 camelia rakudo-moar b54294: OUTPUT«((Method) (Method))␤»
01:45 skids Hotkeys: yep, as you saw ^^
01:48 BenGoldberg I think I might possibly have found it:
01:48 BenGoldberg m: role Foo { method Foo { self } }; proto sub infix:<eq-like>(Mu $?, Mu $?) is pure { * }; multi sub infix:<eq-like>($?) { Bool::True }; multi sub infix:<eq-like>(\a, \b) { a.Foo eq-like b.Foo }; say Foo.new eq-like Foo.new;
01:48 camelia rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 118816 bytes␤»
01:48 BenGoldberg Compare this with: https://github.com/rakudo/rakudo/blob/nom/src/core/Numeric.pm#L248
01:52 skids $? ... ?
01:52 BenGoldberg No idea, just copy-pasting ;)
01:53 skids Oh, optional discarded $
01:53 gfldex optional anonymous positional argument
01:54 skids Wouldn't that recurse infinitely without annother multi?
01:54 BenGoldberg Precisely.
01:55 BenGoldberg It's recursing infinitely, and thus runs out of memory.
01:56 BenGoldberg That's my guess, anyway.
01:56 skids m: &infix:<==>.candidates.say
01:56 camelia rakudo-moar b54294: OUTPUT«(sub infix:<==> ($?) { #`(Sub|60059064) ... } sub infix:<==> (\a, \b) { #`(Sub|60061344) ... } sub infix:<==> (Real \a, Real \b) { #`(Sub|60061192) ... } sub infix:<==> (Int:D \a, Int:D \b) { #`(Sub|60059520) ... } sub infix:<==> (int $a, int $b) { #`(Sub|…»
01:56 skids There are other multis, unless they are not defined in some internal scope
01:58 BenGoldberg Sure, but which of them match on a value which is defined, and Numeric, and not a subtype of Numeric?
02:02 skids m: multi sub infix:<==> (Numeric:D $?, Numeric:D $?) { "OHAI".say }; say so Numeric.new;
02:02 camelia rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 82944 bytes␤»
02:16 Ben_Goldberg joined #perl6
02:21 kid51 left #perl6
02:23 kid51 joined #perl6
02:25 kid51 left #perl6
02:26 kid51 joined #perl6
02:29 awwaiid is someone named "raiph" around here? they left a comment adding some more colons to my collection. I thank them! https://thelackthereof.org/Perl6_Colons
02:29 molaf_ joined #perl6
02:29 masak yes, raiph frequents this channel.
02:30 awwaiid .tell raigh Thanks for the comments, I've updated https://thelackthereof.org/Perl6_Colons
02:30 yoleaux awwaiid: I'll pass your message to raigh.
02:30 awwaiid thanks masak
02:32 TEttinger that was to raigh not raiph?
02:33 awwaiid .tell raiph Thanks for the comments, I've updated https://thelackthereof.org/Perl6_Colons
02:33 yoleaux awwaiid: I'll pass your message to raiph.
02:33 awwaiid :)
02:34 jameslenz joined #perl6
02:34 apiw joined #perl6
02:35 partly__ joined #perl6
02:42 revhippie awwaiid: don't forget the number-first colon-pair :5foo
02:46 awwaiid got that one
02:46 awwaiid it was in there as :1day, I changed it to :73day to make it easier to see
02:46 revhippie ohh sorry.
02:47 hippie1 joined #perl6
02:48 awwaiid hmm. Almost all colon-pair is some sugar for Pair.new($key, $val). Is there a longhand for number conversion :16<d00d>?
02:49 apiw joined #perl6
02:51 skids m: :16[0xd, 0, 0, 0xd] # ??
02:51 camelia rakudo-moar b54294: ( no output )
02:52 sortiz m: "d00".UNBASE(16)
02:52 camelia rakudo-moar b54294: OUTPUT«Method 'UNBASE' not found for invocant of class 'Str'␤  in block <unit> at /tmp/zF50ACZbW2 line 1␤␤»
02:52 sortiz m: "d00".UNBASE(16,"d000")
02:52 camelia rakudo-moar b54294: OUTPUT«Method 'UNBASE' not found for invocant of class 'Str'␤  in block <unit> at /tmp/1_vOB8tLXL line 1␤␤»
02:52 sortiz m: UNBASE(16,"d000")
02:52 camelia rakudo-moar b54294: ( no output )
02:52 sortiz m: UNBASE(16,"d000").say
02:52 camelia rakudo-moar b54294: OUTPUT«53248␤»
02:53 awwaiid UNBASE. Interesting. Why so loud?
02:53 skids That's more a rakudo internal thing, not a Perl 6 thing
02:53 awwaiid ah
02:54 sortiz For promote the sugared form, I suppose
02:54 awwaiid m: say 255.base(16)
02:54 camelia rakudo-moar b54294: OUTPUT«FF␤»
02:55 awwaiid pretty weird syntax, since all the other similar colon-pairs end up as a Pair
02:56 dalek rakudo-star-daily: 20bb739 | coke++ | log/ (9 files):
02:56 dalek rakudo-star-daily: today (automated commit)
02:56 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/20bb739466
02:56 sortiz m: say :16[1, 3]; say UNBASE_BRACKET(16, 1, 3):
02:56 camelia rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VNGLw1Lncx␤Calling UNBASE_BRACKET(Int, Int, Int) will never work with declared signature ($base, @a)␤at /tmp/VNGLw1Lncx:1␤------> 3say :16[1, 3]; say 7⏏5UNBASE_BRACKET(16, 1, 3):␤»
02:56 sortiz m: say :16[1, 3]; say UNBASE_BRACKET(16, [1, 3]):
02:56 camelia rakudo-moar b54294: OUTPUT«19␤19␤»
02:57 mr-foobar joined #perl6
02:58 awwaiid my $x = 24; say :$x<2034>
02:58 awwaiid m: my $x = 24; say :$x<2034>
02:58 camelia rakudo-moar b54294: OUTPUT«(Mu)␤»
03:00 awwaiid equivalent to (:$x)<2034>, uselessly looking up the 2034 key in x => 24.
03:12 noganex joined #perl6
03:20 hacst joined #perl6
03:20 chace joined #perl6
03:20 Herby_ joined #perl6
03:20 Herby_ Evening, everyone!
03:20 Herby_ \o
03:22 mohae joined #perl6
03:24 adu joined #perl6
03:27 Actualeyes joined #perl6
03:46 kurahaupo_ joined #perl6
03:49 Herby_ \o
03:49 Herby_ o\
03:49 Herby_ \o/
03:50 MadcapJake i have a derived class that has an overridden method but it's one that is used only internally to the base class and it seemingly won't use my derived version, how can make it do that?
03:52 gfldex how do you call that methdod?
03:52 MadcapJake it's called inside a method in the base class
03:52 gfldex code pls tyvm
03:54 MadcapJake here's one of the calls (there are a bunch in this class), the method in question is `died` https://github.com/MadcapJake/Test-Lab/blob/master/lib/Test/Lab/Experiment.pm6#L113
03:55 MadcapJake Here's my derived class's overridden version https://github.com/MadcapJake/Test-Lab/blob/master/t/020-experiment.t#L11
03:57 gfldex i don't thinks self.self is going to work. It's very late here and I will need to sleep over it.
03:57 MadcapJake alright :D
03:57 MadcapJake any quick thoughts that could lead me in the right direction?
03:59 gfldex no, but you may want to check what self.self. actually points to
03:59 MadcapJake self.self?
03:59 MadcapJake oh wow
03:59 MadcapJake that's bug
04:01 MadcapJake sadly, not the root cause here :P
04:05 dolmen joined #perl6
04:13 masak m: class C { method self { "OH HAI" }; method foo { self.self } }; say C.new.foo
04:13 camelia rakudo-moar b54294: OUTPUT«OH HAI␤»
04:21 MadcapJake figured it out, any derived class needs to implement a `new` method or a call to new will just create a Cls::Default object
04:22 MadcapJake Is there a way to detect what class name is calling a method? I could put a guard in there that only defaults to Cls::Default is the calling class is the base.
04:23 MadcapJake figured that out too! :D
04:23 MadcapJake self.WHICH
04:33 squach joined #perl6
04:33 mohae joined #perl6
04:54 ugexe you could also use multis like: multi bar(Cls::Base:D $foo) { set-defaults(); nextsame; }; multi bar($foo) { work($foo) }
05:02 rindolf joined #perl6
05:18 vendethiel joined #perl6
05:25 adu joined #perl6
05:30 adu joined #perl6
05:33 mr-foobar joined #perl6
05:47 vendethiel joined #perl6
05:47 mr-foobar joined #perl6
05:49 Cabanossi joined #perl6
06:00 MadcapJake is it mentioned anywhere that CATCH blocks will interfere with returning? Just figured this out x_x
06:02 jdv79 in what way is this manifesting?
06:02 MadcapJake ugexe, thanks for the tip, my current logic for new is «if self.WHICH.Str ~~ 'Test::Lab::Experiment' { Test::Lab::Experiment::Default.bless(:$name) } else { !!! }»
06:03 MadcapJake jdv79, I had a few methods with the body entirely wrapped in try/catch block
06:03 MadcapJake and the CATCH blocks were the last line
06:03 MadcapJake the only way I could get any values returned was either explicitly returning or by moving the CATCH block prior the implicit return statement
06:05 jdv79 iirc its not CATCH related at all.  its just last line or explicit return.
06:06 MadcapJake oh! i assumed the CATCH would just be considered not a part of the sub's body
06:07 MadcapJake or rather the try's body
06:07 jdv79 well, its in there.  again i believe that's the deal but i could be wrong.
06:07 MadcapJake m: sub foo { try { 'foo'; CATCH { default { die 'a horrible death' } } } }
06:07 camelia rakudo-moar b54294: OUTPUT«WARNINGS for /tmp/JpEbUrKd5x:␤Useless use of constant string "foo" in sink context (line 1)␤»
06:07 MadcapJake m: sub foo { try { CATCH { default { die 'a horrible death' } }; 'foo'; } }
06:07 camelia rakudo-moar b54294: ( no output )
06:07 MadcapJake yep definitely is a thing :P
06:09 MadcapJake the example in language/exceptions shows a CATCH at the beginning of the block, but it never really delves into the question as all of the logic is just printing to stdout
06:10 MadcapJake i guess my problem is I was thinking of a CATCH block as a kind of branch of a conditional
06:10 CIAvash joined #perl6
06:15 mathw joined #perl6
06:18 jdv79 maybe that deserves a doc issue about returning less simply than http://doc.perl6.org/type/Block descibes
06:18 jdv79 *describes
06:40 solarbunny joined #perl6
06:47 jdv79 MadcapJake: i created https://github.com/perl6/doc/issues/388
06:47 jdv79 nite
06:50 sortiz jdv79++ # For the issue opened, I'm in the same camp.
06:50 sortiz o/ jdv79
07:03 domidumont joined #perl6
07:08 mr-foobar joined #perl6
07:09 domidumont joined #perl6
07:12 rindolf jdv79: hi, sup?
07:17 vendethiel joined #perl6
07:39 [Tux] test            21.943
07:39 [Tux] test-t          11.839
07:39 [Tux] csv-parser      51.701
07:39 firstdayonthejob joined #perl6
07:40 El_Che same as yesterday's
07:40 El_Che so it's not getting slower :)
07:46 RabidGravy joined #perl6
07:48 FROGGS joined #perl6
07:54 fireartist joined #perl6
07:55 MadcapJake jdv79, thanks! i'm off to bed too
07:55 nakiro joined #perl6
07:56 rindolf MadcapJake: good night.
08:03 vendethiel joined #perl6
08:05 Ven joined #perl6
08:11 darutoko joined #perl6
08:12 zakharyas joined #perl6
08:15 ely-se joined #perl6
08:18 RabidGravy morning
08:18 ely-se hi
08:19 RabidGravy need more coffee, just did "git init", "git add ." in the parent of the one I intended and wondered why it was taking so long
08:21 sortiz ups!
08:22 sortiz my \p = :what<foo>; .say for p<what>.WHAT, p<what> # All expected
08:22 sortiz m: my \p = :what<foo>; .say for p<what>.WHAT, p<what> # All expected
08:22 camelia rakudo-moar b54294: OUTPUT«(Str)␤foo␤»
08:23 sortiz m: my \p = :what<foo bar>; .say for p<what>.WHAT, p<what> # Beware, I was expecting also Str!
08:23 camelia rakudo-moar b54294: OUTPUT«(List)␤(foo bar)␤»
08:29 Yary joined #perl6
08:30 pdcawley joined #perl6
08:35 squach1 joined #perl6
08:41 abraxxa joined #perl6
08:46 Ven joined #perl6
08:48 [Tux] joined #perl6
08:51 pmurias joined #perl6
08:57 pmurias jnthn: +1 to everything in you versioning blog post, good that we use git tags instead of per version subdirectories
09:03 pmurias jnthn: re MoarVM and it's opset, (as rakudo/nqp is as far as I know are the only clients, do we really need to lock the opset down for years?)
09:03 kurahaupo joined #perl6
09:03 vendethiel joined #perl6
09:04 sno joined #perl6
09:05 RabidGravy is there a thing which can turn something like "0d 00h 09m 38s" or some parsed set of numbers into a Duration?
09:06 moritz not in core
09:07 RabidGravy obviously not that difficult to do in a dumb way
09:08 nige1 joined #perl6
09:11 Actualeyes left #perl6
09:14 ocbtec joined #perl6
09:24 ely-se joined #perl6
09:27 * stmuk_ replies to versioning blog post
09:31 dalek doc: c08878c | (Salvador Ortiz)++ | doc/Type/Pair.pod:
09:31 dalek doc: Update Pair.pod
09:31 dalek doc:
09:31 dalek doc: Add some more examples of the adverbial form
09:31 dalek doc: review: https://github.com/perl6/doc/commit/c08878c603
09:35 dakkar_ joined #perl6
09:36 lizmat m: Real.new.Num  # this is the loop: it calls Real.Bridge.Num., and Real.Bridge calls Real.Num again
09:36 camelia rakudo-moar b54294: OUTPUT«Memory allocation failed; could not allocate 81920 bytes␤»
09:38 lizmat this code has been in there for at least 4 years  :-(
09:41 leont joined #perl6
09:55 espadrine joined #perl6
09:57 RabidGravy boo!
09:58 AlexDaniel Bool
09:58 lizmat eek!
09:59 dalek doc: 1601312 | (Salvador Ortiz)++ | doc/Language/nativecall.pod:
09:59 dalek doc: Update nativecall.pod
09:59 dalek doc:
09:59 dalek doc: Describe how to pass allocated pointers to native types in native calls
09:59 dalek doc: review: https://github.com/perl6/doc/commit/1601312837
10:03 lizmat added RT #127503 about Real.new.num infinilooping, Yary++  BenGoldberg++
10:03 fireartist joined #perl6
10:04 AlexDaniel m: my $foo = ‘hello’; say :$foo
10:04 camelia rakudo-moar b54294: OUTPUT«Unexpected named parameter 'foo' passed␤  in block <unit> at /tmp/wzMnCeL9yd line 1␤␤»
10:04 AlexDaniel m: my $foo = ‘hello’; say (:$foo)
10:04 camelia rakudo-moar b54294: OUTPUT«foo => hello␤»
10:06 rdmsno joined #perl6
10:06 AlexDaniel m: say (::a)
10:06 camelia rakudo-moar b54294: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol a␤»
10:06 AlexDaniel :/
10:07 vendethiel joined #perl6
10:07 rdmsno When I re-run "make && make install" on nqp & rakudo-star (eg. after libc update and subsequent jvm rebuild and consequently nqp -> rakudo-star rebuild), I get
10:07 rdmsno ~# perl6 -V
10:07 rdmsno Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp'
10:07 rdmsno in
10:07 rdmsno in
10:07 rdmsno in load_module
10:07 rdmsno in
10:07 rdmsno in
10:07 rdmsno in load_module
10:07 rdmsno in
10:07 rdmsno in
10:07 rdmsno in load_module
10:07 rdmsno in
10:07 lizmat m: ::a # seems correct to me, AlexDaniel
10:07 camelia rakudo-moar b54294: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol a␤»
10:07 rdmsno where do I have to force a rebuild to get rid of that?
10:08 lizmat rdmsno: rm -rf install usually does the trick
10:08 rdmsno lizmat: that's a complete rebuild - what isn't sane
10:09 rdmsno the intention of my question is to avoid the "rm -rf" hack
10:09 AlexDaniel lizmat: okay, so let's say I have a source file with 1000 lines… --ll-exception does not help too
10:09 lizmat AlexDaniel: I see your point
10:10 lizmat rdmsno: I'm afraid I have no other suggestion to offer at this point: I always went the rm -rf way  :-(
10:10 rdmsno lizmat: than we should take half an hour on 18th and we find a better way - when you like
10:11 lizmat rdmsno: sure  :-)
10:11 rdmsno lizmat: "rm -rf install" on nqp or rakudo-star?
10:11 lizmat you could try nqp first :-)
10:12 * rdmsno nods
10:12 nige1 joined #perl6
10:13 molaf joined #perl6
10:17 wamba joined #perl6
10:25 lizmat AlexDaniel: looking at the ::a issue, fwiw
10:28 FROGGS what should ::a mean btw?
10:33 lizmat probably nothing, but a typo of that kind in a large source file, would be hard to track
10:35 lizmat afk for a bit&
10:35 sortiz ::a means "Search for the package or symbol a"
10:36 sortiz m: my \a = 8; say ::a:
10:36 camelia rakudo-moar b54294: OUTPUT«8␤»
10:36 sortiz m: module a {}: say ::a:
10:36 camelia rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1ktnIHfnGz␤Confused␤at /tmp/1ktnIHfnGz:1␤------> 3module a {}:7⏏5 say ::a:␤    expecting any of:␤        colon pair␤»
10:36 sortiz m: module a {}; say ::a:
10:36 camelia rakudo-moar b54294: OUTPUT«(a)␤»
10:37 zakharyas joined #perl6
10:37 sortiz m: class Foo {}; my $b = 'Foo'; say ::($b)
10:37 camelia rakudo-moar b54294: OUTPUT«(Foo)␤»
10:44 * sortiz As far as I understand...
10:45 apiw joined #perl6
10:57 virtualsue joined #perl6
10:58 pmurias joined #perl6
11:01 pmurias rdmsno: I encounter that sort of problems when there is a bug in the Makefile
11:02 pmurias rdmsno: I use "make clean" as a workaround for those sort of things
11:04 sortiz m: try { EVAL 'my $x = ::P' }; say ~$!
11:04 camelia rakudo-moar b54294: OUTPUT«Could not locate compile-time value for symbol P␤»
11:05 apiw joined #perl6
11:08 El_Che I love the flexibilitiy of Datetime.earlier(days => $negative_int) and later
11:08 El_Che but sometimes my head blows :)
11:12 mscha joined #perl6
11:13 mscha m: say '[hello]' ~~ / <[ [ ]> /;   # This one works fine ...
11:13 camelia rakudo-moar b54294: OUTPUT«「[」␤»
11:13 mscha m: say '[hello]' ~~ / <[ ] ]> /;    # but this one does not.  Isn't tha a bug?
11:13 camelia rakudo-moar b54294: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nHFWkjQgsw␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/nHFWkjQgsw:1␤------> 3say '[hello]' ~~ / <[ ] 7⏏5]> /;    # but this one does not.  Isn't␤»
11:14 FROGGS joined #perl6
11:15 jnthn mscha: I don't think we can make the second one work
11:16 jnthn mscha: And so we'd only be forbidding the first because you can't do the second, which may be consistent-er, but not sure it's worth the breaking change.
11:16 mscha jnthn: so, we're back to LTS?  :(
11:17 mscha m: say '[hello]' ~~ / <[ \] ]> /;
11:17 camelia rakudo-moar b54294: OUTPUT«「]」␤»
11:18 jnthn mscha: It just semes too small a reason to go breaking things.
11:18 kaare_ joined #perl6
11:20 jnthn It's well within the realm of things we could change and manage with version guarding.
11:20 jnthn But for me it's below the threshold of being worth bothering with. But I'm not the language designer... :)
11:20 lizmat jnthn:  the ::a issue is a naked nqp::die in World.find_symbol
11:20 gcole_ joined #perl6
11:21 jnthn lizmat: How rude!
11:21 lizmat jnthn: it is being called at Actions:8928
11:21 jnthn I don't actually know what the ::a issue is :)
11:21 * jnthn didn't really backlog... :)
11:21 lizmat m: ::a   # note lack of where this happend
11:21 camelia rakudo-moar b54294: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol a␤»
11:21 jnthn Aha
11:21 jnthn Yeah...
11:22 jnthn That could do with a fix :)
11:22 lizmat and I'm looking at that
11:22 lizmat this happend at Actions:8928: trying to wrap that in a try
11:22 jnthn Cool. I guess $/ is available where we die?
11:22 lizmat it is there
11:23 lizmat my assumption was that $type would be null if the find_symbol died
11:23 jnthn OK, shouldn't be too bad...
11:23 moritz while you're at it, "could not locate" is one of those weird error messages
11:23 lizmat but a nqp::isnull after the try doesn't fire
11:23 moritz why couldn't you locate it?
11:24 moritz "No compile-time value for symbol a" would be better
11:24 moritz perhaps adding a verb too, "No compile-time value available for symbol a"
11:25 lizmat moritz: that message will be replaced by a proper exception, e.g. X::NoSuchSymbol
11:25 jnthn lizmat: In NQP, scalars start out holding NQPMu
11:25 lizmat which means that nqp::isnull on them would be true, no?
11:25 jnthn No
11:25 lizmat ah?
11:25 jnthn NQPMu is not a null
11:25 jnthn null means a real null
11:25 lizmat so how do I check for that then?
11:26 lizmat unless $type ?
11:27 jnthn I'd probably do something in CATCH....
11:27 lizmat ok, I'll try that
11:27 jnthn But you could explicitly initialize $type to nqp::null() before the try block too
11:27 jnthn Then your null check would work
11:27 lizmat no, it didn't  :-(
11:28 lizmat tried that already  :-(
11:30 lizmat hmmm... CATCH seems to fix it
11:30 lizmat running spectest now
11:33 apiw joined #perl6
11:37 nige1 joined #perl6
11:43 lizmat jnthn: there is one test in roast that tests for the specific error message we got before
11:45 lizmat should I just correct that one in roast/master
11:45 jnthn lizmat: Yes, that will have to be 6.c-errata at some point too :)
11:46 lizmat so fix in errata as a todo, and fix properly in master, is what you're saying ?
11:47 rdmsno pmurias: I asked because I expected one knows about that
11:47 dalek rakudo/nom: b9f90bc | lizmat++ | src/Perl6/Actions.nqp:
11:47 dalek rakudo/nom: Fix for RT #127504
11:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b9f90bc592
11:47 rdmsno seems not, so I make an appointment with lizmat to dig into the Makefiles (I'm not familiar with nqp/rakudo* sources)
11:49 jnthn lizmat: I'd commit in master, then create the errata branch and cherry-pick. If you're not quite comfortable with doing that, then feel free to file this as a roast ticket and I can take care of it.
11:50 lizmat I'd prefer the latter  :-)
11:50 jnthn OK. Maybe won't get to it today.
11:50 lizmat I'll commit to master
11:54 dalek roast: 5dcda3c | lizmat++ | integration/weird-errors.t:
11:54 dalek roast: Minimal change to make test pass after b9f90bc592f
11:54 dalek roast:
11:54 dalek roast: Should be cherry picked and todo'd in errata branch
11:54 dalek roast: review: https://github.com/perl6/roast/commit/5dcda3c2f3
11:57 dalek roast: 5a079b2 | lizmat++ | integration/weird-errors.t:
11:57 dalek roast: Add test for RT #127504
11:57 dalek roast: review: https://github.com/perl6/roast/commit/5a079b23c6
12:01 Ven joined #perl6
12:03 ely-se joined #perl6
12:07 ribasushi joined #perl6
12:08 apiw joined #perl6
12:09 AlexDaniel that was really quick
12:09 AlexDaniel lizmat++
12:09 lizmat sometimes it can be quick  :-)
12:15 kid51 joined #perl6
12:19 nekrodesk joined #perl6
12:32 dalek rakudo/nom: b2e57f6 | lizmat++ | src/core/Hash.pm:
12:32 dalek rakudo/nom: Improve Int %h by 20% by removing code
12:32 dalek rakudo/nom:
12:32 dalek rakudo/nom: Why?  Because the candidates that handle the type constrained
12:32 dalek rakudo/nom: values Hash, were less optimised.  But the only difference really
12:32 dalek rakudo/nom: was how they tried to get at the Hash descriptor (which is the
12:32 dalek rakudo/nom: only thing that really separates a type constrained Hash from a
12:32 dalek rakudo/nom: "normal" Hash).  So removing the code, will revert back to the
12:32 dalek rakudo/nom: better optimised un-constrained candidates, and thus get better
12:32 dalek rakudo/nom: performance.
12:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2e57f697f
12:40 dalek rakudo/nom: a68d91c | lizmat++ | src/core/Hash.pm:
12:40 dalek rakudo/nom: Cosmetics: use same order of method definitions
12:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a68d91c92e
12:40 sufrostico joined #perl6
12:44 nanis joined #perl6
12:55 dalek rakudo/nom: 0b3beb6 | lizmat++ | src/core/Hash.pm:
12:55 dalek rakudo/nom: Add comment why we didn't optimize Hash.BIND-KEY
12:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b3beb63c4
12:57 nanis joined #perl6
12:58 nanis Is someone looking at RT #127473? <https://rt.perl.org/Public/Bug/Display.html?id=127473>
13:00 lizmat nanis: I don't think that has a high priority, as it feels sufficiently away from "normal" usage that most users will never see it
13:00 lizmat but jnthn might think differently  -)
13:01 nanis On the other hand, I am concerned that it makes perl6 look funny and fragile. It seems to be due to https://github.com/rakudo/rakudo/blob/f9039dc9049a5abebb7918bc24d91c00fe49ba1d/src/Perl6/Optimizer.nqp#L1978
13:01 nanis There, a check is made to see if one can invoke returns, and the code proceeds even if "can returns" fails.
13:02 jnthn Worth fixing, but not high priority for me. Others are welcome to take it on. :)
13:02 nanis Similar to proceeding to read from a file after open failed. I don't know enough about the internals to proceed, but looks like it might be possible to at least aovid the infinite loop.
13:03 AlexDaniel lizmat: that's not one of my hand-fuzzied bugs
13:03 AlexDaniel lizmat: I actually got that when I was trying to get some kind of an array slice
13:04 lizmat as jnthn said: PR's welcome  :-)
13:05 AlexDaniel sure-sure, I just commented on “most users will never see it” part
13:05 dalek doc: feaed2e | (David Brunton)++ | doc/Type/Regex.pod:
13:05 dalek doc: Bool() doesn't return a Match object.
13:05 dalek doc:
13:05 dalek doc: Bool() returns a Bool.
13:05 dalek doc: review: https://github.com/perl6/doc/commit/feaed2ebbd
13:05 dalek doc: 661dd54 | (Zoffix Znet)++ | doc/Type/Regex.pod:
13:05 dalek doc: Merge pull request #389 from dbrunton/patch-6
13:05 dalek doc:
13:05 dalek doc: Bool() doesn't return a Match object.
13:05 dalek doc: review: https://github.com/perl6/doc/commit/661dd54ee0
13:05 lizmat ah, ok, noted  :-)
13:05 nanis I am leaving this observation here for what it is worth as I can't seem to comment on the bug on RT as an anonymous user, and I am not authorized to view the bug when I am logged in.
13:06 AlexDaniel m: my @a = [‘a’, ‘b’, <c d>]; say @a[2;1]
13:06 camelia rakudo-moar a68d91: OUTPUT«d␤»
13:06 lizmat .oO( maybe we need something other than RT  :-(  )
13:06 AlexDaniel m: my @a = [‘a’, ‘b’, <c d>]; say @a[;1]
13:06 camelia rakudo-moar a68d91: OUTPUT«Non ast passed to WANTED: BOOTInt␤Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Weird node in analyze: BOOTInt␤===SORRY!===␤Unknown QAST node type BOOTInt␤»
13:07 arnsholt So the thing that triggers the error is if there's nothing before the semicolon, presumably?
13:10 nanis Ooooops! I didn't see the `next` in column 196 ...
13:11 AlexDaniel lizmat: thanks. I was playing around with it today and it only confirmed my dissatisfaction. For example, I cannot find a way to filter “Unowned tickets” section to just perl6 queue (I'm not interested in perl5 bugs). I even tried to “order by“ by queue but then some pugs bugs appeared. And when I click on perl6 queue the list is reversed so I have to sort it by ticket number. Perhaps there is a way to get it right but it's definit
13:11 AlexDaniel beyond me.
13:11 lizmat hmmm...  AT-POS on a shaped array with 1 dimension is 60x slower than without shape: I guess there is room for improvement there
13:12 timotimo yes, verily
13:12 pmurias nqp dynamic arrays can be used with the nqp shaped ones ops, not sure if it helps much
13:13 lizmat feels to me the AT-POS for 1 dimensions shapes should basically be: nqp::atpos, check bounds if a null was returned?
13:14 RabidGravy joined #perl6
13:14 * lizmat starts trying to wrap her head around shaped arrays
13:16 pmurias nqp/t/moar/02-multidim.t contains a bunch of tests for the shaped arrays at low level
13:17 pmurias nqp::atpos can be used for the 1 dimensional ones
13:22 apiw joined #perl6
13:22 jnthn The shaped arrays code in Rakudo is very much "make it work" 'cus that's all I had time to do :)
13:22 jnthn The underlying design at the VM level supports "make it fast" better
13:22 lizmat yeah, got that  :-)
13:22 jnthn We may want to break up the multi-dim from the shaped
13:22 jnthn So that the role we mix in doesn't override the AT-POS and so on for 1-dim shapes
13:22 jnthn But we do always get the push/pop etc. throw methods
13:24 nine AlexDaniel: Tickets/New Search in the menu gives you a great many options for filtering and sorting tickets
13:24 El_Che There is a huge thread on perl6 github issues page about the bug tracker:  https://github.com/perl6/user-experience/issues/8
13:24 AlexDaniel nine: so I should create a custom search query and then list that query on the main page?
13:25 nine AlexDaniel: yes, you can turn any saved query into a panel on your main page ("Home" in the menu and otherwise called "RT at a glance")
13:26 AlexDaniel nine: also, is there any way to change the “New ticket in” default behavior? I'm pretty sure that one day I'll report a perl6 bug in perl5 queue and people will get mad at me
13:26 uruwi joined #perl6
13:27 nine AlexDaniel: I don't think so. The list ist simply sorted alphabetically
13:27 nine AlexDaniel: your desired search is Owner = 'Nobody' AND Queue = 'perl6' and ( Status = 'new' OR Status = 'open')
13:28 AlexDaniel yeah I see
13:36 dalek rakudo/nom: 08710a2 | lizmat++ | src/core/Array.pm:
13:36 dalek rakudo/nom: Mark private method as not returning anything
13:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/08710a2bbd
13:36 lizmat afk&
13:41 d4l3k_ joined #perl6
13:42 luiz_lha joined #perl6
13:42 AlexDaniel m: min(+'a', +'a').say
13:42 camelia rakudo-moar 0b3beb: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)␤  in block <unit> at /tmp/hrNGXUgZPH line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/hrNGXUgZPH line 1␤␤»
13:43 AlexDaniel m: say min()
13:43 camelia rakudo-moar 0b3beb: OUTPUT«Inf␤»
13:43 AlexDaniel m: say max()
13:43 camelia rakudo-moar 0b3beb: OUTPUT«-Inf␤»
13:43 AlexDaniel hehe
13:43 polyfloyd joined #perl6
13:44 AlexDaniel I see why it does that, but… perhaps max without args should return Inf? :)
13:45 arnsholt Why should it ever return Inf?
13:46 [Tux] joined #perl6
13:46 dalek nqp: afe4963 | (Pawel Murias)++ | / (7 files):
13:46 dalek nqp: [js] Unbitrot webpack support.
13:46 dalek nqp:
13:46 dalek nqp: Using a setting, wrapping js values and making webpack serve source maps still NYI.
13:46 dalek nqp: review: https://github.com/perl6/nqp/commit/afe4963432
13:46 timotimo because Inf is the neutral element for min. for max, the neutral element is -Inf
13:46 timotimo that is, you can min($something, Inf) and always get $something
13:46 arnsholt timotimo: Exactly
13:47 arnsholt max() returning Inf would make absolutely no sense =)
13:47 timotimo if max() would result in Inf, you would get a different result for max($something) and max($something, max())
13:48 AlexDaniel m: my @a; say max @a
13:48 camelia rakudo-moar 0b3beb: OUTPUT«-Inf␤»
13:49 timotimo in other words, if you have an empty @a, and you add something to it, ideally you'd end up with a higher number than before for the maximum
13:49 arnsholt Which is the correct answer
13:50 AlexDaniel I know, I see why it does that
13:50 timotimo you could potentially be annoyed that it returns something that isn't an element of the list
13:50 timotimo but we do this for all(?) reduction-like things
13:51 masak I always think of max() as a number that *wants* to be as low as possible, but is forced upwards by elements in the list. no elements -- it can go all the way down to -Inf, like it has always dreamed of
13:51 arnsholt Yeah, that's a nice analogy
13:51 AlexDaniel okay, whatever, let's talk about this:
13:51 masak of course, that's also just a visceral way to express "-Inf is the unit of max()"
13:52 AlexDaniel m: say max NaN, Inf
13:52 camelia rakudo-moar 08710a: OUTPUT«NaN␤»
13:52 AlexDaniel m: say min NaN, Inf
13:52 camelia rakudo-moar 08710a: OUTPUT«Inf␤»
13:52 masak AlexDaniel: excellent question. :)
13:52 AlexDaniel that wasn't a question, but yeah. Why is it so?
13:53 arnsholt My gut-reaction is basically "Oh no, NaNs!" =)
13:53 masak AlexDaniel: somehow I don't feel NaN should be counted at all in max() and min()
13:53 masak AlexDaniel: the asymmetry you're seeing is because comparisons with NaN always yield False
13:53 AlexDaniel masak: either that or the answer should be NaN in both cases…
13:53 masak AlexDaniel: which gives the wrong answer for max but the right one for min
13:53 AlexDaniel ohhh, right
13:53 masak AlexDaniel: please submit a rakudobug! :D
13:53 timotimo we should obviously use the opposite comparison function for those
13:53 timotimo rather than negating the result
13:54 masak I think we should just filter out NaNs
13:54 timotimo could also do that
13:54 AlexDaniel m: say max NaN, Inf, -Inf
13:54 camelia rakudo-moar 08710a: OUTPUT«NaN␤»
13:54 AlexDaniel m: say min NaN, Inf, -Inf
13:54 camelia rakudo-moar 08710a: OUTPUT«-Inf␤»
13:54 masak NaN doesn't have a scalar magnitude that you can compare in a min/max operation
13:54 arnsholt Yeah, I think that sounds reasonable
13:55 masak that's what it means to not be a (real-valued) number!
13:55 arnsholt Although I'm generally wary about making pronouncements about anything involving NaNs, as they're generally a bit counter-intuitive
13:55 timotimo yeah, just like NULL in SQL
13:56 arnsholt That was exactly my follow-up comment!
13:56 arnsholt Just like nulls in ternary logic
13:57 timotimo "dunno"
13:57 vendethiel joined #perl6
13:57 arnsholt Yeah, you need to properly internalize the logic of how the various values interact
14:00 masak that's the problem with "safety vent" values like NaN and NULL and Nil and Failure. they're very useful when you do want to express failure, but (being naturally "sad paths") they tend to slip from people's minds when constructing the happy path, and show up as confusing/unexpected behavior
14:01 masak the solution, of course, is Option types. also known as the Maybe monad. but that's a pattern that can't be applied partially, or after the design of the rest of the language.
14:03 moritz so, let's design Maybe[Perl 6]
14:04 pmurias it should be mostly possibly as a slang
14:04 AlexDaniel m: my @a = NaN, Inf, -Inf; say NaN ~~ @a; say NaN == any(@a)
14:04 camelia rakudo-moar 08710a: OUTPUT«False␤any(False, False, False)␤»
14:04 AlexDaniel m: my @a = NaN, Inf, -Inf; say NaN === any(@a) # this works
14:04 camelia rakudo-moar 08710a: OUTPUT«any(True, False, False)␤»
14:04 M-eternaleye joined #perl6
14:05 AlexDaniel m: sub min(*@a) { return ‘Oh no, NaNs!’ if NaN === any(@a); max @a }; say min 3, 5
14:05 camelia rakudo-moar 08710a: OUTPUT«5␤»
14:05 AlexDaniel m: sub min(*@a) { return ‘Oh no, NaNs!’ if NaN === any(@a); max @a }; say min NaN, 5
14:05 camelia rakudo-moar 08710a: OUTPUT«Oh no, NaNs!␤»
14:06 AlexDaniel # ideas for Acme::NaNs
14:06 prammer joined #perl6
14:07 AlexDaniel notice how it returns a string, which makes it even funnier
14:13 M-matthew joined #perl6
14:13 M-Illandan joined #perl6
14:13 lizmat m: use nqp; say nqp::isconcrete(NaN)   # why not make that return 0 ?
14:13 camelia rakudo-moar 08710a: OUTPUT«1␤»
14:19 Actualeyes joined #perl6
14:19 [Coke] fyi, 6.c is not a tag, it's a branch, specifically so we can add errata.
14:19 [Coke] Feel free to change that.
14:20 arnsholt lizmat: NaN isn't a type object, so probably not a good idea
14:20 jnthn lizmat: Because isconcrete is an operation on objects, and NaN will be boxed to an instance
14:21 Ven joined #perl6
14:21 jnthn Also, isconcrete is *really* low level (and needs to be)
14:21 nine Someone at work just suggested using this slack thingy. Seems like I'll have to have a look at it afte all.
14:21 jnthn nine: Same at mine, but I avoided getting roped in so far ;)
14:21 arnsholt It's basically IRC for the enterprise, isn't it?
14:22 jnthn Something like
14:28 sufrostico joined #perl6
14:31 mspo same at my work
14:31 uruwi joined #perl6
14:31 mspo isn't this how git was adopted?
14:33 AlexDaniel except that git was not proprietary?
14:33 nine If it's even remotely like IRC, it won't help us a bit as it helps nothing with which part of which customer feedback is processed by whom and what the status is. IOW it won't give us project management.
14:34 mspo nine: it's just another chat client that supports some /commands
14:35 mspo nine: you can also post to it via curl
14:35 perlpilot I thought the appeal of slack was that it gave us visibility to a larger audience.
14:35 mspo so far the appeal has been "it works better on my phone"
14:36 perlpilot that too  :)
14:38 nemo mspo: funny. I do most of my IRC on my phone using connectbot ☺
14:38 nemo but I guess I'm a bit of a relic
14:39 nemo I'm pretty sure there are phone friendly setups using relays tho
14:39 mspo nemo: in my case it's vs jabber
14:39 nemo can ask my friends
14:39 nige1 joined #perl6
14:39 mspo and so far all xmpp phone apps have sucked
14:39 nemo AlexDaniel: it's funny. git isn't proprietary, but the main reason git dominates now is entirely due to the 100% proprietary github which standardised on git and nothing else
14:39 geekosaur (xmpp sucks, tbh)
14:39 mspo they can't seem to keep up with a 700+ list of people online or whatever
14:39 nemo AlexDaniel: open source world is crippled every time github goes down or gets blocked
14:40 mspo git was adopted due to loud mouth agitators in various companies
14:40 mspo like most technology- it's entirely trend-based
14:41 FROGGS though one could say that the github user interface is quite nice
14:41 ugexe github hit the sweet spot with functionality + UI
14:41 nemo *shrug*
14:41 nemo I don't use it enough to appreciate it
14:41 ugexe but now stagnate
14:41 nemo I know it is totally unusable in my tmux session
14:41 perlpilot .oO( git was adopted because the best open source software at the time was subversion and it sucked for merging )
14:41 mspo github?
14:41 apiw joined #perl6
14:41 nemo luckily I recently learned of some commandline tools to help w/ their lack of familiarity w/ progressive enhancement
14:42 mspo git also sucks at merging since it still uses merge3 and can corrupt files :)
14:42 nemo https://github.com/git-commands/
14:42 nemo mspo: I just find git profoundly unintuitive for a DVCS, and much prefer mercurial - actually I use mercurial as an interface to git which helps
14:43 mspo https://tahoe-lafs.org/~zooko/badmerge/concrete-good-semantics.html
14:43 FROGGS I prefer git over svn for a single reason: you cannot push while you are not on latest
14:43 nemo mspo: but there's also the problem w/ DVCS in general.  At work made some effort to switch and it would have required significantly more user training and fragmenting the repo
14:43 mspo nemo: it's hard to use; I don't think anyone denies that
14:43 nemo FROGGS: well... you can keep a local svn repo if you want
14:43 nemo but that's admittedly convoluted
14:44 nemo FROGGS: although. why would you not want to update to latest?
14:44 FROGGS nemo: I want all hackers to be forced to pull before pushing stuff
14:44 nemo https://bitquabit.com/post/unorthodocs-abandon-your-dvcs-and-return-to-sanity/  This probably sums up the situation at work
14:44 FROGGS nemo: git enforces that, svn doesnt
14:44 arnsholt nemo: Didn't they make local SVN repos significantly more git/hg-like in one of the more recent versions?
14:44 arnsholt ISTR reading about that
14:44 nemo arnsholt: there's only one .svn dir
14:45 nemo arnsholt: but it is still is not a DVCS
14:45 arnsholt Sure, sure
14:45 nemo arnsholt: the mapping between svn and hg is a lot better than between git and svn I learned tho, from my efforts at setting up a proxy
14:45 timotimo nemo: really, you prefer mercurial to git? last few times i tried to use mercurial, it drove me MAD. i ragequit working on an open source project because i just couldn't cope with the bullshit that mercurial did
14:45 timotimo i realize it's probably just personal preference, but ...
14:45 * nemo shrugs
14:46 nemo timotimo: funny. I have 'sact same reaction every time I'm forced to use git ☺
14:46 timotimo da-yum.
14:46 nemo also. ♥ hg grep --all
14:46 timotimo like, i accidentally commited stuff to the wrong branch
14:46 timotimo i was advised to just throw away the repo and clone it afresh
14:46 arnsholt But I guess we can all agree to hate SVN? =)
14:46 nemo O_o
14:46 nemo timotimo: what? that's just stupid
14:46 timotimo and the other devs keep a fresh clone around locally for making fresh clones easier
14:46 nemo who told you that
14:46 timotimo i think it was when i worked on pypy, or perhaps it was when i was working on xmms2?
14:47 * nemo shrugs
14:47 timotimo (i contributed only tiny amounts to either of those projects)
14:47 * colomon is okay with svn, but slowly transitioning his personal repos over to git.
14:47 timotimo but the amount of force mercurial applies against you when it thinks you're going to do something you don't want to ... is impressive
14:47 arnsholt colomon: After a long time away from SVN, going back to it drove me completely nuts
14:47 arnsholt Figuring out how to use git-svn saved me a lot of hair-pulling
14:47 timotimo git is so much nicer in that regard
14:48 timotimo </rant>
14:48 nemo timotimo: hm. not too sure what you mean by that, but, yeah, I find git commands to be unintuitive and unnecessarily convoluted.  I can explain to a graphics designer how to handle svn pretty trivially
14:48 nemo mercurial w/ a little more effort
14:48 nemo git. lol.
14:48 nemo talk about throwing away local clone and recreating
14:48 arnsholt Yeah, the UI of git is atrocious. Just a complete mess
14:48 timotimo yeah, kind of
14:48 nemo UI and commandline
14:49 nemo but the fun rant at the url I posted above kinda covers that too
14:49 timotimo but at least it lets me do shit i want to do, rather than trying to prevent me from doing shit i want to do
14:49 brrt joined #perl6
14:49 colomon arnsholt: the nice thing about svn is I mostly understand it all.  after six years of using git I still routinely google for “how to X in git”.
14:49 colomon arnsholt: but I definitely like git better.
14:49 nemo colomon: yeah. that's what I loved about mercurial.  if I wanted to use it like svn, it would not stop me
14:49 jnthn Odd, git is the first version control system where I feel I understand what's going on inside of it :)
14:49 nemo colomon: that's probably why the svn repo maps so well to it
14:50 nemo colomon: in fact most commands are same apart from the DVCS aspects
14:50 nemo and ofc svn was same as cvs
14:50 jnthn It's just a DAG where each node points to a tree, and a set of tools to manipulate those data structures. :)
14:50 arnsholt I'm not sure I understand how git works, but after some years in Perl 6 land, I've learned how to do pretty much all the tasks I've come to want
14:50 timotimo yeah, that's what i like about git
14:50 nemo see? obvious. no problem teaching that to a graphics designer
14:50 timotimo every feature really comes down to that DAG kind of deal
14:50 nemo
14:51 jnthn Yeah, DAGs and trees are just about impossible to visualize. :P
14:51 brrt o.O
14:51 arnsholt nemo: Yeah, I wouldn't *dream* of foisting git on non-technical people
14:51 timotimo yeah, it's really bad because trees aren't anywhere in our real reality
14:52 brrt sarcasm detector initialisation process incomplete
14:52 nemo arnsholt: mhm.  Mercurial at least has a shot, but, yeah, when I investigated work repo, I wasn't about to foist 20 gigabyte clones on people
14:52 timotimo hey brrt :3
14:52 nemo arnsholt: and there was like 0 advantage to fragmenting the repo
14:52 brrt could not open file: /usr/share/sarcasm
14:52 jnthn brrt: Yes, I was doing sarcasm. Always dangerous on IRC :)
14:52 brrt :-)
14:52 nemo arnsholt: obv the situation in FOSS is different
14:52 arnsholt Yeah, with existing stuff there's a high cost to moving
14:52 brrt i was not seeing it at first
14:52 jnthn All that said, I agree the git command line interface is horribly inconsistent
14:52 arnsholt I still remember Parrot's move from SVN to git...
14:53 jnthn Some things use subcommands. Some don't. grmbl.
14:53 * jnthn has created a branch called "delete" a rew times :)
14:53 jnthn *few
14:53 mspo arnsholt: how did it go?
14:53 arnsholt Well, it happened in the end =)
14:53 brrt aye.. and i don't think it's likely a): that anybody will fix it b): that anyone will switch to another system by the virtue of a consistent command line
14:54 mspo fossil is nice
14:54 brrt therefore, we will be stuck with git for some time :-)
14:54 arnsholt brrt: Not to mention that fixing it will mean breaking absolutely all of the things
14:54 arnsholt From scripts to people's muscle memory
14:54 brrt interesting how that works
14:55 nemo brrt: I just use an hg-git bridge and call it a day
14:55 nine jnthn: our trees are completely incomprehensible for the layman because the latter thinks trees grow bottum up, while we all know that the root is on top. I don't know how we could fix this common misconception.
14:55 hoelzro mspo: I've been thinking about trying to use Fossil more
14:56 * brrt is thoroughly confused now
14:56 hoelzro I think an alternative frontend to Git that just uses git's plumbing would be welcome
14:56 hoelzro smooth over some of those interface issus
14:56 mspo hoelzro: it's really good for "personal stuff" since it self-hosts the entire project (bugs, website, and code)
14:56 brrt also, for pedantry's sake, trees grow on both ends
14:56 brrt hoelzro: will never work
14:56 mspo hoelzro: but only about 1/100 people have heard of it
14:56 hoelzro brrt: why not?
14:56 nemo mspo: I've heard of it
14:56 mspo tig is an alternative interface to git
14:56 jast there are plenty of alternative frontends to git
14:57 nemo 1/100 in what community?
14:57 hoelzro mspo: it definitely has an appeal
14:57 hoelzro oh, tig is very nice
14:57 ugexe (the official github ui for windows is actually good)
14:57 arnsholt A well-designed porcelain to git might work. But there's the inertia problem
14:57 brrt because there will be $feature that is not in $frontend but in git and $organisation requires its use
14:57 brrt or $workflow, for that matter
14:57 mspo tortoisesvn is the best interface I've seen
14:57 hoelzro so if a feature isn't in $NEW_INTERFACE, use regular git for that feature
14:57 hoelzro look at me, advocating a non-existent $NEW_INTERFACE =P
14:57 brrt in which case folks will have to learn both interfaces and forget about $glossy-interface
14:58 hoelzro I see what you're saying
14:58 brrt there is a reason why the porcelain-space is much more fluxy than git core
14:58 brrt actually, i'm also kind of wrong
14:58 khw joined #perl6
14:59 brrt lots of kids use whatsitcalled... sourcetree and never learn the first thing about git command lines
14:59 hexhaxtron_ joined #perl6
14:59 peteretep the time I spent really getting to grips with the git object model has been rewarded many many times over
14:59 peteretep My use of the porcelain is still pretty basic
15:00 jast git isn't very beginner-friendly, but it's extremely expert-friendly
15:00 nemo yeah. that's probably why I prefer mercurial. I just don't have the desire to be a VCS expert
15:00 nemo and svn
15:00 jast to be fair, though, all the most common things aren't actually difficult in git, just the edge cases
15:00 [Coke] -i- remember parrot's move from cvs to svn!
15:01 nemo also. dislike social coding and sites that require a full browser to operate, so probably will never be a big github person which is the other big reason to use git
15:01 [Coke] (i'm kidding, that was actually too long ago. but I'm pretty sure I was around)
15:01 brrt hmm... i'd argue that git expert ness isn't actually that different from good-grasp-of-cs
15:01 jast there is some overlap, definitely
15:01 mspo jast: I think the main issue is how easy it is to screw up
15:01 brrt therefore the investment in being a 'git expert' is pretty small for most, which also explains its uptake
15:01 nemo brrt: ok. minor minor example.  in svn and mercurial, coworker commits something, I pull/update, I want to know what they changed, I'd  type hg diff -c revision or svn diff -c revision
15:01 [Coke] we are actually moving a bunch of dev teams here from * to git... and I'm basically going to force the gitflow workflow on them, so they don't hurt themselves.
15:02 brrt git log -p
15:02 nemo brrt: any git person I talked to would tell me. duh, that obviously won't give you the last set of changes
15:02 hexhaxtron_ left #perl6
15:02 brrt -p for 'patch'
15:02 nemo there's no imposed linear history like in those 2
15:02 nemo brrt: and yeah, they gave me the commands, but again, diff -c was something I was familiar w/
15:02 brrt no.. that is by design :-)
15:02 jast git diff <old commit>. simple.
15:02 nemo I didn't want to learn a whole new set of commands
15:02 brrt git diff HEAD~1
15:02 jast pretty much identical
15:02 brrt oh come on.. that is unreasonable
15:02 brrt things change
15:03 nemo brrt: they don't have to. the mercurial guys made the effort. that was nice of 'em
15:03 domidumont joined #perl6
15:03 brrt lots of people have made the effort to porcelain git so that it looks like svn
15:04 nemo brrt: obviously they change some. had to learn some new stuff when cvs appeared, then svn, but it was a lot more incremental
15:04 nemo brrt: going from rcs to cvs to svn to hg  has been a lot smoother a transition
15:04 nemo aaand to hg-git
15:04 brrt hmmm
15:04 nemo brrt: also... does git have anything like hg grep --all ? 'cause I use that alllll the time
15:04 brrt i can't really judge from my keyboard
15:04 mspo git grep
15:04 nemo mspo: no
15:04 brrt dunno what the --all flagdoes
15:05 timotimo brrt: i always git log -u, for --unified; didn't know about -p
15:05 nemo mspo: git grep doesn't search history
15:05 brrt i always use gitk
15:05 nemo mspo: at least, I couldn't find any flags for it
15:05 nemo gave up after 5m which is typical for me in git man pages
15:05 jast timotimo: they're exactly equivalent
15:05 brrt but in *general*, i think - no offense meant - that this is an unproductive discussion
15:05 brrt i mean, i can't make you like git
15:06 jast and you can't make me *not* like git :}
15:06 brrt i'd suggest that it is a reasonable investment of time, given that it gives you great power and flexibility and reliability, even
15:06 brrt but if you don't feel that way, fine :-)
15:07 jast fwiw the #git channel tends to be helpful
15:07 apiw joined #perl6
15:07 timotimo nemo: i think what you refer to with hg grep --all is git log --pickaxe
15:07 timotimo or what it's spelled
15:08 mspo nemo: git grep $firstcommit..  should probably do it
15:08 ivo_dev joined #perl6
15:08 mspo nemo: but you need to figure out the $firstcommit hash to do some kind of treeish
15:08 jast pickaxe actually only returns commits that add or remove that particular string, not the commits in between
15:08 nemo timotimo: hm. will try that out
15:09 dalek doc: 53de585 | (David Brunton)++ | doc/Type/Supply.pod:
15:09 dalek doc: link to Block
15:09 dalek doc:
15:09 dalek doc: Was displaying the link instead of linking the display.
15:09 dalek doc: review: https://github.com/perl6/doc/commit/53de5851dc
15:09 dalek doc: 0604745 | (Zoffix Znet)++ | doc/Type/Supply.pod:
15:09 dalek doc: Merge pull request #390 from dbrunton/patch-7
15:09 dalek doc:
15:09 dalek doc: link to Block
15:09 dalek doc: review: https://github.com/perl6/doc/commit/060474584a
15:09 ivo_dev left #perl6
15:09 arnsholt Pickaxe greps in the *diffs" of the commits which is sort of, but not exactly the same. mspo's solution is probably the closest option
15:10 jast no, it greps in the diffs, *minus* context lines
15:10 arnsholt (Reading the manpage, since I was't familiar with pickaze)
15:10 jast git grep doesn't traverse history AFAIK
15:10 arnsholt Well, it's still not exactly the same, since it'll match removed lines too
15:10 arnsholt git grep can take a list of commits to grep in as well
15:11 arnsholt So there's no convenient alias like --all to grep in all of the history, but it can do it
15:14 nemo arnsholt: also sounds like my habit of doing it as a quick dump of blame for a file by grepping just one or more files by glob would be tricky to do
15:14 nemo arnsholt: since it would search for that string anywhere in a diff, not just a single file?
15:16 arnsholt Well you can restrict git log to a particular set of files as well
15:17 apiw joined #perl6
15:24 musiKk joined #perl6
15:30 skids joined #perl6
15:35 brrt joined #perl6
15:36 domidumont joined #perl6
15:37 apiw joined #perl6
15:44 cdg joined #perl6
15:47 vendethiel joined #perl6
15:52 prammer regarding slack vs irc (from backlog)  https://drewdevault.com/2015/11/01/Please-stop-using-slack.html
15:56 timotimo it's good that we're using irc primarily for development and community, and only offer slack for people who want the extra coolness of slack
16:00 xiaomiao slack is bad, please don't enable others to use it
16:00 * xiaomiao suffers from it at work
16:00 perlpilot "slack is bad" is an over-simplification IMHO
16:01 xiaomiao perlpilot: it's shiny crap # better?
16:01 perlpilot entirely accurate, so yes :)
16:03 perlpilot But, for instance, if we're trying to get people to adopt Perl (5 or 6) there's a group of people that would use slack, but not IRC.  Sometimes these people are high enough up the technical ladder in their company that they can affect change and encourage adoption.  IF we *only* did IRC, it would be hard to reach these people.
16:04 jnthn There's more than one what to chat... :)
16:05 nemo FWIW, I asked koda what he uses for IRC, and he said colloquy which I guess is useless as a response for android users.
16:05 zakharyas joined #perl6
16:05 nemo appears to be iOS only
16:06 domidumont joined #perl6
16:06 gcole joined #perl6
16:08 skids .oO(So far MS Lync has not been forced down our throats here at work, thank goodness)
16:11 nekrodesk joined #perl6
16:11 xiaomiao chat on android ... that's a confusing concept
16:20 timotimo hehe.
16:20 timotimo you can have an external keyboard hooked up to your android device, you know ... :)
16:22 uruwi joined #perl6
16:25 pmurias the perl6 slack channel is #perl6?
16:26 apiw joined #perl6
16:26 DrForr Uh, you have to get an invite from someone, I think. And it's a cluster of channels.
16:27 timotimo yeah, but we do have an invitation site that you can just put your e-mail address into to get an invite
16:28 Actualeyes left #perl6
16:28 Skarsnik joined #perl6
16:28 Skarsnik Hello
16:29 timotimo greetings Skarsnik
16:30 timotimo http://perl6.bestforever.com/ <- pmurias
16:41 apiw joined #perl6
16:43 vendethiel joined #perl6
16:47 virtualsue joined #perl6
16:50 abaugher joined #perl6
16:55 nige1 joined #perl6
16:56 Hotkeys Morning perlers
16:56 Hotkeys Got here just in time to say morning
16:57 jdv79 barely
17:01 M-matthew joined #perl6
17:06 [Coke] S99:UGT
17:07 timotimo [Coke]: sorry, i haven't set up synopsebot yet
17:07 timotimo poke me about that again soon? :S
17:08 [Coke] %after 30m poke timotimo
17:09 moritz now is "soon", no? :-)
17:09 stmuk_ does moar need an executable stack? linux grsecurity/pax doesn't seem to like it
17:10 timotimo moritz: ;)
17:10 timotimo stmuk_: i think we might need it for dyncall/libffi, but not for our JIT because those pieces are on the heap
17:16 apiw joined #perl6
17:19 MadcapJake [Coke], any update on @perlhex?
17:20 uruwi joined #perl6
17:23 gcole joined #perl6
17:24 vendethiel joined #perl6
17:24 jdv79 how can you run without a stack?
17:25 timotimo jdv79: can't tell if sarcasm :)
17:25 jdv79 none
17:26 jdv79 i've never heard of running without a stack
17:26 jdv79 not moar.  just in general.
17:26 timotimo well, the question was about "executable stack"
17:27 prammer joined #perl6
17:27 timotimo but AFAIK, the absolutely earliest stage of turning on a computer are about running on the CPU without access to the RAM, which first uses only registers and code from a ROM and then setting up the caches as ram-replacement
17:27 timotimo turning on a cpu*
17:28 ilmari jdv79: stmuk_ was asking about the stack being executable, not its existence
17:29 pmurias joined #perl6
17:29 timotimo non-executable stack can make abusing stack overflows a bit harder, but there's Return Oriented Programming, which nullifies that benefit again :(
17:31 apiw joined #perl6
17:32 jdv79 i read his question wrong.  cool.
17:33 ilmari yeah, ROP defeats most kinds of non-executable-memory-based mitigations
17:33 ilmari e.g. W^X
17:34 SCHAAP137 joined #perl6
17:35 jdv79 how about don't overflow in the first place:)
17:35 stmuk_ don't use C you mean?
17:35 ilmari rewrite moarvm in rust!
17:35 jdv79 maybe.  or be like djb.
17:36 stmuk_ a nutter :)
17:36 timotimo how much does ASLR help against ROP? i suppose if you have the application itself in a fixed location (because only libraries are relocated, right?) that part can still be abused without changing the shellcode?
17:37 jnthn It'd be interesting to know what exactly needs the executable stack.
17:37 jnthn As timotimo said, I don't think it's the JIT. My *guess* would be that if anything actually needs it at all, it's for supporting callbacks from C code
17:37 prammer joined #perl6
17:37 Vitrifur joined #perl6
17:38 timotimo jnthn: and can't we still just place that stuff on the heap?
17:38 nemo ilmari: funny you should bring up rust
17:38 nemo ilmari: did you ever read http://os.phil-opp.com/remap-the-kernel.html ?
17:38 nemo it's stuff I've never really learned, but he made it super readable.
17:38 nemo "Unfortunately stack probes require compiler support. They already work on Windows but they don't exist on Linux yet."
17:39 jnthn timotimo: The thing I'm talking about would be inside libdyncall or libffi
17:39 timotimo oh, damn
17:40 ilmari nemo: I haven't really looked much at rust at all, but I keep thinking I should
17:41 nemo ilmari: https://github.com/carols10cents/rustlings
17:41 nemo can try right now!
17:41 nemo ilmari: also. one neat thing about the rust docs, is that a lot of the code samples have run buttons to try 'em out immediately
17:43 nemo ilmari: for example... https://doc.rust-lang.org/std/primitive.array.html  hover over the code in a JS enabled browser and click Run
17:43 stmuk_ I saw one of the rust people speak at FOSDEM a year or two back and his slides were unreadable ... he said he had found a bug in rust generating them :)
17:44 nemo heh. well, I've hung out here long enough to encounter bugs discovered when feeding stuff to the bot ☺
17:44 nemo stmuk_: aaand I'm sure some people out there debate the readability of perl6 too
17:44 nemo me, I love 'em both
17:45 buharin joined #perl6
17:45 nemo I like having syntax to annotate the code.  ♥ {}  - for me, reading, oh, python, is like reading English without capitalisation or punctuation.
17:45 stmuk_ nemo: I meant the HTML of the slides was actually corrupted not just unreadable code
17:46 nemo ah
17:46 Hotkeys this golf questioner is smart http://codegolf.stackexchange.com/questions/71673/golf-me-a-random-dubstep-of-the-day-list
17:46 Hotkeys outsourcing creation of a useful script
17:47 nemo hah
17:47 nemo Hotkeys: I dunno. random playlists has always been something I used shellscript for
17:47 nemo hardly seems worth even breaking out perl
17:48 Hotkeys I was gonna
17:48 Hotkeys because more rep
17:48 Hotkeys but idk
17:48 Hotkeys seems like actual effort
17:48 timotimo "You may not use builtins for array shuffling"
17:48 stmuk_ hmmm maybe Alpine Linux will alert about one of the tests under the moar 3rdparty stuff
17:48 Hotkeys oh I didn't see that timotimo
17:48 Hotkeys that's even worse
17:49 Hotkeys does pick(*) count as an array shuffle builtin
17:49 timotimo i would say so
17:49 Hotkeys m: my @a = 1..10; say @a.pick(*)
17:49 camelia rakudo-moar 08710a: OUTPUT«(8 2 7 5 3 6 4 10 1 9)␤»
17:49 Hotkeys :p
17:49 rindolf joined #perl6
17:51 Hotkeys Yeah I'm not gonna bother with that one
17:52 Hotkeys not allowing builtins for shuffling is lame
17:55 timotimo m: my @a = 1..10; say @a.sort({rand});
17:55 camelia rakudo-moar 08710a: OUTPUT«(1 3 9 10 2 8 4 6 5 7)␤»
17:55 timotimo ^- does this count?
17:55 Hotkeys heh
17:55 vendethiel joined #perl6
17:56 nemo timotimo: yeh. that's the JS option due to lack of builtin
17:57 nemo that is.. [].sort(function(){ return (Math.random()-0.5) }
17:57 kent\n joined #perl6
17:57 kent\n joined #perl6
17:58 timotimo ah
17:58 Juerd So much typing...
17:58 timotimo well, my line actually does the schwartzian transform
17:58 Juerd function(), return...
17:59 timotimo Juerd: could also () => (Math.random()-0.5) instead
17:59 Juerd timotimo: I wonder if it can still be called that.
17:59 Juerd timotimo: Given ES6, yes.
18:00 timotimo i refuse to consider "no ES6 features allowed" valid as "programming javascript"
18:00 Juerd You're obviously not building websites for broad audiences then :P
18:01 timotimo there is babelify with es2015 preset
18:02 Juerd Yeah, currently we're not using any translator or minimizer
18:02 Juerd I think I'd like to use that, but on the other hand, not having sane line numbers would drive me mad.
18:05 pmurias joined #perl6
18:17 Laurent_R joined #perl6
18:19 vendethiel joined #perl6
18:19 Hotkeys can I map over an array with overlaps
18:19 Hotkeys ie take two values
18:19 timotimo there ought to be a "sourcemap" mode for browserify
18:19 Hotkeys but still go one at a time
18:20 Hotkeys two in the map*
18:20 timotimo that's exactly what rotor is for
18:20 gfldex m: my @a = 1..10; my @b = do for @a -> $x1, $x2 { $x1 + $x2 }; dd @b;
18:20 camelia rakudo-moar 08710a: OUTPUT«Array @b = [3, 7, 11, 15, 19]␤»
18:20 gfldex Hotkeys: ^^^
18:20 apiw joined #perl6
18:21 timotimo that's not what hotkeys wants
18:21 Hotkeys that's going two at a time
18:21 Hotkeys I know rotor
18:21 timotimo m: my @a = 1..10; my @b = do for @a.rotor(2=>1) -> $x1, $x2 { $x1 + $x2 }; dd @b;
18:21 camelia rakudo-moar 08710a: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in code  at /tmp/w7VYzXk3IF line 1␤  in block <unit> at /tmp/w7VYzXk3IF line 1␤␤»
18:21 timotimo oops
18:21 timotimo m: my @a = 1..10; my @b = do for @a.rotor(1=>2) -> $x1, $x2 { $x1 + $x2 }; dd @b;
18:21 camelia rakudo-moar 08710a: OUTPUT«Array @b = [2, 2]␤»
18:21 Hotkeys m: [1,2,3,4,5].rotor(2=>-1).say
18:21 camelia rakudo-moar 08710a: OUTPUT«((1 2) (2 3) (3 4) (4 5))␤»
18:21 Hotkeys I know this
18:21 Hotkeys but like
18:21 Hotkeys if I change 2
18:21 Hotkeys with the mpa
18:21 Hotkeys I want that in the next iteration
18:21 Hotkeys I almost want a sequence
18:21 Hotkeys but I'm mutating
18:21 timotimo oh, so you're not getting read-write containers there
18:21 timotimo that's interesting
18:22 timotimo i think that ought to work
18:22 Hotkeys like
18:22 Hotkeys I want to use the previous value in the array
18:22 Hotkeys to do something to the current position
18:22 Hotkeys I know I could loop over it
18:23 Hotkeys and do like @a[$_-1] #`(code) @a[$_]
18:23 Hotkeys but I was wondering if there's a better way
18:23 timotimo maybe we ought to give all array-y things a bit of a look-over for read-write-ness
18:24 Hotkeys I don't know in what situation a mutatey, overlappy map would be useful
18:24 Hotkeys but I was hoping to use something like it for this golf question
18:24 timotimo we don't really pay for keeping the mutable containers around
18:24 Hotkeys !!! NOT THAT WE SHOULD OPTIMIZE FOR GOLF !!!
18:24 timotimo because they basically already exist
18:24 Hotkeys but
18:25 Hotkeys seems like it might be useful idk
18:25 nebuchadnezzar joined #perl6
18:25 timotimo oh btw, if you don't spell "is rw" or <->, you won't get rwness at all
18:25 timotimo m: for [1,2,3,4,5].rotor(2=>-1) -> $a is rw, $b is rw { }
18:25 camelia rakudo-moar 08710a: OUTPUT«Parameter '$a' expected a writable container, but got List value␤  in block <unit> at /tmp/noYMIYCqti line 1␤␤»
18:25 timotimo m: for [1,2,3,4,5].rotor(2=>-1) -> ($a is rw, $b is rw) { }
18:25 camelia rakudo-moar 08710a: ( no output )
18:25 timotimo m: my @a = [1,2,3,4,5]; for @a.rotor(2=>-1) -> ($a is rw, $b is rw) { $a += $b }; say @a
18:25 camelia rakudo-moar 08710a: OUTPUT«[3 5 7 9 5]␤»
18:25 timotimo oh, neat!
18:25 timotimo see, it does already work!
18:26 timotimo m: my @a = [1,2,3,4,5]; for @a.rotor(2=>-1) -> ($a, $b) { $a += $b }; say @a
18:26 camelia rakudo-moar 08710a: OUTPUT«Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/_bdl6iYhvU line 1␤␤»
18:26 timotimo m: my @a = [1,2,3,4,5]; for @a.rotor(2=>-1) <-> ($a, $b) { $a += $b }; say @a
18:26 camelia rakudo-moar 08710a: OUTPUT«Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/8we5DQIOgu line 1␤␤»
18:26 timotimo not without the "is rw" in there
18:26 timotimo that's bad for golf
18:26 timotimo i wonder if <-> ($a, $b) can be made to work like that sanely
18:27 Hotkeys m: @a[$_] += @a[$_-1] for 1..@a
18:27 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NwzGR2udp7␤Variable '@a' is not declared␤at /tmp/NwzGR2udp7:1␤------> 3<BOL>7⏏5@a[$_] += @a[$_-1] for 1..@a␤»
18:27 Hotkeys angry
18:27 leont joined #perl6
18:28 Hotkeys m: my @a = ^5; @a[$_] += @a[$_-1] for 1..@a
18:28 camelia rakudo-moar 08710a: ( no output )
18:28 Hotkeys m: my @a = ^5; say (@a[$_] += @a[$_-1] for 1..@a)
18:28 camelia rakudo-moar 08710a: OUTPUT«(1 3 6 10 10)␤»
18:28 Hotkeys oh that doesn't work either
18:28 Hotkeys oh
18:28 Hotkeys yes it does
18:28 timotimo m: my @a = ^5; say @a[$_] for 1..@a
18:28 camelia rakudo-moar 08710a: OUTPUT«1␤2␤3␤4␤(Any)␤»
18:29 timotimo yeah
18:30 Hotkeys m: my @a = ^5; @a[$_] += @a[$_-1] for 1..^@a
18:30 camelia rakudo-moar 08710a: ( no output )
18:30 Hotkeys m: my @a = ^5; say( @a[$_] += @a[$_-1] for 1..^@a)
18:30 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zgYLXRWjvy␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/zgYLXRWjvy:1␤------> 3my @a = ^5; say( @a[$_] += @a[$_-1] for 7⏏1..^@a)␤»
18:30 Hotkeys m: my @a = ^5; say (@a[$_] += @a[$_-1] for 1..^@a)
18:30 camelia rakudo-moar 08710a: OUTPUT«(1 3 6 10)␤»
18:30 Hotkeys kool
18:30 timotimo yah
18:31 timotimo m: my @a = ^5; say (@a Z+ flat(1,@a))
18:31 camelia rakudo-moar 08710a: OUTPUT«(1 1 3 5 7)␤»
18:31 timotimo m: my @a = ^5; say (flat(0,@a) Z+ flat(@a))
18:31 camelia rakudo-moar 08710a: OUTPUT«(0 1 3 5 7)␤»
18:31 Hotkeys I'm not looking for just adding though
18:31 timotimo ah, that doesn't carry
18:31 Hotkeys just an example
18:33 gfldex m: my @a = 1..10; my @b; while @a[1] { my $x = @a.shift; my $y = @a[0]; @b.push($x+$y) }; dd @b;
18:33 camelia rakudo-moar 08710a: OUTPUT«Array @b = [3, 5, 7, 9, 11, 13, 15, 17, 19]␤»
18:34 Juerd m: say 1, * + ($ //= 2)++ ... 10
18:34 camelia rakudo-moar 08710a: OUTPUT«(1 3 6 10)␤»
18:35 Juerd m: say 1, * + ($ //= 2)++ ... 100
18:35 camelia rakudo-moar 08710a: OUTPUT«(1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210 231 253 276 300 325 351 378 406 435 465 496 528 561 595 630 666 703 741 780 820 861 903 946 990 1035 1081 1128 1176 1225 1275 1326 1378 1431 1485 1540 1596 1653 1711 1770 1830 1891 1953 2016 …»
18:35 Juerd :)
18:35 timotimo cool
18:35 hippie1 ow my brain
18:35 Juerd Nah, I don't like that it goes past 100 if it never matches it exactly :P
18:35 Juerd Other than that, yeah, cool.
18:35 Juerd hippie: Want an explanation? :)
18:36 hippie Juerd: I'm fuzzy on the $ //= 2 part.  Assuming //= is still defined-or, is $ some kind of mini state variable?
18:36 Juerd Yes, exactly that.
18:37 Juerd A variable without a name is still a variable in Perl 6. And it's implicitly a state variable.
18:37 timotimo a variable by any other name ... :)
18:37 Juerd Each bare $ is a separate state variable
18:38 Juerd I'm not fond of this feature because I don't like it when state is barely visible (I want to declare it, and give it a long name), but... since it's there, let's just use it :)
18:38 zakharyas joined #perl6
18:38 Juerd And it's quite okay for use in a list generator, I think
18:38 gfldex m: say 1, * + (state $long-name-for-Juerd //= 2)++ ... 100
18:38 camelia rakudo-moar 08710a: OUTPUT«(1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210 231 253 276 300 325 351 378 406 435 465 496 528 561 595 630 666 703 741 780 820 861 903 946 990 1035 1081 1128 1176 1225 1275 1326 1378 1431 1485 1540 1596 1653 1711 1770 1830 1891 1953 2016 …»
18:39 gfldex there you go
18:39 Juerd gfldex: Yeah, I know, but thanks anyway :)
18:39 hippie I think Perl 6's potential for golf-abuse is really going to give Perl 5 a run for it's $$$.
18:39 Juerd That ... 100 doesn't do what I expected it to do by the way :)
18:40 addison_ joined #perl6
18:40 Juerd So in real code, ... Inf might be a lot better :)
18:40 ggoebel16 joined #perl6
18:44 Hotkeys hippie: it already does
18:44 M-eternaleye joined #perl6
18:44 timotimo yeah, because perl6 refuses to try to intuit whether or not your generating code is monotonic or not
18:44 timotimo so you'll * > 100 instead
18:47 Hotkeys the place where you have to initilize positionals is interesting
18:47 Hotkeys m: {[@^a[$_]*=floor @a[$_-1]/@a[$_]+1 for 1..^@a]}([5,4,12,1,3])
18:47 camelia rakudo-moar 08710a: ( no output )
18:47 Hotkeys m: {[@^a[$_]*=floor @a[$_-1]/@a[$_]+1 for 1..^@a]}([5,4,12,1,3]).say
18:47 camelia rakudo-moar 08710a: OUTPUT«[8 12 13 15]␤»
18:47 Hotkeys I would have thought
18:47 Hotkeys it would be in the for bit
18:47 Hotkeys like for @^a
18:47 Hotkeys but nope
18:48 apiw joined #perl6
18:52 patrickz joined #perl6
18:55 vendethiel joined #perl6
19:03 timotimo i don't get what you mean, sorry
19:05 Hotkeys uh
19:05 Hotkeys so when you have a function and use the positional twigil ^ to declare variables
19:05 Hotkeys like
19:06 timotimo ah
19:06 Hotkeys yeah
19:06 FROGGS joined #perl6
19:06 Hotkeys I knew that you only need the twigil once
19:06 timotimo yeah, i think it wants to be earliest in a lexical sense
19:06 Hotkeys yeah
19:06 Hotkeys I didn't immediately assume that
19:06 Hotkeys so I did for @^a
19:06 timotimo right
19:06 Hotkeys and it got mad
19:06 Hotkeys but now I know
19:06 timotimo we don't do more than one parsing pass
19:06 Hotkeys fair enough
19:06 timotimo and when we see a lexical like $a, it has to be declared already, or we explode for you
19:07 Hotkeys lol
19:07 Hotkeys I also like abusing positionals
19:07 Hotkeys m: {(0,1,1,4,{$^b;$^d;3*$^c-$^a}...*)[0..$_]}
19:07 camelia rakudo-moar 08710a: OUTPUT«Use of uninitialized value of type Any in numeric context  in block  at /tmp/p5Xvb5qFHh line 1␤Use of uninitialized value of type Any in numeric context  in block  at /tmp/p5Xvb5qFHh line 1␤»
19:07 Hotkeys oops
19:07 Hotkeys m: {(0,1,1,4,{$^b;$^d;3*$^c-$^a}...*)[0..$_]}(10).say
19:07 camelia rakudo-moar 08710a: OUTPUT«(0 1 1 4 3 11 8 29 21 76 55)␤»
19:08 Hotkeys a nice abuse I think
19:08 Hotkeys for golf purposes
19:08 timotimo i don't call that abuse
19:08 khagan joined #perl6
19:08 Hotkeys maybe abuse is the wrong word
19:08 Hotkeys taking advantage maybe
19:10 domidumont joined #perl6
19:10 prammer joined #perl6
19:13 uruwi joined #perl6
19:13 sufrostico joined #perl6
19:18 vendethiel joined #perl6
19:23 timotimo for people not In The Know™, the lexicographic ordering can be surprising indeed
19:24 timotimo especially when you just turn a sub with two "human-readable" named positionals into $^foo and $^bar and then wonder what's going wrong
19:25 Hotkeys heh
19:26 Hotkeys I knew that they're organized by name
19:26 Hotkeys I just wasn't sure when they were 'initilialized'
19:26 Hotkeys er
19:26 Hotkeys i don't know what I was thinking when I typed that word
19:26 DrForr While I'm waiting for tonight's build, is there a way to use Perl6::Grammar on its own without invoking ::Actions, or at least let me add a Role that overrides them? I've looked at the existing pretty printers and they don't seem ery clean.
19:27 Hotkeys A grammar on its own just produces some matches
19:27 Hotkeys it's like a big regex
19:27 Hotkeys so you could use it on its own
19:27 DrForr I'm aware of that, I wanted to replace the actions with my own.
19:28 Hotkeys do youmean without having an Actions class?
19:29 Hotkeys I'm not sure what you're askin
19:29 DrForr I want to override the existing Perl6::Actions wit my own.
19:29 DrForr *with
19:29 Hotkeys http://docs.perl6.org/language/grammars#Action_Objects
19:30 arnsholt DrForr: Should just be a question of calling .parse or whatever method you want without an :actions parameter
19:30 Hotkeys like this?
19:30 Hotkeys arnsholt++
19:30 arnsholt Remember that a grammar and its actions class aren't intrinsically linked beyond the fact that you're generally going to want to use them together
19:31 lokien_ joined #perl6
19:31 DrForr One would think so, but that doesn't appear to be the case here. Let me look at what I've written again thoug.
19:31 DrForr *though
19:32 Hotkeys I misread your question, sorry
19:32 Hotkeys I read Perl6::Grammar as just like
19:32 Hotkeys you asking about grammars in general
19:32 DrForr Also keep in mind that Perl6::Grammar and ::Actions are NQP.
19:32 DrForr Aaah, yeah, I did mean exactly Perl6::Grammar.
19:32 Hotkeys You still should be able to use it like any grammar
19:33 Hotkeys then again I don't know too much about NQP
19:33 Hotkeys so I might be wrong
19:36 DrForr Right, I wasn't on crack, Perl6::Grammar loads Perl6::World which requires a Block symbol from somewhere. Maybe there's an actual grammar{} block hiding in there.
19:36 apiw joined #perl6
19:37 Hotkeys hmm
19:39 kurahaupo joined #perl6
19:39 timotimo we need that to allocate Block objects to hold code references
19:39 timotimo you can look for find_symbol to see what parts in particular need that
19:39 DrForr There's already a prettyprinter with the serious limitation of not being able to handle phasers because of how it loads the grammar. I thought that if I could load the grammar on its own I could dispense with that limitation.
19:40 DrForr Looking now.
19:40 lokien_ left #perl6
19:40 nekrodesk joined #perl6
19:42 DrForr experimental, use, label, what I'd expect from "load from outside" stuff. And there's a mixture of tokens, rules and methods in the grammar code itself which could get icky.
19:43 DrForr Maybe I can override TOP or something, there's a method already added that does braiding.
19:44 dalek ecosystem: f14ba76 | RabidGravy++ | META.list:
19:44 dalek ecosystem: Add Test::Util::ServerPort
19:44 dalek ecosystem:
19:44 dalek ecosystem: See: https://github.com/jonathanstowe/Test-Util-ServerPort
19:44 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/f14ba760f3
19:44 DrForr Aha, overriding TOP seems to do something worthwhile, at least it doesn't throw the error I was getting.
19:47 RabidGravy that ^ is my second dumbest module, but I didn't want to waste the code that I was going to write anyway :)
19:47 firstdayonthejob joined #perl6
19:49 ilmari RabidGravy: nooo, that's racy! at least make (and prefer) a version that returns the bound socket, not the port number
19:49 hoelzro +1 to that
19:49 * ilmari can't count the number of times the dancer and plack tests have failed at $ork because something else nicked the port number returned by Test::TCP
19:49 hoelzro makes me think of Test::TCP for Perl 5 - I would actually get random failures with TEST_JOBS>1
19:50 ilmari hoelzro: https://github.com/tokuhirom/Test-TCP/pull/48
19:50 hoelzro nice!
19:51 hoelzro an alternative would be a callback that is guaranteed to fail or have bound the bound number once it's exited
19:51 RabidGravy Well for what I want I need the number to pass to a separate piece of software to over-ride it's default port
19:51 ilmari and https://github.com/plack/Plack/pull/550
19:51 hoelzro so if you have to pass it to a child process, you could use that
19:52 prammer joined #perl6
19:52 geekosaur if you have the socketm you can get the port
19:52 geekosaur if you have the port, better hope the socket is where it's claimed to be
19:52 RabidGravy but then you can't start another server with the port
19:52 ilmari yes, ->sockport in perl5, I presume perl6's IO::Socket::INET has something similar
19:53 ilmari RabidGravy: unless it has a --sockfd argument or similar
19:53 hoelzro ilmari: it does, but iirc it's NYI
19:53 RabidGravy nope
19:54 hoelzro RabidGravy: nope to what?
19:54 ilmari hoelzro: there's a localport attribute, but it doesn't seem to get set when calling just .new(:listen)
19:54 hoelzro that's what I was thinking of
19:54 RabidGravy to being able to pass a file descriptor to an already opened socket
19:55 raiph joined #perl6
19:55 ilmari I don't know of anything that has that, but it would make race-free operation possible
19:55 hoelzro ah
19:55 hoelzro systemd and inetd do something similar to that, don't they?
19:55 ilmari or you could make it bind to a random port itself and output it
19:55 arnsholt DrForr: Oh, if you're trying to do static analysis-like things, remember that the grammar will cheerfully try to execute compile-time constructs; which may not be what you want
19:55 leont joined #perl6
19:55 ilmari inetd passes the socket as stdin/stdout
19:55 hoelzro oh, right
19:56 ilmari not sure how systemd socket activation does it
19:56 RabidGravy nope to that as well
19:56 arnsholt And which may or may not require the actions to be supplied too, come to think of it
19:56 ilmari probably an environment variable
19:56 ilmari RabidGravy: nope as in "the server doesn't do that" or "that won't work"?
19:56 DrForr arnsholt: Yeah, I'm prety sure that's what I'm running into.
19:56 DrForr *pretty
19:56 hoelzro I think that my $port = get-random-port(); loop { start-child-with-port($port); last; CATCH { $port = get-random-port() } } should do an adequate job for most things, no?
19:56 RabidGravy the "server doesn't do that"
19:57 DrForr Replacing method TOP() seems to help a bit, but not quite enough.
19:57 arnsholt DrForr: Yeah, not unlikely, I think. Of course, what you *might* want to consider in this case is seeing if it would be possible to refactor/extend the grammar so that it can be run in a "static analysis" mode
19:57 arnsholt Probably a non-trivial yak shave, though
19:59 raiph Hi #perl6. Is PERL6LIB no longer used in some/all scenarios?
19:59 yoleaux 02:33Z <awwaiid> raiph: Thanks for the comments, I've updated https://thelackthereof.org/Perl6_Colons
19:59 firstdayonthejob joined #perl6
19:59 hoelzro raiph: it should still work;
19:59 DrForr Nod. We'll need tooling like this eventually though, and I'd love to be able to instrument the grammar without having to assert that the code is compilable as well, through phasers.
20:00 musiKk joined #perl6
20:00 ilmari RabidGravy: actually, having something that implements the systemd socket activation protocol would probably be useful for a growing number of external servers
20:00 raiph hoelzro: Thanks.
20:01 arnsholt DrForr: Yeah, it might be a very useful feature to have. Might be useful to discuss it a bit with the chief Perl6::Grammar wranglers up front, though
20:01 arnsholt They may know of subtle stumbling blocks and such, which can save you some time
20:02 prammer joined #perl6
20:03 DrForr Yep. My primary goal is just to redecorate the grammar with a separate action tree, so I can do proper pretty-printing and such.
20:03 DrForr "just", he says.
20:05 RabidGravy ilmari, for reference this for a thing that needs to start up an instance of liquidsoap to test with and liquidsoap doesn't even have a command line switch to specify the port
20:05 arnsholt DrForr: A simple matter of programming! =D
20:05 RabidGravy it has to be inserted into the first script it runs
20:05 ilmari RabidGravy: eww
20:09 RabidGravy all good fun, it can take more than one script as either a filename or literal on the command line and evaluates them in order to build the environment
20:09 RabidGravy but as far as I know it's the only software that does quite what it does
20:10 DrForr Right now I'd settle for knowing how to pass a 'method MATCH(...)' with the proper signature.
20:12 dalek ecosystem: 4043373 | (Sterling Hanenkamp)++ | META.list:
20:12 dalek ecosystem: Switch to META6.json for IO::Glob
20:12 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/4043373ce8
20:12 prammer joined #perl6
20:13 yqt joined #perl6
20:13 patrickz Is there a reason for the "v6.c" tag existing in the rakudo repo? That tag collides with the versioning draft of jnthn.
20:16 buharin joined #perl6
20:17 kamel joined #perl6
20:19 jercos joined #perl6
20:19 Hotkeys who here knows how to use the $ state var
20:20 Hotkeys looking to use it in {my$f=0;@^a.map:{$ =$_*($ div$_+1)}}([5,4,12,1,3])
20:20 Hotkeys instead of $f
20:20 dupa joined #perl6
20:20 Hotkeys uh
20:20 Hotkeys I copied the wrong one
20:20 jercos m: {my$f=0;@^a.map:{$f=$_*($f+$_)div$_)}}([5,4,12,1,3])
20:20 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_1xlUfdUEX␤Missing block␤at /tmp/_1xlUfdUEX:1␤------> 3{my$f=0;@^a.map:{$f=$_*($f+$_)div$_7⏏5)}}([5,4,12,1,3])␤    expecting any of:␤        statement end␤        statement modifier␤        …»
20:20 jercos erm, and I copied the wrong one too
20:20 jercos haha
20:20 Hotkeys m: say {my$f=0;@^a.map:{$f=$_*($f div$_+1)}}([5,4,12,1,3]
20:20 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Qg1ex_E05D␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/Qg1ex_E05D:1␤------> 3a.map:{$f=$_*($f div$_+1)}}([5,4,12,1,3]7⏏5<EOL>␤»
20:21 Hotkeys m: say {my$f=0;@^a.map:{$f=$_*($f div$_+1)}}([5,4,12,1,3])
20:21 camelia rakudo-moar 08710a: OUTPUT«(5 8 12 13 15)␤»
20:21 Hotkeys there
20:21 Hotkeys that
20:29 * [Coke] has shared the keys with MadcapJake
20:35 [Coke] https://twitter.com/perlhex/status/697519103322542083
20:35 Hotkeys m: :256(12345)
20:35 camelia rakudo-moar 08710a: OUTPUT«This call only converts base-256 strings to numbers; value 12345 is of type Int, so cannot be converted!␤(If you really wanted to convert 12345 to a base-256 string, use 12345.base(256) instead.)␤  in block <unit> at /tmp/kPFpkAqGlS line 1␤␤»
20:35 Hotkeys m: :256<12345>
20:35 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2TLhC042Ne␤Radix 256 out of range (allowed: 2..36)␤at /tmp/2TLhC042Ne:1␤------> 3:256<12345>7⏏5<EOL>␤»
20:35 Hotkeys so angry
20:36 AlexDaniel Hotkeys: what characters did you expect beyond 36? :)
20:36 jnthn m: say :256[1,2,3,4,5]
20:36 camelia rakudo-moar 08710a: OUTPUT«4328719365␤»
20:42 Hotkeys unrelated
20:42 Hotkeys does p6 have something akin to python's divmod
20:43 arnsholt What does divmod do?
20:44 Hotkeys in perl 6 speak
20:44 Hotkeys it returns $a div $b along with $a mod $b
20:44 Hotkeys I realize I could create it easily but I was wondering if there was a builtin
20:47 Hotkeys ?p6> sub infix:<divmod> (Int:D $a, Int:D $b) {$a div $b, $a % $b}; my ($q, $r) = 11 divmod 3; say $q, say $r)
20:47 Hotkeys ugh
20:47 Hotkeys m: sub infix:<divmod> (Int:D $a, Int:D $b) {$a div $b, $a % $b}; my ($q, $r) = 11 divmod 3; say $q, say $r)
20:47 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4IWW2Rzyr4␤Unexpected closing bracket␤at /tmp/4IWW2Rzyr4:1␤------> 3y ($q, $r) = 11 divmod 3; say $q, say $r7⏏5)␤»
20:47 geekosaur well, simulate it
20:47 Hotkeys oops
20:47 Hotkeys m: sub infix:<divmod> (Int:D $a, Int:D $b) {$a div $b, $a % $b}; my ($q, $r) = 11 divmod 3; say $q, say $r
20:47 camelia rakudo-moar 08710a: OUTPUT«2␤3True␤»
20:48 geekosaur (most CPUs do both operations at the same time, so it makes some sense to expose it)
20:48 Hotkeys why 'True'
20:48 [Coke] you have a comma not a semicolon
20:48 Hotkeys oh
20:48 Hotkeys m: sub infix:<divmod> (Int:D $a, Int:D $b) {$a div $b, $a % $b}; my ($q, $r) = 11 divmod 3; say $q; say $r
20:48 camelia rakudo-moar 08710a: OUTPUT«3␤2␤»
20:48 Hotkeys there we go
20:48 Hotkeys thanks
20:48 dbrunton joined #perl6
20:49 Hotkeys it could have a different name or maybe a pretty op like /%
20:49 Hotkeys idk
20:51 geekosaur do either jvm or moarvm actually have that kind of operation? not clear to me it's worth having divmod if it doesn't let you avoid doing the division twice
20:51 dupa why perl won't use wigs?
20:51 lizmat good *, #perl6!
20:52 dupa wsgi
20:53 b2gills m: my ($q, $r) = 11 .polyod: 3; say $q; say $r
20:53 camelia rakudo-moar 08710a: OUTPUT«Method 'polyod' not found for invocant of class 'Int'␤  in block <unit> at /tmp/0Z38OdT45p line 1␤␤»
20:53 b2gills m: my ($q, $r) = 11 .polymod: 3; say $q; say $r
20:53 camelia rakudo-moar 08710a: OUTPUT«2␤3␤»
20:53 Hotkeys not oh
20:53 Hotkeys oh
20:53 Hotkeys that's undocumented
20:54 Hotkeys but thanks
20:55 b2gills m: say now.polymod: 1,60,60,24,365
20:55 camelia rakudo-moar 08710a: OUTPUT«(0.443069219589233 37 55 20 51 46)␤»
20:55 Hotkeys http://i.imgur.com/lUwf7Yw.png :(
20:55 Hotkeys m: say Int.polymod.perl
20:55 camelia rakudo-moar 08710a: OUTPUT«Invocant requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/dlU4eJ98G_ line 1␤␤»
20:56 Hotkeys m: say &polymod.perl
20:56 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fyYCZZ3cDq␤Undeclared routine:␤    polymod used at line 1␤␤»
20:56 Hotkeys m: Int.^find-method('polymod').perl
20:56 camelia rakudo-moar 08710a: OUTPUT«Method 'find-method' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/w6YoqIDe2g line 1␤␤»
20:56 Hotkeys er
20:56 Hotkeys m: Int.^find_method('polymod').perl
20:56 camelia rakudo-moar 08710a: ( no output )
20:56 Hotkeys m: Int.^find_method('polymod').perl.say
20:56 camelia rakudo-moar 08710a: OUTPUT«method polymod (Int:D $: +, *%_) { #`(Method|52462000) ... }␤»
20:57 b2gills m: .say for Int.can('polymod')>>.signature
20:57 camelia rakudo-moar 08710a: OUTPUT«(Int:D $: +, *%_)␤»
20:58 b2gills No need to resort to .^find_method when .can is more useful (it can "find" methods that are implemented by FALLBACK)
20:59 TestTest joined #perl6
20:59 TestTest Hm
20:59 AlexDaniel What a shiny IRC client: http://designers.im/
21:00 AlexDaniel Somehow I guess that it also has inline images: http://perl6.org/camelia-logo.png
21:00 AlexDaniel yup
21:03 jdv79 who is hanenkamp in here?
21:05 stmuk_ /j freebsd
21:05 stmuk_ oops
21:05 AlexDaniel I do agree that we have to support things besides IRC (TIMTOWTDI after all), but I don't understand why we should create a separate perl6 room in every existing chat system. Let's just bridge them all to this channel?
21:05 bazzaar joined #perl6
21:06 bazzaar \o
21:06 Hotkeys AlexDaniel: #lojban does this
21:06 Hotkeys would be good
21:07 AlexDaniel Hotkeys: how many non-irc thingies do they have bridged?
21:08 inokenty joined #perl6
21:09 Hotkeys I think two
21:10 jdv79 there's too many comm channels these days...
21:10 bazzaar IMHO, I find that the 'How to get Rakudo Perl 6' page is not a good advert for those looking to try out perl 6.
21:12 apiw joined #perl6
21:12 geraud joined #perl6
21:13 prammer joined #perl6
21:14 DrForr bazzaar: What turned you off about it?
21:15 timotimo AlexDaniel: as we grow more, it'll get really noisy in here if we bridge all everythings, eh?
21:15 AlexDaniel timotimo: it'll get just as noisy as if everyone joined this channel in IRC
21:16 apiw joined #perl6
21:17 bazzaar It seems to be a jumbled set of instructions first and foremost, never quite clear whether addressing Rakudo * or Rakudo compiler installation.
21:17 AlexDaniel We can create #perl6-offtopic or #perl6-2 or something if it gets really bad. And then we can bridge everything to these channels too!
21:17 Hotkeys Do we have other chat places?
21:17 AlexDaniel but until it is fine, let's not separate this channel into “slack perl6 room” and “irc #perl6
21:17 AlexDaniel I mean, while it is fine
21:17 Hotkeys Oh there's a slack?
21:17 AlexDaniel until it gets bad
21:18 Hotkeys Is there a slack module in the ecosystem yet
21:21 timotimo someone on the slack said "no"
21:21 Hotkeys Oh are you acting as the relay timotimo
21:21 Hotkeys Great now we don't need a bot
21:21 Hotkeys :p
21:21 nekrodesk joined #perl6
21:22 timotimo that was just from memory
21:22 Hotkeys Aw
21:22 addison joined #perl6
21:22 bazzaar Plus too much attempted on one page, I think. First page ought to be for newcomers to install Rakudo *, anyone else should click through to a different page with compiler installation details.
21:22 xenu so you also keep logs in your head
21:22 Hotkeys I might try my hand at making a module then
21:23 Hotkeys Because if we have a relay bot
21:23 Hotkeys It ought to be perl 6
21:24 flussence imo keeping #perl6 separate from the outside world is fine; we haven't had problems for lack of a direct line to the perl6 things on reddit/twitter/facebook
21:24 xenu bazzaar: perl6.org has simpler instructions
21:25 timotimo or github issue comments
21:25 xenu and probably newcomers will get to perl6.org, not rakudo.org
21:25 xenu i think
21:26 timotimo do we have a proper link from rakudo.org to perl6.org?
21:26 timotimo it probably ought to have something
21:28 timotimo especially for newcomers who come to rakudo.org first before having ever seen perl6.org
21:28 bazzaar xenu: third line of Perl6.org section "Installing from Source" points the user over to the said Rakudo web page
21:29 dolmen joined #perl6
21:29 bazzaar all very confusing!
21:30 b2gills I think that Rakudo Star needs to be prominent, and have something along the lines of "or you can get just the Rakudo compiler and build your own distribution from scratch"
21:30 AlexDaniel flussence: except that these are not irc-like
21:32 timotimo hm, how about we have a little widget on rakudo.org that shows a little timeline-like thing that shows what rakudo release, what rakudo star release, what we have a .msi for and what we have a .dmg for
21:32 ryan_ joined #perl6
21:33 Hotkeys flussence: I think it's more in reference to slack and other chats
21:33 timotimo since i have a graphics tablet nearby, i could totally whip something up in Paint
21:33 jercos So is there a clean reverse to :n[...]? It's fairly trivial to implement such a thing, but it seems like a language feature. :n(...) has .base, for example.
21:34 jercos m: say :2(128.base(2))
21:34 camelia rakudo-moar 08710a: OUTPUT«128␤»
21:35 jercos m: say :2[(-> $n is copy, $base {reverse gather while $n {take $n % $base;$n div= $base}})(128, 2)]
21:35 camelia rakudo-moar 08710a: OUTPUT«128␤»
21:35 Hotkeys Might want to use a bigger number :p
21:35 flussence m: say :16[97265465.polymod(16 xx *).reverse]
21:35 camelia rakudo-moar 08710a: OUTPUT«97265465␤»
21:35 bazzaar timotimo: that's good, it would help. Though the primary thing needs to be simple instructions to install Rakudo *, and not overly expose the newcomer to the compiler installation
21:36 Hotkeys Oh
21:36 nekrodesk joined #perl6
21:36 timotimo hm
21:36 Hotkeys m: 12345678910.polymod(256 xx *).reverse
21:36 camelia rakudo-moar 08710a: ( no output )
21:36 Hotkeys Can someone do that with say
21:36 Hotkeys It's a pain on mobile
21:37 timotimo well, on linux you still "grab tarball, configure, make install"
21:37 flussence m: 12345678910.polymod(256 xx *).reverse.say
21:37 camelia rakudo-moar 08710a: OUTPUT«(2 223 220 28 62)␤»
21:37 Hotkeys jercos:
21:37 Hotkeys The undocumented polymod saves the day again
21:39 jercos well yeah that's a cleaner deal...
21:39 prammer joined #perl6
21:39 Hotkeys Please to have documentation for polymod
21:40 jercos Hotkeys: it's in S32
21:40 Hotkeys (Someone who actually knows how to describe what it does because I don't)
21:40 Hotkeys Okay but
21:40 [particle]1 joined #perl6
21:40 mohae_ joined #perl6
21:40 Hotkeys It should be in docs.perl6.org
21:40 mattp__ joined #perl6
21:40 Hotkeys I'll look at doing a pull for it when I get home
21:40 risou_ joined #perl6
21:40 daxim how do I dynamically generate a `subset` type?  what's the mop invocation?
21:41 diego_k joined #perl6
21:41 mithaldu__ joined #perl6
21:41 DrParis___ joined #perl6
21:41 sQuEE` joined #perl6
21:41 peteretep_ joined #perl6
21:42 b2gills1 joined #perl6
21:42 mprelude_ joined #perl6
21:42 timotimo daxim: have a look at my ADT module
21:42 nebuchad` joined #perl6
21:42 timotimo it does that
21:43 kshannon_ joined #perl6
21:43 mkz joined #perl6
21:43 Brock joined #perl6
21:43 bazzaar how about camelia 'user' hand-held install, perl6 R* installs in your home dir, download this (the latest R*), open a terminal, cd to ... etc, run these commands, look out for failing tests, add perl6 / panda to your path like so, her's the REPL, run a perl 6 program like this, install an extra module like so .. etc
21:44 bhm joined #perl6
21:44 Rotwang_ joined #perl6
21:44 daxim Metamodel::SubsetHOW appears to be undocumented, is that intended?
21:44 apejens_ joined #perl6
21:44 apiw joined #perl6
21:44 lizmat daxim: probably not
21:44 moritz daxim: no; the whole MOP docs are just very incomplete
21:45 moritz I tried to cover the parts that I used occasionally, but my energy and time was limited
21:45 skids Well, how fixed is the MOP api?
21:46 woolfy joined #perl6
21:46 woolfy left #perl6
21:46 moritz as long as it's not spectested, not very much
21:47 moritz most parts aren't in the design docs either
21:47 moritz but, in practice, it changes little
21:47 skids It hasn't been through the sacred trials of bikesheddom either
21:48 woolfy joined #perl6
21:48 moritz and that's a good thing
21:48 moritz it's coherent, even if not always pretty
21:48 woolfy left #perl6
21:48 skids Wow, threaten to bikeshed the MOP and look what happens
21:48 burnersk joined #perl6
21:49 jnthn :P
21:49 flussence .oO( I thought nom *was* the bikeshedding )
21:49 dalek doc: 2f4b6cc | (David Brunton)++ | doc/Type/Any.pod:
21:49 dalek doc: Any and all.
21:49 dalek doc:
21:49 dalek doc: Looks like a copy/paste error.
21:49 dalek doc: review: https://github.com/perl6/doc/commit/2f4b6cc37b
21:49 dalek doc: bcb0fd2 | RabidGravy++ | doc/Type/Any.pod:
21:49 dalek doc: Merge pull request #391 from dbrunton/patch-8
21:49 dalek doc:
21:49 dalek doc: Any and all.
21:49 dalek doc: review: https://github.com/perl6/doc/commit/bcb0fd2275
21:49 moritz skids: woolfy had another disconnect two minutes prior :-)
21:49 hacst joined #perl6
21:49 Exodist joined #perl6
21:50 sno joined #perl6
21:51 ribasushi joined #perl6
21:51 pecastro joined #perl6
21:51 Woodi joined #perl6
21:54 anshin joined #perl6
21:54 jsimonet joined #perl6
21:54 drforr1 joined #perl6
21:55 Grauwolf joined #perl6
21:55 sortiz joined #perl6
21:56 caasih joined #perl6
21:57 olinkl joined #perl6
21:58 clkao joined #perl6
22:01 daxim rakudo: use v6; BEGIN { Metamodel::SubsetHOW.new_type( :name('Key96'), :refinee('Blob'), :refinement({$_.elems == 12}) ); } sub foo(Key96 $bar) { ... }
22:01 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Strange text after block (missing semicolon or comma?)␤at /tmp/tmpfile:1␤------> 3ob'), :refinement({$_.elems == 12}) ); }7⏏5 sub foo(Key96 $bar) { ... }␤    expecting any of:␤        in…»
22:02 daxim rakudo: use v6; BEGIN { Metamodel::SubsetHOW.new_type( :name('Key96'), :refinee('Blob'), :refinement({$_.elems == 12}) ); }; sub foo(Key96 $bar) { ... };
22:02 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Invalid typename 'Key96' in parameter declaration.␤at /tmp/tmpfile:1␤------> 3nt({$_.elems == 12}) ); }; sub foo(Key967⏏5 $bar) { ... };␤»
22:02 daxim where's my mistake? why is the type not available?
22:02 addison joined #perl6
22:04 [Coke] missing something compose like?
22:05 jnthn You didn't bind it anywhere
22:05 daxim how does that work?
22:05 jnthn Also refinee needs to be a type, not a type name
22:06 jnthn m: constant Key96 = Metamodel::SubsetHOW.new_type( :name('Key96'), :refinee(Blob), :refinement({$_.elems == 12}) ); sub foo(Key96 $bar) { ... }
22:06 camelia rakudo-moar 08710a: ( no output )
22:06 jnthn m: constant Key96 = Metamodel::SubsetHOW.new_type( :name('Key96'), :refinee(Blob), :refinement({$_.elems == 12}) ); sub foo(Key96 $bar) { ... }; foo([1]
22:06 camelia rakudo-moar 08710a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LSSJI4kJZb␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/LSSJI4kJZb:1␤------> 3 ); sub foo(Key96 $bar) { ... }; foo([1]7⏏5<EOL>␤»
22:06 bazzaar imho, it's all very well having a butterfly designed to appeal, but the installation guide is for the system admin ... almost
22:06 jnthn m: constant Key96 = Metamodel::SubsetHOW.new_type( :name('Key96'), :refinee(Blob), :refinement({$_.elems == 12}) ); sub foo(Key96 $bar) { ... }; foo([1])
22:06 camelia rakudo-moar 08710a: OUTPUT«Type check failed in binding $bar; expected Blob but got Array␤  in sub foo at /tmp/sIyq5K4rMY line 1␤  in block <unit> at /tmp/sIyq5K4rMY line 1␤␤»
22:06 jnthn Ah
22:06 spider-mario joined #perl6
22:06 jnthn m: constant Key96 = Metamodel::SubsetHOW.new_type( :name('Key96'), :refinee(Blob), :refinement({$_.elems == 12}) ); sub foo(Key96 $bar) { ... }; foo(('x' x 11).encode)
22:06 camelia rakudo-moar 08710a: OUTPUT«Constraint type check failed for parameter '$bar'␤  in sub foo at /tmp/BkNeWjx7hE line 1␤  in block <unit> at /tmp/BkNeWjx7hE line 1␤␤»
22:06 jnthn m: constant Key96 = Metamodel::SubsetHOW.new_type( :name('Key96'), :refinee(Blob), :refinement({$_.elems == 12}) ); sub foo(Key96 $bar) { ... }; foo(('x' x 12).encode)
22:06 camelia rakudo-moar 08710a: OUTPUT«Stub code executed␤  in sub foo at /tmp/W8441W__nd line 1␤  in block <unit> at /tmp/W8441W__nd line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/W8441W__nd line 1␤␤»
22:06 jnthn There :)
22:07 daxim great, thanks!
22:07 daxim assigning into a type identifier looks really weird to me
22:07 jnthn = on constant is binding really
22:08 jnthn You can write it as := if it makes you happier
22:10 Rotwang joined #perl6
22:11 [Coke] it's not a type identifier until you do that, if that makes you feel better.
22:12 lizmat m: sub a($a) { 42 }; for ^1000000 { a(666) }; say now - INIT now
22:12 camelia rakudo-moar 08710a: OUTPUT«0.2609628␤»
22:12 jnthn True...constant just introduces a symbol, up to you what you bind to it. :)
22:12 lizmat m: multi a($a) { 42 }; multi a($a,:$foo!) { 42 }; for ^1000000 { a(666) }
22:12 camelia rakudo-moar 08710a: ( no output )
22:12 lizmat m: multi a($a) { 42 }; multi a($a,:$foo!) { 42 }; for ^1000000 { a(666) }; say now - INIT now
22:12 camelia rakudo-moar 08710a: OUTPUT«0.34043487␤»
22:13 lizmat jnthn: don't you agree that these calls should be optimized to the same thing ?
22:14 jnthn lizmat: It'd be nice.
22:14 lizmat ok, so just a matter of NYI, right ?
22:14 jnthn lizmat: There's a couple of ways to do it: make spesh inlining better, or make static inlining better.
22:15 jnthn I suspect we'll get it through (a)
22:15 jnthn uh, through the first option
22:15 lizmat yeah, ok... I was just a bit taken aback by the difference in performance of "min @a" and "@a.min"
22:16 lizmat trying to fix that with a multi, only made things worse
22:16 lizmat so giving up on that now
22:17 bazzaar left #perl6
22:17 apiw joined #perl6
22:18 kamel joined #perl6
22:19 llfourn does anyone have an example of how to use %?RESOURCE
22:19 nebuchad` joined #perl6
22:20 Brock llfourn: I used it in Inline::Ruby somewhere, but I don't know how it worked... lemme see here...
22:20 llfourn nvm it's called %?RESOURCES apparently
22:20 Brock ah
22:20 llfourn Brock: I think I got it >.<
22:20 llfourn it even works with -Ilib things which is good
22:21 awwaiid fancy
22:21 awwaiid (had to change my nick back to the right one so our names line up better)
22:21 b2gills joined #perl6
22:22 llfourn d(o.o)b
22:23 camelia joined #perl6
22:27 jnthn sleep &
22:32 apiw joined #perl6
22:38 spider-mario joined #perl6
22:39 sortiz .
22:39 nekrodesk joined #perl6
22:39 diakopter .
22:56 vendethiel joined #perl6
23:11 AlexDaniel
23:12 apiw joined #perl6
23:12 kid51 joined #perl6
23:30 vendethiel joined #perl6
23:32 timotimo i just heard about google summer of code "starting" in february; is that about "organizations can now apply for slots"?
23:35 MadcapJake anyone know what's going on with the fosdem videos? still nothing at video.fosdem.org
23:37 Laurent_R joined #perl6
23:37 geekosaur timotimo, yes
23:37 geekosaur "We are now accepting applications from open source projects interested in participating as mentor organizations for Google Summer of Code 2016."
23:40 skids joined #perl6
23:45 MadcapJake What's this mean: http://video.fosdem.org/2016/h2214/STATUS.TXT
23:46 MadcapJake oh ok, at least they don't say `LOST`
23:46 * MadcapJake doesn't understand how videos get lost at these kinds of things
23:49 tardisx joined #perl6
23:49 timotimo MadcapJake: the number is still going up
23:50 timotimo i'm looking at the status.txt at least once a day
23:55 jdv79 what will it take to get rid of the hashed filenames?
23:55 timotimo FROGGS: i wonder if you'd want to bring Archive::Tar back to good health?
23:56 leont geekosaur: why am I worried the parrot foundation may be more successful in being accepted than anyone relevant to us :-/
23:56 jdv79 http://paste.scsys.co.uk/505241 looks like a mistake.  and on a wrapping term it looks worse.
23:57 ranguard joined #perl6
23:57 timotimo leont: i mean no disrespect to the parrot devs, but looking at what they've been putting out in recent months/the recent year doesn't make it seem likely to me
23:58 leont I can remember that some 2-3 years ago they got in yet Perl foundation didn't
23:59 timotimo 2-3 years ago there was still activity, no?

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

Perl 6 | Reference Documentation | Rakudo