»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
Xliff Something like that, except it was actually in usable code. 00:00
notviki Combine the above with sub EXPORT 00:01
samcv notviki, i've fixed the Line Feed one in branch of moar, just running spectest now
AlexDaniel commit: 2015.12,HEAD my @a[5] = 1, 2, 3, 4; for @a.values <-> $a { $a = 5 }; say @a
notviki Xliff: github.com/zoffixznet/perl6-SPEC-F...C/Func.pm6
committable6 AlexDaniel, ¦«2015.12»: [5 5 5 5 5]␤¦«HEAD»: X::TypeCheck::Binding exception produced no message␤ in block <unit> at /tmp/AfCMEECfKW line 1␤ «exit code = 1»
Xliff So %EXPORT::DEFAULT was defined in sub EXPORT and returned, I think. It bears testing, and I'm not there yet.
notviki Xliff: except instead of grepping methods you'd grep the stuff from that first link
00:01 lostinfog left
Xliff Yeah. 00:02
Well, we'll see.
I have starting point again. Thanks, vikiNotZoffixCollective
00:02 yyy joined, yyy left
notviki m: say +permutations(2000) 00:02
camelia rakudo-moar ca919d: OUTPUT«Cowardly refusing to permutate more than 20 elements, tried 2000␤ in block <unit> at <tmp> line 1␤␤»
Xliff vikiNotZoffixCollective++ # Especially for all the name mangling I've done.
notviki committable6: 6.c say +permutations(2000) 00:03
Xliff sub notviki is native is symbol('zoffix') is mangled is export { * }
committable6 notviki, gist.github.com/6cbb30e0536ec0da84...887b78e206 00:04
00:04 pierre_ left
notviki I guess it can be argued if all you ever want is the count, just use a factorial 00:04
AlexDaniel patience is a virtue :)
samcv m: use Test; ok unimatch("\x300F", "Pe"), "RIGHT WHITE CORNER BRACKET matches Pe";
camelia rakudo-moar ca919d: OUTPUT«ok 1 - RIGHT WHITE CORNER BRACKET matches Pe␤»
samcv crap I hate this moarvm bug so much
notviki And a list of 2432902008176640000 items is huge
samcv just like random which properties are not going to work
notviki Oh, I thought 6.c would just do the 2015.12 00:05
AlexDaniel but let's agree that the result is interesting :)
how long does it take 00:06
notviki Why is it interesting?
AlexDaniel committable6: 2016.07.1 say +permutations(2000)
committable6 AlexDaniel, gist.github.com/6072854b2c8fc7480b...8be64efb15
samcv :( {"Pe",10} {"Pe",17} in the same unicode database. and jnthn says it uses the one closest to the top
AlexDaniel because otherwise we wouldn't know that it was working at some point!
notviki AlexDaniel: well, the answer is 5736 digits in length 00:07
AlexDaniel committable6: 2016.07.1 say +permutations(2000) .chars
committable6 AlexDaniel, ¦«2016.07.1»: 5736
notviki (•_•) ( •_•)>⌐■-■ (⌐■_■)
AlexDaniel
.oO( why glasses? )
00:08
notviki Those are cool shades, bruh 00:09
00:09 Guest85106 left
notviki committable6: 2016.07.1 say +permutations(2000) 00:09
committable6 notviki, gist.github.com/ba8481cb23267f362e...2833da71d1
notviki Ah, I think earlier versions just didn't have .count-only 00:10
So it's timing out because it's trying to actually generate them all
AlexDaniel ya
m: say Numeric.new.succ
camelia rakudo-moar ca919d: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 82944 bytes␤»
AlexDaniel (old issue)
I wonder if there is a ticket for it
notviki Well, it's very prevalent 00:11
m: Numeric.new + 42
camelia rakudo-moar ca919d: OUTPUT«WARNINGS for <tmp>:␤Useless use of "+" in expression ".new + 42" in sink context (line 1)␤MoarVM panic: Memory allocation failed; could not allocate 131072 bytes␤»
notviki m: say Numeric.new * 42
camelia rakudo-moar ca919d: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 119536 bytes␤»
AlexDaniel m: Numeric.new != 0 00:12
notviki Bunch of stuff. I tries to get something sane to work with by coercing it to .Numeric, and gets the same thing back
camelia rakudo-moar ca919d: OUTPUT«WARNINGS for <tmp>:␤Useless use of "!=" in expression ".new != 0" in sink context (line 1)␤MoarVM panic: Memory allocation failed; could not allocate 131072 bytes␤»
notviki or rather, it doesn't get anything back, it keeps recursing, between Bridge I think and Numeric and until it runs out memory6 00:13
[Coke] samcv++ 00:14
yoleaux 23 Dec 2016 17:07Z <notviki> [Coke]: are you sure your new fuzzy search is working? I tried searching "trait-mod" and trait_mod does not show up. This is BEFORE I made the changes you'll see I have made by the time you read this, so I doubt it's me breaking anything...
23 Dec 2016 17:34Z <notviki> [Coke]: FWIW "var OK_distance = Math.min(max_distance, len -1);" is useless since the conditional above it guarantees len is > 2 so it won't be less than max_distance there. Dunno if this helps you debug whether the fuzzy search works
23 Dec 2016 17:39Z <notviki> [Coke]: oh, I guess len can be == 2 and then len -1 is 1.... never mind :)
AlexDaniel m: :0(12345)
camelia rakudo-moar ca919d: OUTPUT«This call only converts base-0 strings to numbers; value 12345 is of type Int, so cannot be converted!␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel ya, base-0
tailgate Can I express if $a between 1 and 4 in a particularly perl6 way, or is the obvious way the way to go?
samcv [Coke], RE which thing I said?
AlexDaniel tailgate: $a ~~ 1..4 ?
tailgate: 1 <= $a <= 4 ? 00:15
tailgate: which one of these is obvious? :)
tailgate the latter is the obvious way, the former is the perl6 way. Interesting. I need to read how smartmatch works
AlexDaniel I see no problem with 1 <= $a <= 4, looks perl6-ish enough 00:16
00:16 kyan joined
AlexDaniel commit: 2015.12,HEAD say 1.1e308 00:17
committable6 AlexDaniel, ¦«2015.12»: Inf␤¦«HEAD»: 1.1e+308
AlexDaniel interesting
notviki tailgate: umm... 1 <= $a <= 4 is also Perl 6 way, and faster too
That was a bug I fixed. 00:18
Nice one too
bisectable6: say 1.1e308 00:19
bisectable6 notviki, Bisecting by output (old=2015.12 new=ca919d9) because on both starting points the exit code is 0
notviki, bisect log: gist.github.com/9ab29ae7a7c6185d98...4a5cb3ec87
notviki, (2016-11-08) github.com/rakudo/rakudo/commit/72...cf911dd7cf
AlexDaniel haha, that diff
notviki Ah now I remember what it was :)
[Coke] samcv: your work on unicode stuff. thanks.
00:19 Actualeyes joined 00:20 Rawriful left
samcv you're welcome :) what do you think about the "\c[Whatever]" should it match unicode 1 names, or just the official alias names 00:20
[Coke] notviki: search for "trait-mod (declarator)"
samcv which are the same except without the (LF) after it.
00:20 facetious joined
[Coke] samcv: I'm not an expert, but the official aliases seems righter. 00:21
samcv yeah
notviki AlexDaniel: a better diff is for the .flat bug I did... It's just deleting a huge chunk of code, with zero additions :)
samcv i don't see anybody using "\c[LINE FEED (LF)]" like.. ever
notviki (I had to re-add it later due to lost performance, but still...)
samcv and just LINE FEED is already in roast
as is \c[LF] (also an official unicode alias)
[Coke] notviki: the problem is that the fuzzy search isn't a partial search. it's fuzzy on the whole thing. 00:22
notviki Oh not that huge: github.com/rakudo/rakudo/commit/61...1fe4e2cb5e
00:22 tailgate left
[Coke] so, it works, but not ideally. Please open a ticket in docs for the desired search improvements. 00:22
notviki Ah, ok, I get it now
[Coke] (and I'll try to make that work and also not break any of the other crap.)
00:22 Vasyl joined
[Coke] feels like he should have done a lot more perl 6 this week! 00:23
[Coke] has to go back to $DAYJOB tomorrow.
notviki too 00:29
And I butchered my sleep cycle... woke up a 1pm
AlexDaniel m: my int @a = ^Inf 00:30
camelia ( no output )
AlexDaniel m: my int @a = ^Inf; say @a
camelia rakudo-moar ca919d: OUTPUT«␤»
AlexDaniel like… did it just eat it?
notviki m: my int @a = ^Inf; put @a 00:32
camelia rakudo-moar ca919d: OUTPUT«␤»
notviki m: my int @a = ^Inf; put @a.elems
camelia rakudo-moar ca919d: OUTPUT«0␤»
notviki m: my int @a = Inf; put @a.elems
camelia rakudo-moar ca919d: OUTPUT«This type cannot unbox to a native integer: P6opaque, Num␤ in block <unit> at <tmp> line 1␤␤»
notviki shrugs
00:33 aindilis` joined
notviki hmmm... do I dare start another playthrough of Dragon Age Inquisition... 00:34
00:35 aindilis left
notviki 120 hours on previous playthrough... 00:36
AlexDaniel commit: 2015.12,HEAD my @a = 1,2,3,4; @a[1]:delete; say @a.splice; my @b = 1,2,3,4; @b[1]:delete; say @b.splice(0) 00:39
committable6 AlexDaniel, ¦«2015.12»: [1 (Any) 3 4]␤[1]␤¦«HEAD»: [1 (Any) 3 4]␤[1 (Any) 3 4]
AlexDaniel right
the current behavior is correct I guess
notviki There should be extremely thorough splice tests 00:40
Well, no, I guess not "extremely" :) 00:41
AlexDaniel except for this case probably?
notviki: perhaps you can check…
notviki grep delete S32-array/splice.t gives nothing 00:42
00:43 bartolin joined, jantore joined
AlexDaniel notviki: it would be nice to have one for this case 00:44
notviki yeah
m: my @a = 1,2,3,4; @a[1]:delete; say @a.splice; my @b = 1,2,3,4; @b[1]:delete; say @b.splice(0); say @b
camelia rakudo-moar ca919d: OUTPUT«[1 (Any) 3 4]␤[1 (Any) 3 4]␤[]␤»
notviki Yeah, the current result is correct.
notviki eats dinner first, then will add a test 00:45
AlexDaniel thanks
commit: 2015.12,HEAD dd my $b = Blob.new(1,2,3); dd subbuf-rw($b,2,1) = Buf.new(42); dd $b 00:46
what about this
committable6 AlexDaniel, gist.github.com/f8fe02a390462d3405...0c572a7ede
AlexDaniel bisect: 2015.12,HEAD dd my $b = Blob.new(1,2,3); dd subbuf-rw($b,2,1) = Buf.new(42); dd $b
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=ca919d9) the exit code is 1 and the output is identical as well
AlexDaniel, Output on both points: 04===SORRY!04=== Error while compiling /tmp/ViwxmU948P␤Undeclared name:␤ HEAD used at line 1␤
AlexDaniel bisect: dd my $b = Blob.new(1,2,3); dd subbuf-rw($b,2,1) = Buf.new(42); dd $b
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=ca919d9). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/ca0249183cea98931d...2af21ba0a2 00:47
AlexDaniel, (2016-02-27) github.com/rakudo/rakudo/commit/08...a23797670f
AlexDaniel m: say +combinations(100,1000) 00:49
camelia rakudo-moar ca919d: OUTPUT«1␤»
AlexDaniel notviki: ↑ :)
notviki :/
no idea what subbuf-rw is 00:50
Blob is immutable, so maybe it's right to complain? 00:51
AlexDaniel right
probably
notviki s: combinations(100, 1000), 'iterator', \() 00:52
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/ca91...Seq.pm#L52
geekosaur seems right to me
samcv m: 0x0.uniprop-bool('space').say
camelia rakudo-moar ca919d: OUTPUT«True␤»
AlexDaniel geekosaur: what exactly?
geekosaur ? subbuf-rw complaining
AlexDaniel ah
notviki s: &combinations, \(100, 1000)
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/ca91...List.pm#L5
AlexDaniel ok
geekosaur on an immutable Blob
AlexDaniel m: say +combinations(100,1000) 00:53
camelia rakudo-moar ca919d: OUTPUT«1␤»
AlexDaniel m: say +combinations(1000,100)
camelia rakudo-moar ca919d: OUTPUT«63850511926305130236698511142022274281262900693853331776286816221524376994750901948920974351797699894319420811933446197797592213357065053890␤»
notviki m: my $n = 100; my $k = 1000; ([*] ($n ... 0) Z/ 1 .. min($n - $k, $k)).Int
camelia ( no output )
notviki m: my $n = 100; my $k = 1000; ([*] ($n ... 0) Z/ 1 .. min($n - $k, $k)).Int .say
camelia rakudo-moar ca919d: OUTPUT«1␤»
00:55 BenGoldberg joined 00:56 Gasher left, jordman joined
notviki k, I see what it is 00:57
AlexDaniel commit: 2015.12,HEAD say uniprop('〔', 'East_Asian_Width') 00:58
committable6 AlexDaniel, ¦«2015.12»: 0␤¦«HEAD»:
AlexDaniel commit: 2015.12,HEAD dd uniprop('〔', 'East_Asian_Width')
committable6 AlexDaniel, ¦«2015.12»: 0␤¦«HEAD»: ""
AlexDaniel samcv: is this alright? ↑
samcv well not fixed in moar master
but that should theoretically work
it returns uh 00:59
notviki AlexDaniel: I opened an Issue for roast: github.com/perl6/roast/issues/203
I don't feel like writing tests and I don't wanna half-ass it
AlexDaniel ok
samcv by theoretically i mean soon it will work
AlexDaniel m: say Blob.elems 01:01
camelia rakudo-moar ca919d: OUTPUT«1␤»
AlexDaniel m: say Blob[0] 01:02
camelia rakudo-moar ca919d: OUTPUT«(Blob[Int])␤»
notviki It's the 1-el-list thing.
m: say Numeric.elems 01:03
camelia rakudo-moar ca919d: OUTPUT«1␤»
AlexDaniel commit: 2015.12,HEAD 'hello' [&say] 'world' 01:04
committable6 AlexDaniel, ¦«2015.12»: helloworld␤¦«HEAD»: WARNINGS for /tmp/JjnG5Kf51O:␤Useless use of &say in sink context (line 1)␤helloworld
notviki m: dd combinations(.5, .5) 01:05
camelia rakudo-moar ca919d: OUTPUT«((),).Seq␤»
notviki doesn't get it
m: dd combinations(0, 0) 01:06
camelia rakudo-moar ca919d: OUTPUT«((),).Seq␤»
notviki m: dd combinations(2, 2)
camelia rakudo-moar ca919d: OUTPUT«((0, 1),).Seq␤»
notviki Ah, right. combination of zero elems, doh 01:07
BenGoldberg m: dd permutations(3); 01:08
camelia rakudo-moar ca919d: OUTPUT«((0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0)).Seq␤»
BenGoldberg m: dd permutations(3).sink-all;
camelia rakudo-moar ca919d: OUTPUT«No such method 'sink-all' for invocant of type 'Seq'␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: dd permutations(3).iterator.sink-all;
camelia rakudo-moar ca919d: OUTPUT«IterationEnd␤»
BenGoldberg It's really too bad that .sink-all wasn't specced to provide a count of how many items were discarded. 01:09
notviki Isn't the point of it to sink all without carying how many items there were? 01:10
m: (^Inf).iterator.sink-all; say "hi"
ok
camelia rakudo-moar ca919d: OUTPUT«(timeout)»
notviki BenGoldberg: why is it bad? You're not supposed to poke at iterators like that, really. 01:11
01:12 Ven left
BenGoldberg The reason .sink-all exists is because for some Iterators, pulling elements has a useful side effect. If we want that side effect to occur, but *don't* want to build a huge list containing the return values of .pull-one, then that's how to do it. 01:13
AlexDaniel commit: 2015.12,HEAD my %f := Map.new; %f.WHICH.say
committable6 AlexDaniel, ¦«2015.12»: Map|44148944␤¦«HEAD»: Map|
AlexDaniel Map| ?
notviki saw that symptop already 01:14
01:14 aborazmeh joined, aborazmeh left, aborazmeh joined
AlexDaniel bisect: 2015.12,HEAD my %f := Map.new; %f.WHICH.say 01:14
shit
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=ca919d9) the exit code is 1 and the output is identical as well
AlexDaniel, Output on both points: 04===SORRY!04=== Error while compiling /tmp/TorAW7kiCn␤Undeclared name:␤ HEAD used at line 1␤ 01:15
AlexDaniel bisect: my %f := Map.new; %f.WHICH.say
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=ca919d9) because on both starting points the exit code is 0
notviki BenGoldberg: and which core types provide side effects where sinking does less work than generating all elems?
bisectable6 AlexDaniel, bisect log: gist.github.com/3c070b27049953d951...ca19e478c0
AlexDaniel, (2015-12-25) github.com/rakudo/rakudo/commit/07...dc61f84053
notviki heh
AlexDaniel bisect: my %f := Map.new; exit %f.WHICH.gist.ends-with(‘|’) 01:16
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=ca919d9). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/63751c020cb46973aa...a51500a708
AlexDaniel, (2016-06-21) github.com/rakudo/rakudo/commit/d9...aafa74eb11
AlexDaniel what does that mean
01:17 rburkholder joined
notviki m: my %f := Map.new: foo => "\b\b\b\b\b"; say %f.WHICH 01:18
camelia rakudo-moar ca919d: OUTPUT«Map|␤»
notviki aww
m: my %f := Map.new: foo => "\b\b\b\b\b"; say %f
camelia rakudo-moar ca919d: OUTPUT«Map.new(())␤»
notviki oh
m: my %f := Map.new: "foo" => "\b\b\b\b\b"; say %f
camelia rakudo-moar ca919d: OUTPUT«Map.new((:foo("\b\b\b\b\b")))␤»
notviki m: my %f := Map.new: "foo" => "\b\b\b\b\b"; say %f.WHICH
camelia rakudo-moar ca919d: OUTPUT«Map|Str|foo()␤»
notviki heh
What's a value type again? I keep forgetting 01:19
I wonder if it's a bad idea to use such WHICH 01:20
m: my %f := Map.new: "foo" => "x" x 10000000;
camelia ( no output )
notviki m: my %f := Map.new: "foo" => "x" x 10000000; say %f ==- Map.new: "foo" => "x"
camelia rakudo-moar ca919d: OUTPUT«False␤»
notviki m: my %f := Map.new: "foo" => "x" x 10000000; say %f === Map.new: "foo" => "x" 01:21
camelia rakudo-moar ca919d: OUTPUT«False␤»
notviki m: my %f := Map.new: "foo" => "x" x 10000000000; say %f === Map.new: "foo" => "x"
camelia rakudo-moar ca919d: OUTPUT«repeat count > 1073741824 arbitrarily unsupported...␤ in block <unit> at <tmp> line 1␤␤»
notviki m: my %f := Map.new: "foo" => "x" x 1073741824; say %f === Map.new: "foo" => "x"
camelia rakudo-moar ca919d: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 4294967332 bytes␤»
notviki m: my %f := Map.new: "foo" => "x" x 107374109; say %f === Map.new: "foo" => "x"
camelia rakudo-moar ca919d: OUTPUT«False␤»
notviki m: my %f := Map.new: "foo" => "x" x 107374109; say %f.WHICH
camelia rakudo-moar ca919d: OUTPUT«Map|Str|foo(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx…»
notviki m: my @a; @a = @a, 4; my %f := Map.new: "foo" => @a; say %f.WHICH 01:23
weeeeeeee
m: my @a; @a = @a, 4; my %f := Map.new: "foo" => @a; say %f === Map.new
BenGoldberg m: try { my $x = 'x' x 9e9 }; say 'alive';
camelia rakudo-moar ca919d: OUTPUT«(timeout)»
rakudo-moar ca919d: OUTPUT«alive␤»
BenGoldberg m: try { my $x = 'x' x 9e99 }; say 'alive'; 01:24
camelia rakudo-moar ca919d: OUTPUT«alive␤»
BenGoldberg m: try { my $x = 'x' x 9e99; CATCH { default { say 'oops: '~.Str.say }; say 'alive';
camelia rakudo-moar ca919d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3 { say 'oops: '~.Str.say }; say 'alive';7⏏5<EOL>␤»
BenGoldberg m: try { my $x = 'x' x 9e99; CATCH { default { say 'oops: '~.Str.say } }; say 'alive';
camelia rakudo-moar ca919d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3 say 'oops: '~.Str.say } }; say 'alive';7⏏5<EOL>␤»
BenGoldberg m: try { my $x = 'x' x 9e99; CATCH { default { say 'oops: '~.Str.say } } }; say 'alive';
camelia rakudo-moar ca919d: OUTPUT«Cannot unbox 333 bit wide bigint into native integer␤oops: True␤alive␤»
BenGoldberg m: try { my $x = 'x' x 9e9; CATCH { default { say 'oops: '~.Str } } }; say 'alive'; 01:25
camelia rakudo-moar ca919d: OUTPUT«oops: repeat count > 1073741824 arbitrarily unsupported...␤alive␤»
BenGoldberg arbitrarily??!? I demand a refund. 01:26
m: try { my $x = BEGIN { 'x' x 9e9 }; CATCH { default { say 'oops: '~.Str } } }; say 'alive';
camelia rakudo-moar ca919d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤An exception occurred while evaluating a BEGIN␤at <tmp>:1␤Exception details:␤ 5===SORRY!5=== Error while compiling ␤ repeat count > 1073741824 arbitrarily unsupported...␤ at :␤»
notviki m: my %h := Hash.new: "foo" => 0/0; say %h === Hash.new 01:27
camelia rakudo-moar ca919d: OUTPUT«False␤»
notviki m: my %h := Map.new: "foo" => 0/0; say %h === Map.new
camelia rakudo-moar ca919d: OUTPUT«Attempt to divide by zero using div␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel commit: 2015.12,HEAD my $a = uint32.new(10); say $a.WHAT
committable6 AlexDaniel, ¦«2015.12»: (uint32)␤¦«HEAD»: (Int)
AlexDaniel huh, right?
notviki bisectable6: my $a = uint32.new(10); say $a.WHAT 01:28
bisectable6 notviki, Bisecting by output (old=2015.12 new=ca919d9) because on both starting points the exit code is 0
notviki, bisect log: gist.github.com/a42303f40cee7e8b08...4a8f8788fc
notviki, (2016-10-05) github.com/rakudo/rakudo/commit/79...161efca854
notviki oops :}
AlexDaniel notviki: not sure how “oops” it is, look 01:29
commit: 2015.12,HEAD my $a = uint32.new(10); say $a
committable6 AlexDaniel, ¦«2015.12»: This representation (P6int) cannot unbox to other types␤ in block <unit> at /tmp/XnjbfbvWJG line 1␤ «exit code = 1»␤¦«HEAD»: 10
AlexDaniel yeah, on HEAD it works for a wrong reason, but…
but why doesn't it work on 2015.12, huh? 01:30
notviki well, uint32 is not a boxed type
It ain't got a .new
So it gets boxed into an Int and then .new is called on that and tada
01:30 labster left
AlexDaniel uhm but 01:30
commit: 2015.12,HEAD my $a = uint32.new(10)
01:30 NotZoffix joined 01:31 NotZoffix left, NotZoffix joined
NotZoffix Zoffix, stop messing around!! 01:31
01:31 NotZoffix left
notviki What the fuck 01:31
committable6 AlexDaniel, ¦«2015.12,HEAD»:
AlexDaniel notviki: that's your own message from the past I think
or maybe not yours
notviki Yeah, it is
Now I remember it 01:32
AlexDaniel but yeah, I'm using a time machine to do this stuff, so some artefacts will be observed
BenGoldberg m: uint32.WHAT.say 01:33
camelia rakudo-moar ca919d: OUTPUT«(uint32)␤»
BenGoldberg m: uint32.^mro.say
camelia rakudo-moar ca919d: OUTPUT«((uint32) (Int) (Cool) (Any) (Mu))␤»
notviki Oh, and that Map.WHICH thing it's possible to create two different Maps with same .WHICH
m: say uint32.^methods
camelia rakudo-moar ca919d: OUTPUT«No such method 'methods' for invocant of type 'Perl6::Metamodel::NativeHOW'␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg s: Perl6::Metamodel::NativeHOW, 'methods', () 01:35
SourceBaby BenGoldberg, Something's wrong: ␤ERR: Could not find symbol '&NativeHOW'␤ in block <unit> at -e line 6␤␤Actually thrown at:␤ in block <unit> at -e line 6␤␤
BenGoldberg s: Perl6::Metamodel::NativeHOW, 'methods', (Perl6::Metamodel::NativeHOW)
SourceBaby BenGoldberg, Something's wrong: ␤ERR: Could not find symbol '&NativeHOW'␤ in block <unit> at -e line 6␤␤Actually thrown at:␤ in block <unit> at -e line 6␤␤
notviki :/ 01:36
BenGoldberg Restricted setting thingy problem, I'm guessing.
notviki It did say there is NO such method in that class :/
Nope
BenGoldberg m: Perl6::Metamodel::NativeHOW.say
camelia rakudo-moar ca919d: OUTPUT«Could not find symbol '&NativeHOW'␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
notviki You can't get them that way (yet) 01:37
m: int.WHAT.new
camelia rakudo-moar ca919d: OUTPUT«No such method 'BUILDALLPLAN' for invocant of type 'Perl6::Metamodel::NativeHOW'␤ in block <unit> at <tmp> line 1␤␤»
notviki bah
oh right
m: int.HOW.WHAT.new
camelia ( no output )
notviki m: int.HOW.WHAT.new.^name.say
camelia rakudo-moar ca919d: OUTPUT«Perl6::Metamodel::NativeHOW␤»
notviki ^ that's the way to reach out to MOP classes
BenGoldberg Clearly this is not a case of perl making easy things easy ;) 01:38
notviki Pretty easy.
BenGoldberg m: unint32.HOW.WHAT.new(42).say; 01:39
camelia rakudo-moar ca919d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ unint32 used at line 1␤␤»
BenGoldberg m: uint32.HOW.WHAT.new(42).say;
camelia rakudo-moar ca919d: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in any new at gen/moar/Metamodel.nqp line 3201␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: uint32.HOW.WHAT.new().say;
camelia rakudo-moar ca919d: OUTPUT«Perl6::Metamodel::NativeHOW.new␤»
AlexDaniel m: say “98989898889898989898090909093983830​2233848473393040383234234509484.3489​523478234723847238432423”.Rat.nude 01:43
camelia rakudo-moar ca919d: OUTPUT«Cannot convert string to number: trailing characters after number in '0398989898889898989898090909093983830⏏5​2233848473393040383234234509484.3489​523478234723847238432423' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually throw…»
notviki bisectable6: dd combinations(-2,2).list.perl 01:47
bisectable6 notviki, Bisecting by output (old=2015.12 new=ca919d9) because on both starting points the exit code is 0
notviki, bisect log: gist.github.com/3fe9f20f5ea3036032...b98f22cbda
notviki, (2016-03-25) github.com/rakudo/rakudo/commit/f2...61e02a8e62
01:48 dugword left 01:50 kurahaupo left
BenGoldberg m: ' '.uniprop.say; 01:52
camelia rakudo-moar ca919d: OUTPUT«Zs␤»
BenGoldberg m: ' '.unimatch('.say;
camelia rakudo-moar ca919d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in single quotes; couldn't find final "'" ␤at <tmp>:1␤------> 3' '.unimatch('.say;7⏏5<EOL>␤ expecting any of:␤ argument list␤ single quotes␤ …»
BenGoldberg m: ' '.unimatch('Zs')..say;
camelia rakudo-moar ca919d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun␤at <tmp>:1␤------> 3' '.unimatch('Zs')..…»
BenGoldberg m: ' '.unimatch('Zs').say;
camelia rakudo-moar ca919d: OUTPUT«True␤»
BenGoldberg u: .unimatch('Zs')
unicodable6 BenGoldberg, U+002E FULL STOP [Po] (.)
BenGoldberg, U+0075 LATIN SMALL LETTER U [Ll] (u)
BenGoldberg, U+006E LATIN SMALL LETTER N [Ll] (n)
BenGoldberg, gist.github.com/7fd6afa0c457a7686b...17ba511279
01:52 labster joined
AlexDaniel u: { .unimatch('Zs') } 01:53
unicodable6 AlexDaniel, U+0020 SPACE [Zs] ( )
AlexDaniel, U+1680 OGHAM SPACE MARK [Zs] ( )
AlexDaniel, U+00A0 NO-BREAK SPACE [Zs] ( )
AlexDaniel, gist.github.com/43cee5dd8b4fb0e1a4...30cf945c68
AlexDaniel m: say (0e0÷0e0).isNaN 01:57
camelia rakudo-moar ca919d: OUTPUT«Attempt to divide by zero using /␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in any at gen/moar/Metamodel.nqp line 3072␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel well, no, I'm not using /
notviki hehe
wonder why it has "using" anything in it... 01:58
AlexDaniel m: say dd %42 02:00
camelia rakudo-moar ca919d: OUTPUT«Hash % = {}␤Nil␤»
AlexDaniel m: dd %42 02:01
camelia rakudo-moar ca919d: OUTPUT«Hash % = {}␤»
AlexDaniel what's that?
commit: all dd %42
02:01 pierre_ joined
notviki coerser to hash? 02:01
committable6 AlexDaniel, gist.github.com/3f52986c51224d7536...9113ac89ce
AlexDaniel ye but, what about 42?
where does it go? 02:02
notviki has no idea
m: dd 42.hash
camelia rakudo-moar ca919d: OUTPUT«Odd number of elements found where hash initializer expected:␤Only saw: 42␤ in block <unit> at <tmp> line 1␤␤»
notviki m: dd 42.Hash
camelia rakudo-moar ca919d: OUTPUT«Odd number of elements found where hash initializer expected:␤Only saw: 42␤ in block <unit> at <tmp> line 1␤␤»
notviki shrugs
02:04 cooper left 02:05 NeuralAnomaly joined, ChanServ sets mode: +v NeuralAnomaly, NeuralAnomaly is now known as Guest90643, pierre_ left
notviki sees a little nest of bugs in combinations 02:08
AlexDaniel++ 02:09
Fixing the issue you found exposed a few buggy edge cases AND wrong spectests for them
02:15 grumble joined
notviki Guest90643: status 02:23
.oO( IRC::Client bug... )
02:27 cyphase left
AlexDaniel notviki: cool 02:29
I mean, the whole m: history is a bug nest…
notviki It's kinda weird Freenode's nick enforcer locks you out (seems for quite some time) if it had to force a user off your nickname. 02:30
AlexDaniel I'm at about 33% of my preliminary iteration…
hopefully will start submitting tickets tomorrow :-/
notviki oh, that's what /nickserv release is for... 02:31
02:31 Guest90643 left 02:32 NeuralAnomaly joined, ChanServ sets mode: +v NeuralAnomaly, cyphase joined 02:41 dugword joined 02:46 ilbot3 left 02:47 ilbot3 joined
AlexDaniel m: my Int @foo = <4 5 6>; ++<<@foo; say @foo 03:03
camelia rakudo-moar ca919d: OUTPUT«Potential difficulties:␤ Useless use of ++<< in sink context␤ at <tmp>:1␤ ------> 3my Int @foo = <4 5 6>; 7⏏5++<<@foo; say @foo␤[5 6 7]␤»
AlexDaniel useless useless use of warning?
notviki yeah
03:03 lichtkind_ left
AlexDaniel m: my %e = enum < a b c >; say a.WHAT.WHICH 03:06
camelia rakudo-moar ca919d: OUTPUT«|U74577832␤»
AlexDaniel notviki: I wonder if it's possible to trick it into printing just “|” 03:07
03:07 newbie1 left
AlexDaniel m: my $x = "a"; $x ~= $x for ^31; say $x.chars 03:09
camelia rakudo-moar ca919d: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 2147483648 bytes␤»
AlexDaniel evalable: my $x = "a"; $x ~= $x for ^31; say $x.chars
evalable6 AlexDaniel, rakudo-moar ca919d9: OUTPUT«2147483648»
AlexDaniel hehe
impressive, right?
eval: my $x = ("a" x (2 ** 63)); say $x.chars
evalable6 AlexDaniel, rakudo-moar ca919d9: OUTPUT«0»
AlexDaniel
03:10 xtreak joined 03:12 itcharlie_linux joined
notviki m: my $x = ("a" x (2 ** 63)); say $x 03:13
camelia rakudo-moar ca919d: OUTPUT«␤»
notviki m: say 2 ** 63 03:15
camelia rakudo-moar ca919d: OUTPUT«9223372036854775808␤»
03:16 mr-foobar left
notviki tests for combinations are so sparse :( 03:19
03:19 kyan left
notviki m: my @a = ^3; @a[1]:delete; @a.combinations(3).say 03:20
camelia rakudo-moar ca919d: OUTPUT«((0 (Mu) 2))␤»
notviki m: my @a = ^3; @a[1]:delete; dd @a.elems
camelia rakudo-moar ca919d: OUTPUT«3␤»
03:23 aborazmeh left, Perl6Robot joined
Perl6Robot OHAI! 03:23
03:23 Perl6Robot left
notviki -_- 03:26
AlexDaniel commit: 2015.12,HEAD say [-] [+] 1,2,3 03:32
committable6 AlexDaniel, ¦«2015.12»: 6␤¦«HEAD»: -6
AlexDaniel current answer seems right
bisect: say [-] [+] 1,2,3
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=ca919d9) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/d8d4ed781cebd38986...86b7a0cb24
AlexDaniel, (2016-08-30) github.com/rakudo/rakudo/commit/b1...72e9a11558
AlexDaniel m: (20..10)[^20] 03:35
camelia ( no output )
AlexDaniel m: say (20..10)[^20]
camelia rakudo-moar ca919d: OUTPUT«Index out of range. Is: 0, should be in 0..-1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
notviki .seen skids 03:36
yoleaux I saw skids 15 Dec 2016 22:05Z in #perl6: <skids> Same with I and l
skids o/
notviki skids: was wondering how come we treat negative $n as a degenerate case of an empty list, yet negative $k didn't receive equal treatment: github.com/rakudo/rakudo/commit/2a...3c9f010b05 03:37
03:38 itcharlie_linux left
skids Lemme look... I think it might come down to discrete math conventions. 03:38
AlexDaniel alright that's it, good night everyone 03:40
notviki night
03:45 labster left
notviki suspects skids got lost in a descrete maze :) 03:50
03:50 noganex joined
skids notwiki: I'm not sure. I do think the results for n=0 are correct... I do remembering putting some effort into figuring that out. Yeah I get distracted on math pages. 03:51
notviki but what about negative k?
notviki visits #math 03:52
03:52 sammers joined
samcv can somebody good at perl tell me what this means? 03:52
$done{"$key$_"} ||= push @lines, "{\"$_\",$prop_names->{$key}}";
i've used //= but, with the push in there it is kind of confusing 03:53
notviki it returns the result
samcv $done{"$key$_"} = $done{"$key$_"} || push @lines, "{\"$_\",$prop_names->{$key}}"; ?
notviki m: my @a = 42; dd @a.push: 45
camelia rakudo-moar ca919d: OUTPUT«Array @a = [42, 45]␤»
03:53 noganex_ left
notviki no, the || if for the value of $done{"$key$_"} 03:53
unless $done{"$key$_"} { push @lines, "{\"$_\",$prop_names->{$key}}"; $done{"$key$_"} = @lines; } 03:54
samcv ok thanks :)
skids I think it may be that it was expected that combinations might end up rejecting negatives by type.
(using a subset or somesuch) 03:55
(but a quicker fix was needed) 03:58
notviki antonfire │ notviki: no, you wouldn't treat it like 0.
antonfire │ There is such a thing as a set with no elements. There is no such thing as a set with -1 elements.
Yeah, OK. That makes sense to me, viewed in that way.
skids: thanks. 03:59
skids In the case of k<0 there is "no way to choose" a negative number of elements, so getting an empty set is not right either in that case. 04:01
notviki cool
04:01 pierre_ joined 04:02 labster joined 04:06 pierre_ left 04:07 BenGoldberg left
notviki samcv: ah, I misread your "$done{"$key$_"} = $done{"$key$_"} || push @lines, "{\"$_\",$prop_names->{$key}}";" 04:08
Yeah, it's basically that, except the ||= assigns only if it's false, while ^ that always assigns (if the key's value is true, then that value)
hmmm 04:09
notviki wonders...
m: my %h = foo => Failure.new; %h<foo> ||= "bar"; dd %h<foo>
camelia rakudo-moar ca919d: OUTPUT«Str %h = "bar"␤»
notviki oh right
m: my %h = foo => Failure.new; %h<foo> &&= "bar"; dd %h<foo> 04:10
camelia rakudo-moar ca919d: OUTPUT«Failure %h = Failure.new(exception => X::AdHoc.new(payload => "Failed"), backtrace => Backtrace.new)␤»
notviki m: my %h = foo => Failure.new; %h<foo> &&= "bar"; dd %h<foo>.handled
camelia rakudo-moar ca919d: OUTPUT«Bool::True␤»
notviki m: my %h = foo => Failure.new; %h<foo> = %h<foo> && "bar"; dd %h<foo>.handled
camelia rakudo-moar ca919d: OUTPUT«Bool::True␤»
notviki cool
notviki &
samcv thanks 04:11
04:12 jraglin joined
notviki m: my %h; %h<foo> := Proxy.new: STORE => method ($v) { say "STORING STUFF!" }, FETCH => method () { True }; %h<foo> ||= 42; 04:12
camelia ( no output )
notviki m: my %h; %h<foo> := Proxy.new: STORE => method ($v) { say "STORING STUFF!" }, FETCH => method () { True }; %h<foo> = %h<foo> || 42;
camelia rakudo-moar ca919d: OUTPUT«STORING STUFF!␤»
notviki \o/
skids notviki: yeah I think that code needs more work: 04:19
m: say combinations(3,4)
camelia rakudo-moar ca919d: OUTPUT«()␤»
skids m: say combinations(0,4)
camelia rakudo-moar ca919d: OUTPUT«(())␤»
04:21 cyphase left 04:23 jraglin left 04:26 cyphase joined 04:37 aborazmeh joined, aborazmeh left, aborazmeh joined 04:42 StefanSC joined 04:51 khw left 05:03 BenGoldberg joined 05:13 Cabanossi left 05:14 Cabanossi joined 05:18 pyrimidi_ joined, pyrimidine left 05:23 geekosaur left 05:26 geekosaur joined 05:30 Wanderer68 left 05:41 bitmap joined 05:43 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg, StefanSC left 05:55 aborazmeh left 06:03 pierre_ joined 06:07 pierre_ left 06:09 rburkholder left 06:10 CIAvash joined 06:16 pyrimidine joined, pyrimidi_ left 06:17 Tonik joined 06:19 BenGoldberg left 06:22 BenGoldberg joined 06:29 bjz joined 06:33 Axord left 06:35 mr-foobar joined 06:43 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 06:45 darutoko joined, bjz left 06:58 dugword left 07:00 bjz joined 07:03 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 07:08 skids left 07:12 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 07:20 pyrimidi_ joined, pyrimidine left 07:26 pyrimidine joined, pyrimidi_ left 07:29 BenGoldberg left 07:32 cibs left
samcv m: use nqp; nqp::codepointfromname('PENGUIN').chr.say 07:33
camelia rakudo-moar 3baffe: OUTPUT«🐧␤»
07:33 Tonik left
samcv what would we want this called for perl. for nqp it's called codepointfrom name. i'm thinking maybe unifromname? 07:33
idk a bit longish. but 07:34
07:34 cibs joined
samcv unifromname vs uniname 07:34
07:37 xiaomiao joined 08:02 CIAvash left, lizmat joined 08:03 pierre_ joined
moritz don't we have that through "\c[PENGUIN]".ord ? 08:07
08:08 pierre_ left
samcv yes 08:12
but you can't do that programmically
(sp)
moritz m: my $n = 'PENGUIN'; say "\c[$n]"
camelia rakudo-moar dbbf9d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized \c character␤at <tmp>:1␤------> 3my $n = 'PENGUIN'; say "\c[7⏏5$n]"␤ expecting any of:␤ argument list␤ double quotes␤ term␤»
samcv yep
moritz ok, I see your point
Str.new(codepoint-name => 'PENGUIN') ? 08:13
samcv how does unifromname sound though? any better suggestions?
hm
that is pretty awkward
08:13 wamba joined, CIAvash joined
moritz just codepoint, possibly 08:13
samcv i'm not opposed to that being a Str.new possibility but. i think there should be a more natural way to do it 08:14
moritz Str.from-codepoint('PENGUIN')
samcv that could be fine :)
wait
codepoint implies from a number
moritz not really
codepoint is just the concept of a single "character" in the codepoint in the Unicode database, no? 08:15
Str.from-name('PENGUIN') ?
bonus points for also implementing it in Uni
samcv well. you can have ZWJ sequences 08:16
that is multi character and when we support them we'd want an easy way to do so
moritz looks up zwj sequences 08:17
samcv m: "👨🏼‍⚕️".say 08:18
camelia rakudo-moar dbbf9d: OUTPUT«👨🏼‍⚕️␤»
samcv m: "👨🏼‍⚕️".chars.say
camelia rakudo-moar dbbf9d: OUTPUT«3␤»
samcv so once we support it, it will say 1
i don't have support in my computer for this but, should be treated as one character since you can't break it up at all
atm we have unicode name resolve to only a single codepoint, well
moritz method from-name(*@names) { @names.map({ nqp::codepointfromname($_)}).join }
samcv to a single codepoint even though normalization forms could make it multiple 08:19
technically
but normalization is not going to apply to the ZWJ
i like from-name though
would be pretty natural for ZWJ
Str.from-name('woman cartwheeling') 08:20
for example
moritz sorry, I think I can't contribute much besides API suggestions at this point
samcv nah that is fine
that's really what i need
the rest i have mostly worked out. even though there will need more changes to moarvm's unicode data structures to support this but 08:21
getting the API right is an important first step
08:29 domidumont joined 08:31 pierre_ joined 08:33 domidumont left, mattp_ joined 08:34 domidumont joined 08:36 labster left, Actualeyes left 08:47 labster joined 08:48 RabidGravy joined
moritz m: say (^Inf).grep({last if $_ > 5; True})[^20] 08:51
camelia rakudo-moar dbbf9d: OUTPUT«(0 1 2 3 4 5 Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil)␤»
moritz m: say (^Inf).grep({last if $_ > 5; True}).elems
camelia rakudo-moar dbbf9d: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
moritz m: say (^20).grep({last if $_ > 5; True}).elems
camelia rakudo-moar dbbf9d: OUTPUT«6␤»
moritz m: say (^Inf).grep({last if $_ > 5; True}).join 08:56
camelia rakudo-moar dbbf9d: OUTPUT«...␤»
moritz m: say (^Inf).grep({last if $_ > 5; True}).eager.join
camelia rakudo-moar dbbf9d: OUTPUT«012345␤»
sammers hey #perl6, just wanted to wish everyone happy holidays. hope you have a great 2017. 08:58
moritz same to you, sammers
sammers thanks moritz
08:59 xtreak left 09:00 astj_ joined, astj left 09:04 xtreak joined 09:15 xtreak left 09:24 xtreak joined
regnarg Hi, I created a simple tool that might be handy for debugging P6 scripts. It runs your script in a REPL without running its &MAIN (you can call individual functions from the script, access global vars etc.). Source: gist.github.com/regnarg/3b98a0b5f3...c1bb0da3ff It took some NQP hackery but the result is still rather simple. Usage: ./screpl.p6 <my-script.p6> 09:28
I also had to copy-paste from core's REPL.pm because the context management logic is inside the repl-loop function. Perhaps this could be split out similar to what I did here. 09:29
I also do not quite understand the condition used to decide whether to run &MAIN... 09:30
moritz regnarg: wow, nice work 09:31
regnarg: MAIN is supposed to only run in the script you pass directly to rakudo, not in modules loaded from there
09:31 vadfat joined
vadfat $_='ev al("seek\040D ATA,0, 0;");foreach(1..3) {<DATA>;}my @camel1hump;my$camel; my$Camel ;while( <DATA>){$_=sprintf("%-6 9s",$_);my@dromedary 1=split(//);if(defined($ _=<DATA>)){@camel1hum p=split(//);}while(@dromeda ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif t(@dromedary1 ))&&/\S/) 09:32
moritz but rakudo doesn't have a simple way to check that, which is why the tests for whether to run MAIN is somewhat weird
09:32 vadfat left
moritz vadfat: please use a pastebin for pasting code (and p5 code is off-topic here) 09:33
regnarg moritz: Currently for example if I type "sub MAIN { say 42; }" into the normal P6 REPL, it gets executed. Not sure whether that is intended. 09:34
moritz regnarg: I think it is 09:35
when you type code into the REPL, it's the mainline program that the compiler executes for you 09:36
09:37 pyrimidi_ joined, pyrimidine left
pierre_ ugexe: Sorry, i was dragged out of my computer, it was still not working, however after another upgrade of moarvm, it did 09:38
regnarg Ok. Anyway, if anyone thinks it might be worthwhile to have some of this functionality in the core REPL class (at least some function analogous to eval-in-ctx so that we do not have to hack private attributes), I might try to prepare a PR. 09:42
dalek c: 7e7e0a6 | samcv++ | / (2 files):
Add a seperate color for `TOP´ in grammars

Move some of the “Atom” things from the CSS to the end. We probably don't need them, but let’s leave them in for now.
09:43
c: b1109dc | samcv++ | doc/Type/NFD.pod6:
Trigger doc rebuild to pull in highlighter changes

  github.com/perl6/atom-language-per...8356a9b137
synopsebot6 Link: doc.perl6.org/type/NFD
regnarg An even better debugging tool would be if we could call a function anywhere to "give me a REPL here, in the current context" (including access to local variables). But that might be somewhere between hard and not currently possible. I used a similar trick in Python for many years and it is quite convenient. Maybe I'll look into this for a bit... 09:44
samcv 03C02O1111LOR19S 09:46
RabidGravy well that's, er, nice Fedora just upgraded libgfortran 09:48
lizmat regnarg: FWIW, I think that's between "difficult" and "hard": Perl 6 has a *lot* of introspection you can use 09:52
09:52 Thorsten_ joined
lizmat regnarg: it most likely would involve at least some nqp:: ops 09:52
09:52 Thorsten_ left
lizmat so you would have to get yourself familiar with that 09:52
samcv Perl 6, making the Easy Hard and the Impossible within reach 09:53
09:53 ThorstenB joined
samcv maybe it was keeping 09:53
yeah 09:54
@DrForr, should reverse Easy and Hard so it's Keeping the Hard, Easy and impossible within reach
09:55 xtreak left 09:57 ThorstenB left, ThorstenB joined, xtreak joined
lizmat regnarg: suggesting "rr" for the function name, for ratty repl :-) 09:58
regnarg lizmat: Thanks, yes, I've already browsed the sources a bit. This seems complicated because it mixes compile-time and runtime stuff. But EVAL already does the same so that might be a good place to start looking. Basically all I need is "EVAL a few stack frames up".
samcv ratty repl? 10:00
lizmat if you look at how Cool.EVAL works, you will have your answer
samcv ah as a method
i can see that
regnarg Yeah, I'll look into that. NB: I don't know what the state of macros currently is but I could also just make a macro that expands into an EVAL loop in the original spot (that might even be implementation-agnostic once macros are standardized). 10:03
lizmat macros are still experimental; maybe masak could give you an answer 10:05
afk& 10:07
10:08 lizmat left
regnarg m: use MONKEY-SEE-NO-EVAL; sub my-eval($code) { EVAL $code, :context(CALLER::) }; sub somefunc { my $secret = 42; my-eval('say $secret'); }; somefunc; 10:13
camelia rakudo-moar 434bf7: OUTPUT«42␤»
regnarg Ok, seems EVAL already knows how to do this. No just wrap this with a REPL in a nice-looking module... 10:14
That's probably nicer than macros anyway. 10:16
10:18 tojo joined, tojo left 10:28 Ven joined 10:30 wamba left, Rawriful joined, CIAvash left 10:31 xtreak left 10:51 kalkin- joined
notviki regnarg: that's going away 10:59
regnarg: the :context thing
regnarg notviki: Why exactly? That seems very useful (without it, you cannot even trivially wrap EVAL) 11:00
11:00 labster left
regnarg And not only with CALLER::. You might also want to run some code in a new isolated namespace... 11:01
notviki regnarg: IIRC it's something about optimizations 11:02
regnarg notviki: Any way to learn the details? Actually, I think there are much more use cases for EVAL with an explicit context than without it 11:03
notviki regnarg: irclog.perlgeek.de/perl6-dev/2016-0...i_12678792 11:04
well, that doesn't give more info except for it'll stop working "As soon as the optimizer gets better." 11:05
but jnthn can tell you more, I guess.
I think it's cause frames will be optimized out so it can only know about dynamic vars via CALLER:: not just any random stuff 11:07
11:07 Rawriful left
regnarg notviki: Actually, that cleared up a few things, thanks. 11:07
notviki yey
regnarg However, that is a problem with CALLER::, not :context 11:08
I think there might be valid use cases for :context other than CALLER::
11:08 xtreak joined
notviki Ah right, sorry. I misremembered 11:08
11:09 Rawriful joined
regnarg You remembered correctly. jnthn says "That context named arg should also go away, it's too open to abuse." 11:09
I just think that is unnecessarily harsh. Perhaps we could just warn in the documentation that it may break in some cases. 11:10
11:10 FROGGS joined
regnarg But for example if a prepare a package with a "clean" namespace for the EVAL and want to run it in the context of the package, that should be safe (AFIK) 11:11
11:12 Actualeyes joined 11:14 wamba joined
notviki Man, I had a terrible night of sleep... I was freaking DEBUGGING stuff in my dream. And arguing with AlexDaniel about what the correct behaviour should be 11:15
11:16 pierre_ left, pierre_ joined 11:17 pmurias_ joined, pmurias joined
pmurias what does the p6return op do? 11:18
11:19 pmurias_ left
pmurias notviki: that means we can expect some RT tickets to be closed after you eat a good breakfast? ;) 11:20
11:21 pierre_ left 11:25 g__k__ left
notviki heh, sadly no :) 11:27
moritz during my studies I once dreamed of differential equations
dalek c: 18b6f6a | samcv++ | / (2 files):
CSS: make <regexidentifiers> darker and color token/rule nicely
11:28
samcv this looks pretty nice a.uguu.se/SdTyLDSPSyou_Screenshot_...032639.png
before a.uguu.se/3kW5CjdQmBWr_Screenshot_...032701.png
maybe TOP should be bold? 11:29
moritz samcv++
samcv the bold?
i made it slightly different shade but you can't really tell 11:30
it's hard finding colors for a white background
notviki m: grammar { rule meows { .+ } }.parse('Look ma, no TOP!', :rule<meows>).say
camelia rakudo-moar 5023bf: OUTPUT«「Look ma, no TOP!」␤»
samcv :P 11:32
moritz samcv: the ++ was for the color improvements; I'm undecided about bold TOP 11:33
samcv ah k
moritz the upper-casing already shouts
samcv yeah
11:35 TEttinger left 11:36 TEttinger joined 11:39 kalkin- left 11:42 astj_ left 11:43 b2gills1 joined 11:44 rburkholder joined
notviki pmurias: if you find out may be worth documenting it in github.com/rakudo/rakudo/blob/nom/...n#p6return 11:45
11:45 rpburkholder joined, b2gills left 11:46 pierre_ joined 11:49 rburkholder left, raschi joined
pmurias notviki: yes, that would likely help new devs 11:51
notviki: I'm thinking of writing tests for the p6*ops
11:53 pierre_ left 12:00 ssm joined, xtreak left 12:03 astj joined
pmurias I'm not sure if testing them from the NQP or Perl 6 level would be better 12:09
12:13 TEttinger left
samcv pmurias, can you revert the moarvm pull that got done last? 12:14
its been breaking things and i don't have the power to undo it
12:17 bjz_ joined 12:19 mojca joined, bjz left
mojca how could I build MoarVM against the system libuv? 12:19
to avoid the conflict with existing system libuv
12:20 Gasher joined
pmurias samcv: you mean your last PR to the MoarVM? 12:28
samcv yeah
that
pmurias I don't think I have a MoarVM commit bit either :/
samcv oh sorry it was merged in nvm 12:29
[Coke], ping
pmurias samcv: you could unbump MoarVM in nqp if the PR is causing trouble 12:31
samcv true
but i don't think that will magically undo it
12:36 Rogbro joined 12:41 Rogbro left 12:58 lucasb joined
mojca does anyone have a clue why I get '3rdparty/libatomic_ops/src/atomic_ops.h:376:5: error: Cannot implement AO_comon thispal on this architecture.' on some machines with macOS, but not the others with the same version? (full log is at the end of build.macports.org/builders/ports-...ogs/stdio) 13:08
actually it seems as if libatomic_ops @7.4.4 works fine, but the built-in library doesn't
notviki mojca: FWIW, there's also #moarvm . I don't know if all the people in there are also here. 13:10
mojca notviki: thanks, I'll keep bothering others on the other channel 13:13
dalek c: 6bc89de | coke++ | htmlify.p6:
Order use statements.

  (local vs. external)
13:29
c: 925b13c | coke++ | doc/ (3 files):
remove trailing whitespace
c: 0904dc8 | coke++ | xt/ (2 files):
learn new words
AlexDaniel notviki: huh, did you actually see IRC window in your dream?
13:31 bjz joined, bjz_ left 13:34 sammers left
notviki AlexDaniel: yeah, something like that 13:35
tbrowder good am or pm, #perl6 13:36
notviki \o
tbrowder can someone please turn on the switch that will show commits to perl6-mode here? 13:37
samcv perl6-mode? 13:38
tbrowder yes: github:perl6/perl6-mode
notviki tbrowder: done 13:39
tbrowder t'anks! 13:40
notviki: i assume you will morph into another alias on midnight, 31 dec, UTC? 13:42
AlexDaniel tbrowder++ 13:45
notviki m: DateTime.new(:2017year).in-timezone(-5*3600).say 13:47
camelia rakudo-moar 5023bf: OUTPUT«2016-12-31T19:00:00-05:00␤»
13:47 Actualeyes left
rightfold m: :2017year 13:49
camelia rakudo-moar 5023bf: OUTPUT«WARNINGS for <tmp>:␤Useless use of ":2017year" in sink context (line 1)␤»
notviki it's a Pair; same as year => 2017 or :year(2017) 13:52
13:57 iH2O joined 14:01 sammers joined, kalkin- joined
lucasb m: sub infix:<:>($a) { 42 }; say (10 :) 14:01
camelia rakudo-moar d35efb: OUTPUT«42␤»
lucasb somehow, I'm able to call an infix with only one operand? 14:02
14:02 Actualeyes joined
notviki lucasb: you can all it with any amount of arguments 14:03
lucasb idk, this is something special about ":", it expectecly dies with other operator name 14:04
notviki m: sub infix:<z> is assoc<list> { dd @_ }; 10 z 20 z 30 z 50 z 60
lucasb *expectedly
camelia rakudo-moar d35efb: OUTPUT«[10, 20, 30, 50, 60]␤»
notviki Might be something in the grammar affecting it. The above doesn't work with it 14:05
lucasb m: sub infix:<z>(|c) { c }; say (10 z 20)
camelia rakudo-moar d35efb: OUTPUT«\(10, 20)␤»
lucasb m: sub infix:<z>(|c) { c }; say (10 z)
camelia rakudo-moar d35efb: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3sub infix:<z>(|c) { c }; say (10 z7⏏5)␤ expecting any of:␤ prefix␤ term␤»
AlexDaniel alright, 7k queries to go through
lucasb m: sub infix:<:>(|c) { c }; say (10 :)
camelia rakudo-moar d35efb: OUTPUT«\(10)␤»
AlexDaniel weeeeee!
lucasb ^^ noticed the difference with ":" ? 14:06
it parses as valid syntax
dalek c: 7b663ba | coke++ | doc/Language/operators.pod6:
Clear up confusion on temp

Fixes #1085
14:09
synopsebot6 Link: doc.perl6.org/language/operators
14:13 cdg joined 14:20 iH2O left 14:25 kalkin- left 14:26 bjz left 14:30 cdg left 14:32 cyphase left
notviki FWIW: a ton of IO::Path methods and subs are documented as returning failures, but in reality they throw 14:34
There's a ticket for .chdir, but I see most of the routines have the same issue: rt.perl.org/Ticket/Display.html?id=130418
[Coke] samcv: when you add whitespace to files to trigger a new build, that ends up failing one of the xt/ tests.
notviki you can trigger by adding '-' in '------' lines in readme 14:35
samcv nice ok
does any change trigger rebuild? any push? or no
notviki yeah any push 14:36
samcv we should have a dedicated like. scratch file
add or delete a space and push
14:36 cyphase joined
notviki samcv: what is it for? To fetch new atom highlights? 14:36
samcv yeah
notviki We should make the build script check the atom repo for new updates instead 14:37
14:37 domidumont left
samcv that would be cool 14:37
notviki It's this script github.com/perl6/doc/blob/master/u...e-and-sync
[Coke] samcv: you pinged? 14:38
samcv oh. the moar got reverted. so you are not needed regarding that
lucasb m: class C { method foo { say 10 } }; foo C.new: 14:41
camelia rakudo-moar d35efb: OUTPUT«10␤»
lucasb strange, locally in my machine the above snippet is failing, but in camelia it works O.o
I get a 'Undeclared routine: foo' 14:42
can someone test it locally? :) 14:43
notviki you forgot the : at the end locally 14:45
lucasb no, I didn't, even with the ":" at the end of the line, the error happens 14:46
notviki I don't believe you.
regnarg I can confirm this
notviki :S
regnarg on 2016.11
lucasb echo 'class C { method foo { say 10 } }; foo C.new:' | perl6 - 14:47
notviki Oh, it's broken in REPL
lucasb ^^ this triggers, but 'perl6 -e' doesn't
regnarg But this does: echo 'class C { method foo { say 10 } }; foo C.new:' >/tmp/x.p6; perl6 /tmp/x.p6 14:48
14:49 raschi left
lucasb regnarg: thanks for confirming :) 14:49
notviki well, "locally" to me means with -e '' or a script
14:49 raschira joined
notviki
.oO( only weirdos use the REPL... )
14:50
ops, did I think that out loud :o
lucasb perl6 -e $'class C { method foo { say 10 } }; foo C.new:\n'
^^ bash syntax to insert a newline at the end 14:51
notviki :S
lucasb :) 14:52
notviki $ perl6 --target=parse -e 'say "hi":' 14:54
===SORRY!===
Expected native int argument, but got num
14:59 lucasb left, domidumont joined 15:00 b2gills1 is now known as b2gills 15:03 Actualeyes left
[Coke] gfldex: why do we need #130407 ? 15:04
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130407
[Coke] (we already had a few dozen macro tickets...)
15:06 Axord joined, newbie1 joined
[ptc] hrm, it seems that perl.org's mail server doesn't use TLS... 15:08
15:12 sammers left 15:14 pierre_ joined 15:16 Actualeyes joined 15:21 kalkin- joined, teksteiner joined
kalkin- Is S22 up to date? If not what is the autoritative sourrce for that? 15:22
notviki kalkin-: all of speculations are historical documents and are not kept up to date. 15:24
authoritative source would be the roast ( github.com/perl6/roast/ ). 15:25
it's possible this stuff is poorly tested/document tho
kalkin- I see thanks
dalek c: b44666b | coke++ | doc/Language/ (2 files):
Correction of how temp inits a variable.

Move the comparison to p5 (which was inline on temp) instead to local in the p5 section.
Fixes #1085
15:30
pmurias kalkin-: the docs are supposed to be taking over the documentation role from the synopsis 15:35
kalkin- They are not as detailed. Only after reading S6 I really understand subs and signatures 15:36
[Coke] the synopsis don't necessarily describe rality.
*reality.
(but yes, doc site always needs improvement.) 15:37
15:39 sammers joined
kalkin- Perl6 is a HUGE language. The lack of a written down specification can be really harmful.(I know whining doesn't help) 15:39
[Coke] It is written down. just in Perl 6. :| 15:40
notviki kalkin-: it's a simple problem of labour: any change would need hunting down test, docs, AND specs on top of it. 15:41
AlexDaniel kalkin-: well, perhaps you can volunteer to write a “specification” for this HUGE language and keep it up to date
[Coke] you can help though: please open tickets on perl6/docs when you find that something isn't explained (or not explained correctly)
AlexDaniel: that's not really helpful.
notviki never even read the specs
samcv Spurius Carvilius Ruga (fl. 230 BC) was the freedman of Spurius Carvilius Maximus Ruga. He is often credited with inventing the Latin letter G. His invention would have been quickly adopted in the Roman Republic, because the letter C was, at the time, confusingly used both for the /k/ and /g/ sounds. 15:42
interesting
kalkin- AlexDaniel no I'm not but I will try to discipline myself to write down my documentation issues and at least open an issue for them 15:43
AlexDaniel [Coke]: why not? The person is saying that we need a spec-like document. I'm saying that it can happen if he is willing to work on it (because at the moment nobody else is)
notviki I guess he got annoyed with people mispronouncing his name? :)
samcv yeah
SPVRIVS CARVILIVS RVCA (At that time, "U" and "V" were also the same letter).
how his name was spelled 15:44
[Coke] AlexDaniel: he's raising a valid point about the fact that our docs need work. telling him to go write the docs himself is not helpful.
samcv Garvilus
hah.
notviki AlexDaniel: well... we're not really looking to keep specs up to date. 15:45
[Coke] kalkin-: (open issues) perfect. Thanks!
notviki: please don't say "specs" if you mean "synopses".
notviki Expecting a single person to be able to keep it up to date is unrealistic
kalkin- AlexDaniel while I completely agree with the attitude:"do it your self or pay some one to do it", the tone you are choosing is not the nice one for which #perl6 is famous
AlexDaniel notviki: in fact, I was thinking about throwing away some of the parts…
samcv of the spec?
AlexDaniel kalkin-: you are completely right, I'm not the best person to represent perl6 community 15:46
samcv: yes
15:46 sammers left
samcv i try and update the specs as i see them being different but unlike the docs 15:46
there's not an effort to improve _them_ specifically, while for the docs there is
the end point should be that the docs contain all the information
kalkin-, you could open a bug with the docs github issue tracker 15:47
kalkin- Oh I don't need to use the rt system? This is nice
raschira SPVRIVSCARVILIVSRVCA --> Classical Latin didn't have spaces either. 15:48
notviki :o
samcv who needs lowercase letters 15:49
AlexDaniel whoneedsspaces
raschira 'lowercase' for them meant the ones done by hand and uppercase was done with the chisel. 15:50
[Coke] samcv: kalkin- nope, docs are on github.
samcv THEQVICKBROWNDOCJVMPEDOVERTHEQVICKFOX
raschira Is that a J in there? It's the same letter as I in Latin. "Iesus" 15:51
samcv wait they had no J?
so no U and no G and no J either?
i guess all the curvy letters didn't exist?
raschira J came from Hebrew. Lating didn't had it. 15:52
Latin*
samcv nice
who needs vowels actually 15:53
arabic only has implicit vowels
there was some arabic trending hashtag on twitter, i put it in google translate. it's not a word so it just has like random letters with _ where the vowels would go 15:54
raschira IESVSNAZARENVSREXIVDAEORVM
samcv hard to read with my 11pixel high font 15:55
all smashed together
#طالب_يطلق_النار_داخل_مدرسته 15:56
google translates it as # Talib_ataleg_nar_dakhl_msth
don't think there's spaces in arabic either
raschira We wite TRAIANO as Trajano.
or Trajan. 15:57
notviki It says "Student shoots inside the school"
you need to replace the underscores for google translate to understand it
replace with spaces
kalkin- Hmm S22 looks kind of like the most authoritative source besides roast
ugexe.com/perl6-distribution-though...proposals/
samcv are there underscores in there
oh i see
prolly makes it easier to read with underscores? since no spaces in arabic right? 15:58
There are some styles, however, that favour vertical alignment over spacing - these are the Nastaliq styles used for formal writing in Iran and especially Pakistan. In these, words will be written along a diagonal, rather than horizontal , and the start of the next word, as you cant see below (the text reads 'Font Nastaliq') - the first letter of the second word is set directly above the last letter of the first word 15:59
oh that makes sens
qph.ec.quoracdn.net/main-qimg-2a0d..._webp=true see pic
kalkin- Docs are missing CompUnit api documentation
I'm on mobile now I will create an issue later
samcv thanks :) 16:00
pmurias kalkin-: re lack of written specification, would quality reference docs (when they exist) solve a lot of the problem? 16:01
kalkin- Yes 16:02
I should be able to create my own package manager and even perl 6 implementation from something
raschira The "something" you should be use to be able to recreate the language from is roast. 16:03
samcv almost forgot what i was doing. some more research into some unicode things 16:06
wouldn't that be better worked as the 'target'? 16:07
than what it would be created from
raschira It would be created from C or Haskell or NQP or any other language, they're all equivalent in this regard. 16:09
kalkin- A test suite is for checking correctness afaik
raschira An spelled-out spec too.
pmurias a test suite can help out in understanding how something works when the docs are unclear and/or missing 16:10
but I don't think that the need for good docs is really debatable 16:11
16:13 wamba left 16:15 CIAvash joined 16:17 ggoebel joined
notviki docs? pfft... use the source! 16:17
:)
ugexe the CompUnit api is pretty well commented in the code itself 16:22
github.com/rakudo/rakudo/blob/nom/...ository.pm 16:23
notviki so no one rakudobugged the foo C.new: thing? 16:28
cool...
16:29 ChoHag joined
ugexe you can create a package manager without using compunit at all 16:29
16:30 sammers joined
notviki ticketed rt.perl.org/Ticket/Display.html?id=130425 16:30
AlexDaniel: combinations now fixed 16:33
Got more?
16:40 khw joined 16:42 labster joined, labster left
AlexDaniel notviki: there's a pile of stuff, but it'll take some time to get something useful out of it 16:43
notviki :( 16:44
16:44 dugword joined
AlexDaniel commit: 2015.12,HEAD multi regex-dispatch(/fo+/) { }; multi regex-dispatch(/ba+/) {}; regex-dispatch("foo"); 16:45
committable6 AlexDaniel, gist.github.com/734214dab5acba58a9...1ba15861d7
AlexDaniel notviki: what about this?
notviki: current error message doesn't even give a line number
bisect: multi regex-dispatch(/fo+/) { }; multi regex-dispatch(/ba+/) {}; regex-dispatch("foo");
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=d86c419) because on both starting points the exit code is 1
notviki huh 16:46
bisectable6 AlexDaniel, bisect log: gist.github.com/9d7dd2e3b880ba467a...ddb90384c0
AlexDaniel, (2016-12-03) github.com/rakudo/rakudo/commit/5b...a63ee722ff
notviki m: sub (/foo/) { say "wat" }("foobar")
AlexDaniel commit: 5baa064^,5baa064 multi regex-dispatch(/fo+/) { }; multi regex-dispatch(/ba+/) {}; regex-dispatch("foo");
camelia rakudo-moar d86c41: OUTPUT«===SORRY!===␤Cannot find method 'compile_time_value' on object of type QAST::Op␤»
committable6 AlexDaniel, gist.github.com/afb5e765d88b39c6a0...872a7d5779
notviki committable6: 2015.12 sub (/foo/) { say "wat" }("foobar")
committable6 notviki, ¦«2015.12»: Type check failed in binding <anon>; expected Int but got Str␤ in sub at /tmp/RqOplQuuv9 line 1␤ in block <unit> at /tmp/RqOplQuuv9 line 1␤ «exit code = 1»
notviki oh, ok
AlexDaniel yea and it seems to be your fault as well? :)
notviki I thought it was working before
there's an RFC ticket to allow regex literals 16:47
Nah, I made it better. Now it crashes instead of doing the wrong thing :P 16:48
AlexDaniel notviki: both seem to be SORRY
notviki: I'm looking at gist.github.com/Whateverable/73421...1ba15861d7 16:49
notviki I'm looking at:
committable6: 2015.12 sub (/foo/) { say "wat" }("foobar")
committable6 notviki, ¦«2015.12»: Type check failed in binding <anon>; expected Int but got Str␤ in sub at /tmp/FdSPNdsU0T line 1␤ in block <unit> at /tmp/FdSPNdsU0T line 1␤ «exit code = 1»
notviki committable6: 2015.12 sub (/foo/) { say "wat" }()
committable6 notviki, ¦«2015.12»: Too few positionals passed; expected 1 argument but got 0␤ in sub at /tmp/9RTGV22bRL line 1␤ in block <unit> at /tmp/9RTGV22bRL line 1␤ «exit code = 1»
notviki committable6: 2015.12 sub (/foo/) { say "wat" }(3)
committable6 notviki, ¦«2015.12»: Constraint type check failed for parameter '<anon>'␤ in sub at /tmp/b_BLP_LqFH line 1␤ in block <unit> at /tmp/b_BLP_LqFH line 1␤ «exit code = 1»
notviki committable6: 2015.12 sub (/foo/) { say "wat" }(0)
committable6 notviki, ¦«2015.12»: wat
notviki lol 16:50
AlexDaniel o_o
notviki committable6: 2016.12 sub (/foo/) { say "wat" }(0)
committable6 notviki, ¦«2016.12»: ===SORRY!===␤Cannot find method 'compile_time_value' on object of type QAST::Op «exit code = 1»
16:50 skids joined
AlexDaniel yea… well… That's LTA for sure 16:52
16:53 andrewalker joined 16:56 wamba joined, Ven left 16:58 troys joined
AlexDaniel commit: HEAD class A { has $.wut = [] }; my $a = A.new; $a.wut = [1,2,3]; $a.wut 17:02
committable6 AlexDaniel, ¦«HEAD»:
AlexDaniel commit: HEAD class A { has $.wut = [] }; my $a = A.new; $a.wut = [1,2,3]; say $a.wut
committable6 AlexDaniel, ¦«HEAD»: [1 2 3]
AlexDaniel commit: 2015.12 class A { has $.wut = [] }; my $a = A.new; $a.wut = [1,2,3]; say $a.wut
committable6 AlexDaniel, ¦«2015.12»: Cannot assign to a readonly variable or a value␤ in block <unit> at /tmp/GzCq8kX2_c line 1␤ «exit code = 1»
AlexDaniel bisect: class A { has $.wut = [] }; my $a = A.new; $a.wut = [1,2,3]; say $a.wut 17:03
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=b0e61f3). Old exit code: 1
AlexDaniel, bisect log: gist.github.com/fde962e59837ecb5ac...69970cbbf6
AlexDaniel, (2016-03-02) github.com/rakudo/rakudo/commit/fd...7e379b5038
AlexDaniel notviki: my understanding is that it should not allow to set it if it's not 「is rw」 17:04
notviki m: class A { has $.wut = [] }; my $a = A.new; $a.wut = [1,2,3]; say $a.wut.elems
camelia rakudo-moar d86c41: OUTPUT«3␤»
notviki m: class A { has $.wut }; my $a = A.new; $a.wut = [1,2,3]; say $a.wut.elems 17:05
camelia rakudo-moar d86c41: OUTPUT«Cannot modify an immutable Any␤ in block <unit> at <tmp> line 1␤␤»
notviki AlexDaniel: yeah, I'd expect the same
m: class A { has @.wut }; my $a = A.new; $a.wut = [1,2,3]; say $a.wut.elems
camelia rakudo-moar d86c41: OUTPUT«3␤»
notviki m: class A { has %.wut }; my $a = A.new; $a.wut = [1,2,3,4]; say $a.wut
camelia rakudo-moar d86c41: OUTPUT«{1 => 2, 3 => 4}␤»
17:06 holli joined
notviki $ perl6 -e 'm: say combinations 2147483647, 5' 17:07
First parameter out of range. Is: 2147483647, should be in 1..2147483647
17:07 kalkin- left
notviki fun one :) 17:07
(32-bit box)
ugexe so i think we should be able to version the history of the p6 ecosystem via `git log -Gversion -p META6.json` and turning those commit ids into github.com/$user/$repo/archive/$co...-id.tar.gz links 17:11
AlexDaniel commit: all class Foo { submethod BUILD { fail "noway" } } ; dd Foo.new 17:12
committable6 AlexDaniel, gist.github.com/fdf3c8eaa66a4b98cc...f7a24a1267
samcv ugexe, going to bed right now. will respond to both those comments you made tomorrow. cheers
AlexDaniel notviki: is this related to your latest ticket about stuff returning a failure instead of throwing? ↑
samcv is there a .remind?
AlexDaniel yes
samcv .remind samcv test
test
AlexDaniel .in 5h say hello
yoleaux AlexDaniel: I'll remind you at 22:12Z
samcv will it be AT that time 17:13
or the next time i talk
AlexDaniel or probably this
.tell AlexDaniel hello
yoleaux AlexDaniel: Talking to yourself is the first sign of madness.
AlexDaniel t
:(
samcv that sucks
17:13 AlexDaniel is now known as AlexDaniel2
samcv would be nice if you could do that 17:13
moritz .in 5s say hello
yoleaux moritz: I'll remind you at 17:13Z
moritz: say hello
AlexDaniel2 .tell AlexDaniel hello
yoleaux AlexDaniel2: I'll pass your message to AlexDaniel.
17:13 AlexDaniel2 is now known as AlexDaniel
moritz it doesn't wait till I speak up 17:13
notviki .in -5s say "hello" 17:14
yoleaux notviki: I'll remind you at 17:14Z
notviki: say "hello"
notviki heh
AlexDaniel .tell samcv “ugexe, going to bed right now. will respond to both those comments you made tomorrow. cheers”
yoleaux 17:13Z <AlexDaniel2> AlexDaniel: hello
AlexDaniel: I'll pass your message to samcv.
samcv you better yoleaux
.tell Samcv hi
yoleaux samcv: Talking to yourself is the first sign of madness.
17:14Z <AlexDaniel> samcv: “ugexe, going to bed right now. will respond to both those comments you made tomorrow. cheers”
samcv[ .tell samcv{ test
yoleaux samcv[: Talking to yourself is the first sign of madness.
samcv[ dammit
notviki heh
AlexDaniel wtf? xD
samcv\ AlexDaniel, on irc | is uppercase \ 17:15
and [] are lowercase {}
notviki AlexDaniel: on IRC protocol [ and { are capital/lowercase
samcv\ _ uppercase -
mst lol
AlexDaniel oh… really?? O_o
samcv\ yep
notviki The RFC says "Thanks to its Scandinavian origin..."
mst because of course IRC is case preserving but case insensitive
`\\_--_|| my face when i can't get to sleep < 17:16
also a valid irc name
.tell `\\_--_|| test
yoleaux `\\_--_||: Talking to yourself is the first sign of madness.
`\\_--_|| .tell `\\____\| test
yoleaux `\\_--_||: I'll pass your message to `\\____\|.
AlexDaniel just tell to “samcv”, then change your nickname back. As simple as that
just don't talk after that
moritz not talking? sounds hard 17:17
`\\_--_|| i think the bot messed up
pretty sure i said to tell identical as long as - and _ are same
i think they are
er
AlexDaniel it's not written in perl 6, sooo personally I don't really care :)
samcv test 17:18
moritz \\____\| also misses one | at the end
samcv oh did i mess up
does it though?
\| and || are the same on irc for nicknames
same user
well i think i'm actually going to be asleep 17:19
` heh, registered
AlexDaniel bisect: class Foo { submethod BUILD { fail "noway" } } ; dd Foo.new 17:20
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=db1836a). Old exit code: 1 17:21
AlexDaniel, bisect log: gist.github.com/35d6ce075c417ff650...2f6fe99c1f
AlexDaniel, (2016-06-11) github.com/rakudo/rakudo/commit/d5...71548528ea
mst damnit, samcv changed back too quickly
samcv why
mst samcv: because I'm an ass and if I'd caught it in time I could've dropped a +b in #perl and you can't change nick while on a channel you're banned in ;)
samcv yeah 17:22
mst when I was opping #freenode I used to wait until particularly annoying trolls picked a particularly embarassing nick and then drop a +b to make them stuck there
17:22 acrussell joined
samcv they could leave the room? 17:22
mst that didn't make it any less funny tbh 17:23
samcv i once had my bot ban me while my nick was switched. kinda sucked
mst in your case it would've stopped being funny about 30 seconds after you realised what I'd done
samcv lol
also night for realsies!
mst :D
17:27 pyrimidi_ left
AlexDaniel oh, wat 17:29
notviki ? 17:30
AlexDaniel commit: 2015.12 my @array[8]; say @array.elems; .say for @array
committable6 AlexDaniel, ¦«2015.12»: 8␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)
RabidGravy boom!
AlexDaniel kinda makes sense, right?
commit: HEAD my @array[8]; say @array.elems; .say for @array
committable6 AlexDaniel, ¦«HEAD»: 8␤X::TypeCheck::Binding exception produced no message␤ in block <unit> at /tmp/uibEO3sMLN line 1␤ «exit code = 1»
AlexDaniel ? O_o
RabidGravy I can see both tbh 17:31
17:31 zb joined
RabidGravy the latter could do with a message 17:31
AlexDaniel given that it is due to a yet another performance tweak, I'd say this was unintentional ( github.com/rakudo/rakudo/commit/dc...d6bf8c12d0 ) 17:32
RabidGravy shaped array and all
raschira Is the module ecosystem being rebuilt with new P6 versions? 17:33
notviki rebuilt how? 17:34
AlexDaniel raschira: why?
notviki what! where! how!
raschira To know if changes will break people's code.
notviki raschira: no 17:35
raschira: we use the roast for that.
AlexDaniel we actually did that some time ago
notviki We did that for lexical loading branch 17:36
But it's not common practice to test 700+ modules for every change
raschira For exemple, new GCC versions are tested by rebuilding Debian. P5 also is tested by running the CPAN tests.
AlexDaniel I'd actually love to see this being brought to life again
smoke.perl6.org/report
notviki raschira: I guess we do test whatever modules come with Rakudo Star on each Star release 17:37
ugexe m: multi f($) { 1 }; multi f($, :$foo!) { 2 }; say f(42) # this is how i've worked with multis using "optional" named params
camelia rakudo-moar db1836: OUTPUT«1␤»
raschira Now that CPAN is almost supporting P6 modules, CPANtesters will be able to help.
[ptc] \o/
AlexDaniel \o/
notviki really? 17:38
Considering the guy who runs the system said this: irclog.perlgeek.de/mojo/2015-02-01#i_10042374 17:39
AlexDaniel /o\ 17:41
[ptc] however, that comment is from almost two years ago. Maybe he's since changed his mind? 17:42
AlexDaniel \o/ 17:43
[ptc]
.oO(hope dies last...)
[Coke] eh. can't spend too much time worrying about the haters. 17:44
raschira There are ways to deal with things like this, even if he doesn't want to help.
notviki Yeah, by running our own thing instead of constantly dealing with hate from Perl 5 people who view as as cancer that's invading onto their territory 17:46
timotimo sitting two rows behind mister rabbitson 17:47
ribasushi: :)
notviki Throw something at him. Tell 'im it's from me. 17:48
ugexe can you see? he is kinda tall
17:49 kyan joined
timotimo hes slouched in his seat 17:49
notviki timotimo: where are you at?
timotimo his wife next to him, too
33c3
notviki ChaosCommunicationCongress2016 ?
AlexDaniel m: say (-∞^..^∞).in-range: 0/0 17:50
camelia rakudo-moar db1836: OUTPUT«True␤»
notviki m: say (-∞^..^∞).in-range: NaN
camelia rakudo-moar db1836: OUTPUT«Value out of range. Is: NaN, should be in -Inf^..^Inf␤ in block <unit> at <tmp> line 1␤␤»
notviki m: say (my int $)/(my int $) 17:51
camelia rakudo-moar db1836: OUTPUT«Attempt to divide by zero using div␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
timotimo yes notviki 17:52
notviki m: say (-∞^..^∞).in-range: 0/0 17:59
camelia rakudo-moar db1836: OUTPUT«True␤»
notviki m: say (-∞^..^∞).in-range: Inf/Inf
camelia rakudo-moar db1836: OUTPUT«Value out of range. Is: NaN, should be in -Inf^..^Inf␤ in block <unit> at <tmp> line 1␤␤»
notviki AlexDaniel: I'd say it's wrong. 18:00
IEEE 7.2 says ""the default result of an operation that signals the invalid operation exception shall be a quiet NaN that should provide some diagnostic information. These operations are:
[...] e) division: division(0, 0) or division(∞, ∞)"
18:01 cooper joined, cooper left, cooper joined
notviki Prolly should just throw div-by-zero 18:01
AlexDaniel haha, this is a fun one 18:09
m: dd max(Str, Failure.new).WHAT; # Really!?
camelia rakudo-moar db1836: OUTPUT«Failure␤»
AlexDaniel not this one
but this
commit: 2015.12 dd max(Str, Failure.new).WHAT; # Really!?
committable6 AlexDaniel, ¦«2015.12»: Num
AlexDaniel xD
notviki lulz 18:10
m: dd max(Str, Failure.new)
camelia rakudo-moar db1836: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => "Failed"), backtrace => Backtrace.new)␤»
notviki You cheated!
m: say max(Str, Failure.new)
camelia rakudo-moar db1836: OUTPUT«Failed␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
notviki commit: 2015.12 dd max(Str, Failure.new) 18:12
committable6 notviki, ¦«2015.12»: -Inf
notviki ah
AlexDaniel you fixed it already 18:13
18:22 dugword left 18:23 lukaramu joined 18:24 pyrimidine joined
AlexDaniel u: 5 18:25
unicodable6 AlexDaniel, U+106D MYANMAR SIGN WESTERN PWO KAREN TONE-5 [Mc] (◌ၭ)
AlexDaniel, U+1089 MYANMAR SIGN SHAN TONE-5 [Mc] (◌ႉ)
AlexDaniel, U+108F MYANMAR SIGN RUMAI PALAUNG TONE-5 [Mc] (◌ႏ)
18:25 espadrine joined
AlexDaniel u: 「5̧」 18:26
unicodable6 AlexDaniel, U+0035 DIGIT FIVE [Nd] (5)
AlexDaniel, U+0327 COMBINING CEDILLA [Mn] (◌̧)
AlexDaniel, U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
AlexDaniel, U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
AlexDaniel ok
unicodable6 AlexDaniel, gist.github.com/a7e53bcf412329ffa1...ff50ef686a
18:42 kalkin- joined
AlexDaniel commit: 2015.12,HEAD react { whenever Promise.in(1) { say "timeout"; last }; whenever (start { 42 }) { .say } }; say "done" 18:44
18:44 mojca left
committable6 AlexDaniel, ¦«2015.12»: 42␤timeout␤done␤¦«HEAD»: 42␤timeout␤«timed out after 10 seconds, output»: «exit signal = SIGHUP (1)» 18:44
18:57 CIAvash left 18:58 hankache joined 18:59 ThorstenB left
hankache good evening #perl6 18:59
notviki \0
AlexDaniel m: DateTime.new("2016-12-31T23:59:60") 19:00
camelia ( no output )
AlexDaniel m: DateTime.new("2016-12-31T23:59:61")
camelia rakudo-moar db1836: OUTPUT«Second out of range. Is: 61, should be in ^61␤ in block <unit> at <tmp> line 1␤␤»
notviki That was broken 19:01
(:60 is a leapsecond this year)
AlexDaniel very nice choice to insert a leap second at exactly this moment, by the way 19:02
notviki Why? 19:05
19:05 darutoko left
AlexDaniel notviki: no one to fix stuff it it breaks 19:05
notviki doesn't get it :\ 19:06
Oh, 'cause New Years
Doesn't it span for like 28 hours? :)
m: DateTime.new("2016-12-31T23:59:60").in-timezone(999999999999999999999999999999).say 19:07
camelia rakudo-moar db1836: OUTPUT«Cannot unbox 100 bit wide bigint into native integer␤ in block <unit> at <tmp> line 1␤␤»
notviki m: DateTime.new("2016-12-31T23:59:60").in-timezone(2**63).say
camelia rakudo-moar db1836: OUTPUT«Second out of range. Is: 60, should be in 0..^60; a leap second can occur only at 23:59␤ in block <unit> at <tmp> line 1␤␤»
notviki ehehe
bug
m: DateTime.new("2016-12-31T23:59:60").in-timezone(14**3600).say 19:08
camelia rakudo-moar db1836: OUTPUT«Cannot unbox 13707 bit wide bigint into native integer␤ in block <unit> at <tmp> line 1␤␤»
notviki oops
m: DateTime.new("2016-12-31T23:59:60").in-timezone(14*3600).say
camelia rakudo-moar db1836: OUTPUT«2017-01-01T13:59:60+14:00␤»
notviki m: DateTime.new("2016-12-31T23:59:60").in-timezone(-14*3600).say 19:09
camelia rakudo-moar db1836: OUTPUT«2016-12-31T09:59:60-14:00␤»
AlexDaniel :S
notviki m: DateTime.new("2016-12-31T23:59:60").in-timezone(-8*365*3600).say 19:11
camelia rakudo-moar db1836: OUTPUT«2016-09-01T07:59:60-2920:00␤»
notviki m: DateTime.new("2016-12-31T23:59:60").in-timezone(-8*363*3600).say
camelia rakudo-moar db1836: OUTPUT«2016-09-01T23:59:60-2904:00␤»
19:11 acrussell left, acrussell joined
notviki wonder why 2**63 makes it crap out 19:11
19:13 jmerelo joined
geekosaur someone assumed timezone offsets were always small enough that they didn't need to check for overflow? 19:14
raschira Literally clock arithmetic. Nice. 19:15
jmerelo Hi
(Probably) stupid array argument question
notviki m: DateTime.new(:60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000year).say
camelia rakudo-moar db1836: OUTPUT«+60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000-01-01T00:00:00Z␤»
AlexDaniel jmerelo: probably not :) 19:16
jmerelo What am I missing here? sub MAIN( @data ) { say @data };
notviki jmerelo: *@data
in sig
AlexDaniel why *? Why not +?
jmerelo array arguments must be always slurpy?
geekosaur thinks notviki went at the most common answer, tbh 19:17
AlexDaniel and what makes * more common than + ? :)
besides the fact that + is rather new
geekosaur oh, but MAIN so maybe correct anyway
AlexDaniel ahhh
yes
missed this part, yea 19:18
jmerelo But slurpy arguments can't be typed
notviki jmerelo: to MAIN, sure, you can also pass Str types into it (though with recently added experimental support for Enums, you can stick that too, though IIRC you can't have positionals as enum values? or can you)
geekosaur short answer: if you say @data then it expects an array as a single parameter, and you would have to figure out how to phrase an array that way as a command line parameter 19:19
AlexDaniel how can you pass an array as a single parameter?
raschira jmerelo: the MAIN signature has to be something the system can deal with.
19:19 labster joined
geekosaur thought I saw that being done with a subset of perl 6 syntax on the command line (which of course would need to be quoted against the shell parsing it) 19:20
notviki jmerelo: you can type them with where
m: BEGIN $*ARGS='22 44 55'; sub MAIN (*@a where .all ~~ Int) { dd @a }
camelia rakudo-moar db1836: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤An exception occurred while evaluating a BEGIN␤at <tmp>:1␤Exception details:␤ Dynamic variable $*ARGS not found␤ in code at <tmp> line 1␤␤»
geekosaur typed parameters for MAIN are a bit difficult anyway, since the only type the OS interface to command line parameters knows is strings
notviki m: BEGIN @*ARGS= <22 44 55>; sub MAIN (*@a where .all ~~ Int) { dd @a }
camelia rakudo-moar db1836: OUTPUT«[IntStr.new(22, "22"), IntStr.new(44, "44"), IntStr.new(55, "55")]␤»
19:21 kalkin- left
notviki m: BEGIN @*ARGS= <22 44 x>; sub MAIN (*@a where .all ~~ Int) { dd @a } 19:21
camelia rakudo-moar db1836: OUTPUT«Usage:␤ <tmp> [<a> ...] ␤»
notviki seems to work
geekosaur so there are a bunch of gotchas in trying to type something like sub MAIN
notviki m: BEGIN @*ARGS= <True False>; sub MAIN (*@a where .all ~~ Bool) { dd @a }
camelia rakudo-moar db1836: OUTPUT«Usage:␤ <tmp> [<a> ...] ␤»
notviki huh
m: BEGIN @*ARGS= <True>; sub MAIN (*@a where .all ~~ Bool) { dd @a } 19:22
camelia rakudo-moar db1836: OUTPUT«Usage:␤ <tmp> [<a> ...] ␤»
jmerelo It does not like that either sub MAIN ( Num :@data, Int :$max = 10 ) {
perl6 text-chart.p6 --data 1 2 3 4 3 2
rightfold I have a program not written in Perl 6 that outputs TAP, and I want to call it from a Perl 6 test
Is that possible?
jmerelo Basically the problem seems to be you can't enter positionals here...
notviki rightfold: yes, we use TAP
rightfold: even perl 5's `prove`
m: BEGIN @*ARGS= <True False>; sub MAIN (Bool $x, Bool $y) { dd @a } 19:23
camelia rakudo-moar db1836: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '@a' is not declared␤at <tmp>:1␤------> 3alse>; sub MAIN (Bool $x, Bool $y) { dd 7⏏5@a }␤»
rightfold notviki: do I need anything special or can I just forward the other program's output?
notviki m: BEGIN @*ARGS= <True False>; sub MAIN (Bool $x, Bool $y) { dd [$x, $y] }
camelia rakudo-moar db1836: OUTPUT«[Bool::True, Bool::False]␤»
notviki Seems our enums parser doesn't do anything for slurpies
m: BEGIN @*ARGS= <True False>; sub MAIN (*@a) { dd [@a] }
camelia rakudo-moar db1836: OUTPUT«[Bool::True, Bool::False]␤»
notviki oh 19:24
m: dd True ~~ Bool
camelia rakudo-moar db1836: OUTPUT«Bool::True␤»
notviki m: dd False ~~ Bool
camelia rakudo-moar db1836: OUTPUT«Bool::True␤»
notviki wtf
rightfold: just forward the output
rightfold notviki: ok :)
Thank you
jmerelo This seems to work sub MAIN ( Int :$max = 10, *@data ) 19:25
Thanks guys!
notviki jmerelo: note that $max will contain an IntStr if the value is provided 19:26
geekosaur fwiw sub MAIN strikes me as one of those things that's convenient but has too many sharp edges exposed :/
notviki doesn't matter often, but if you're doing sets or something, may as well stick a coercer: Int() :$max
japhb geekosaur: Unfortunately it's so damned convenient I just put band-aids on my typing fingers. 19:27
notviki sub MAIN strikes me as a convienience for quick and dirty scripts, but people expect it to be a full-blown argument handler
rightfold notviki: what about plans? Only one plan may occur in TAP output 19:28
japhb notviki: I end up using it for quite a few things of various sizes. The #1 annoyance for me is forced order for flag arguments. Way down below that is difficulty defining a flag that takes a typed list. And somewhere near the bottom is "It's hard to replicate a command line like imagemagick, where 'flag' order has semantic meaning" 19:29
raschira Use GetOpt if you need something like that. 19:30
notviki rightfold: what are you trying to do, besides running a program that outputs TAP?
rightfold notviki: write some tests in Perl 6 itself 19:31
notviki rightfold: and also output tests of that program?
rightfold Yes 19:32
Merge them
Maybe I won't use plans
Then the problem should be solved
notviki rightfold: just stick the output into subtest
oh
rightfold Oh wait the testing stuff reset $*OUT don't they
notviki and you may need to .indent the output 19:33
notviki tries stuff
19:35 avuserow joined
notviki rightfold: sticking the output into subtest and indenting it works: gist.github.com/zoffixznet/3b65691...fb89952f34 19:36
oh
it's got two plans in subtest, lol
but harness doesn't care
rightfold What is a subtest? 19:37
notviki rightfold: a test within a test. With it's own plan: docs.perl6.org/language/testing#in...tion%3F%29
rightfold Why do you need it for this? 19:39
dalek c: 61932b8 | coke++ | README.md:
These were converted to issues. Removing them.

Closes #1053
raschira What you're doing: you're running another test (in the other program) as a part of the other. Therefore you tell it how it's happening. 19:40
notviki Interesting that TAP spec doesn't mention it
Or rather this website doesn't: testanything.org/tap-version-13-sp...ation.html 19:41
Says last updated in 2007
19:41 mojca joined
notviki rightfold: 'cause otherwise your plan won't match 19:41
And well, I guess it doesn't match either, but at least `prove` doesn't care
*now it doesn't match
19:43 mojca left 19:46 mojca joined 19:48 jmerelo left 19:53 kyan left 19:54 kyan joined, raschira left
rightfold Thanks a lot 19:56
The extra plan is lame though
notviki rightfold: actually I see the extra plan does interfere. It makes teh harness think the subtest passed. 20:01
notviki tries more stuff
rightfold Hmm 20:02
20:03 bjz joined, grumble left
rightfold I suppose the most robust would be to parse the output and reinterpret it 20:04
notviki Yeah
20:05 grumble joined
notviki we have TAP in core, BTW 20:05
rightfold Cool :)
notviki I don't think it's documented tho :}
github.com/rakudo/rakudo/blob/nom/lib/TAP.pm6
And I think there's prove6 somewhere in the ecosystem that uses it 20:06
And I think zef uses it too
buggable: prove6
buggable: eco prove6
buggable notviki, Nothing found
notviki buggable: eco prove
buggable notviki, flow 'a 'prove' replacement written entirely in the perl6 you know and love.': github.com/tony-o/perl6-flow
notviki no not that
buggable: eco testing
buggable notviki, Found 5 results: Testing, PSpec, TestML, Green, P6TCI. See modules.perl6.org/#q=testing
notviki no idea 20:08
ugexe yeah zef uses the perl6 TAP::Harness by default now
notviki if you search #perl6-dev's logs you'll find a link
cool
buggable: zef
buggable: eco zef
buggable notviki, zef 'It's like [cpanm] wearing high heels with a tracksuit': github.com/ugexe/zef
notviki \o/
high heels with a tracksuit? :o 20:09
ugexe: didn't you say you sent a CLA to TPF at some point? What happened with that? 20:10
ugexe otherwise `prove6` can be installed with `zef install TAP::Harness`
notviki buggable: eco TAP::Harness
buggable notviki, TAP::Harness 'TAP harness for perl6': github.com/Leont/tap-harness6
notviki aye, rightfold ^ that's the one with prove6
rightfold 😍 20:11
ugexe notviki: yeah, coke confirmed he couldnt find anything on it. i havent gotten around to doing a follow through
[Coke] I can only see when someone adds a line to the CLA google doc, I don't have access to the actual po box.
(but having just checked and not found samcv, ugexe wasn't there either. last was zoffix) 20:12
20:12 kyan left
ugexe i sent mine in Feb, so i'm pretty sure it got lost and I just need to redo it 20:13
notviki Yeah. Do it. Email it instead of snailmailing
[Coke] docs site question; we've talked about having a search page was a little more full featured than the search box we currently have. I'm going to work on that. (plan: add /search page that shows all the results, prettily. Then we can start restricting results on the dropdown and add links to "show all" which take you to the search page. 20:14
samcv, notviki: on a fresh machine, "make html" dies with: 20:15
... nevermind, it's actually pretty clear. (whoops)
notviki heh
rightfold m: say (^10)»! 20:16
camelia rakudo-moar db1836: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix␤at <tmp>:1␤------> 3say (^10)»7⏏5!␤ expecting any of:␤ postfix␤»
20:16 kyan joined
AlexDaniel 23k/31k \o/ 20:16
notviki \o/
ugexe notviki: which email? karen?
notviki ugexe: ask, samcv
ugexe: Karen resigned
[Coke] karen is no longer president, so no.
one sec.
notviki AlexDaniel: what do you think of this error message: "«First parameter out of range. Is: 42, should be in -Inf^..2147483647␤" 20:17
[Coke] Jim Brandt is the new president.
notviki well, ignore that 42 is in range :)
I mean the -Inf^.. thing.
[Coke] ... it bugs me that the web site doesn't have email addys. :|
20:18 domidumont left
ugexe it has some under Contact Us 20:18
notviki m: X::OutOfRange.new( :what("First parameter"), :got(42), :range("−∞^..2147483647"), ).throw
camelia rakudo-moar db1836: OUTPUT«First parameter out of range. Is: 42, should be in −∞^..2147483647␤ in block <unit> at <tmp> line 1␤␤»
notviki AlexDaniel: or that..
AlexDaniel notviki: it's fine, I'm trying to find a place where we're already doing this.
20:18 Tonik joined
notviki dunno 20:19
AlexDaniel m: say Int.Range
camelia rakudo-moar db1836: OUTPUT«-Inf^..^Inf␤»
AlexDaniel here!
[Coke] ugexe: I pinged the webmaster that the contact us page is out of date.
will let you know as soon as I get an addy 20:20
AlexDaniel notviki: so yes, I see no problem here
notviki cool
ugexe thanks
AlexDaniel m: say Rat.Range 20:25
camelia rakudo-moar db1836: OUTPUT«-Inf..Inf␤»
AlexDaniel :-/
notviki heh
Well, it makes as much sent in Int.
*sence
SENSE
m: say Str.Range
camelia rakudo-moar db1836: OUTPUT«No such method 'Range' for invocant of type 'Str'␤ in block <unit> at <tmp> line 1␤␤»
notviki m: say Numeric.Range 20:26
camelia rakudo-moar db1836: OUTPUT«No such method 'Range' for invocant of type 'Numeric'␤ in block <unit> at <tmp> line 1␤␤»
notviki m: say Complex.Range
camelia rakudo-moar db1836: OUTPUT«No such method 'Range' for invocant of type 'Complex'␤ in block <unit> at <tmp> line 1␤␤»
20:26 zakharyas joined
notviki :/ 20:26
AlexDaniel m: say FatRat.Range
camelia rakudo-moar db1836: OUTPUT«No such method 'Range' for invocant of type 'FatRat'␤ in block <unit> at <tmp> line 1␤␤»
20:29 mojca left
AlexDaniel notviki: ok, RT #130427 for this 20:30
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130427
20:36 bjz left
notviki wonder why fatrat ain't got a range 20:38
rightfold I see Test calls exit in END :/ 20:39
notviki yeah, it got to, to report number of failures 20:41
20:42 teksteiner left 20:43 TEttinger joined 20:44 bjz joined 20:46 mojca joined 20:47 mojca left 20:48 sufrostico joined
rightfold can you load a module by just its filename? 20:51
20:55 dugword joined
ugexe you can require it 20:56
20:56 mojca joined 21:03 bjz left
ugexe m: my $test-dist = CompUnit::RepositoryRegistry.repository-for-name("perl").resolve(CompUnit::DependencySpecification.new(short-name => "Test")).distribution; say $test-dist.prefix.child("sources").child($test-dist.meta<provides><Test><lib/Test.pm6><file>) 21:04
camelia rakudo-moar db1836: OUTPUT«"/home/camelia/rakudo-m-inst-2/share/perl6/sources/C712FE6969F786C9380D643DF17E85D06868219E".IO␤»
21:05 Gasher left 21:09 hankache left
dugword Does the :family parameter on IO::Socket::INET.new actually do anything? The docs say setting it to 3 allows it to support IPv6. But when I use IO::Socket::INET.new(:family(2)) I can still setup a server that accepts connects on ::1. 21:12
21:12 Tonik left
dugword Same as if I use :family(11) 21:13
ugexe m: require "/home/camelia/rakudo-m-inst-2/share/perl6/sources/C712FE6969F786C9380D643DF17E85D06868219E" <&plan &ok>; plan 1; ok 1; # rightfold
camelia rakudo-moar db1836: OUTPUT«1..1␤ok 1 - ␤»
dugword or any value. docs.perl6.org/type/IO$COLON$COLON...method_new
Or am I reading the docs wrong?
21:14 cyphase left 21:16 troys is now known as troys_
[Coke] dugword: it's quite possible there's a gap in the docs. 21:16
NOOOOOOOO! 21:17
just did a perlbrew install, which is painfully slow. one test failed. :|
notviki m: say PIO::PF_INET6
camelia rakudo-moar db1836: OUTPUT«Could not find symbol '&PF_INET6'␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
21:18 Gasher joined, cyphase joined
notviki dugword, I see the code testing for taht ^ value... not sure what it's numerical equivalent is 21:18
code's here github.com/rakudo/rakudo/blob/nom/...et/INET.pm
dugword Oh awesome, thanks notviki 21:19
geekosaur /usr/include/x86_64-linux-gnu/bits/socket.h:#definePF_INET610/* IP version 6. */ 21:21
21:24 bjz joined 21:25 rindolf left 21:28 rindolf joined
dugword So it looks like if the passed value for :family matches PIO::PF_INET6 it enables IPv6, otherwise it does IPv4. So :family(11) has the same effect as :family(2). Also I was setting :localhost('localhost'); changing to :localhost('127.0.0.1') with :family(2) seems to make it only listens on IPv4 21:32
I was hoping it would throw if I tried to enable IPv6 when a system doesn't support it. Doesn't seem to be the case. Is there a good way to check if IPv6 is enabled? I perl5 it would throw if you required require IO::Socket::INET6; 21:34
AlexDaniel m: say Buf.new(104, 101, 108, 108, 111) ~~ /hello/
camelia rakudo-moar db1836: OUTPUT«Nil␤»
21:36 cyphase left 21:38 bjz left
notviki dugword, please file a bug report. 21:39
huggable, rakudobug
huggable notviki, [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
notviki dugword, we shouldn't even deal with magic numbers as arguments. :family(2) is meaningless 21:40
21:41 troys_ is now known as troys
dugword Woo! I'm a bug finding machine. That's 3 in 2 days 21:41
21:41 cyphase joined
notviki yey? :) 21:42
21:43 acrussell left
dugword I love that the source is Perl6, I could probably fix this. What is the specific bug notviki? :family(11) not throwing an error? \ 21:43
notviki Well, what's family 11? 21:44
21:46 pierre__ joined
notviki or family 2 or 3 for that matter 21:46
geekosaur ideally you don't use the numbers... 21:48
dugword The docs at least call out that family 2 is IPv4 and family 3 is IPv6. But the new method takes any Int as that value, and that seems wrong. I agree though a string value of 'ipv4' or something would be better. 21:49
21:49 pierre_ left, domidumont joined
geekosaur I can't wait for someone to port rakudo to a platform that doesn't use the same values 21:50
notviki Why deal with strings? and not just pass a named arg?
geekosaur (at one point that platform was Windows but apparently even Microsoft gave up on people preferring to hardcode nondescriptive numbers) 21:51
RabidGravy or some generated enumeration
21:52 zakharyas left
notviki will never get people's obsession with enums 21:52
dugword like IO::Socket::INET.new(:ipv4) ?
notviki yeah, and default to ipv6
RabidGravy or ipx or decnet or something 21:53
notviki vOv
geekosaur /usr/include/x86_64-linux-gnu/bits/socket.h:#definePF_NETROM6/* Amateur radio NetROM. */ 21:54
:p
notviki kinda disappointed our API is so inconsistent.... socks take ints, chdir takes predefined strings, seek takes predefined enums, match takes bool named args... 21:55
21:55 domidumont left
notviki screams loudly 21:55
... or I would if I weren't on a bus full of people....
dugword Okay, how does a change to a core module API work like that work. Is that part of the Perl 6.c spec?
21:56 kurahaupo joined
notviki dugword, the spec is the roast 21:56
if this behaviour is tested in roast we can't change it until 6.d
github.com/perl6/roast 21:57
6.c-errata branch specifically.
but check master too
21:58 setty1 joined
pmurias IO::Socket::INET should accept numbers other than 2 and 3 21:58
* shouldn't
notviki :/ 21:59
RabidGravy but yes adverby things would be better as the meaning could be interpreted at a lower level
notviki So 2 is IPv6 and 3 is IPv8, right? 22:00
or wait, 11 is v8
or was it 22
dugword If it isn't tested, then changes can be made. E.g. We could have it throw on numbers other than 2 or 3 and potentially add additional named parameters that do the same as :family(2) but more defined
22:00 jabowery joined
RabidGravy if it doesn't break working code that uses the tested behaviour 22:01
while you're at it implement AF_LOCAL as I'd find that a lot more useful 22:02
pmurias RabidGravy: AF_LOCAL is unix sockets 22:03
RabidGravy I know
dugword lol, well this'll be my first pull request into Perl6 (minus the docs) so I'm going to start small
pmurias IO::Socket::INET shouldn't handle unix sockets 22:04
RabidGravy er quite
22:05 lichtkind joined
pmurias notviki: re default to ipv6, the current default is ipv4 22:06
RabidGravy it actually isn't
it will use either 22:07
geekosaur don't confuse behavior of the perl code with behavior of the kernel APIs. Linux distributions love to enable the kernel option that does ipv4 and ipv6 at the same time 22:08
jabowery I installed perl6 on Ubuntu with panda and then Debugger::UI::CommandLine but I can't debug because there is no "perl6-debug" command -- only a "perl6-debug-m" command which, when I invoke it on a rather simple script, brings the system to its knees by spawning a huge number of moar tasks. Any suggestions?
pmurias RabidGravy: depending on the family argument it treat the host argument differently
do we have a tool to grep all the modules in the ecosystem? 22:09
lichtkind greeting 22:11
RabidGravy moritz had a repo with all the ecosystem in
lichtkind are there any docs on banchmarks made over last year?
yoleaux AlexDaniel: say hello 22:12
RabidGravy lichtkind, what kind of docs, what kind of benchmarks? 22:14
lichtkind perl 6 of course and there is an official bnchmark suite i just didnt found there any data
RabidGravy I assumed Perl 6 22:15
lichtkind so maybe someone wrote some blog post i caould not find
RabidGravy I've been "it's fast enough" for a year or so :) 22:16
lichtkind but from what i could read between line from talks i watche dits god around twice as fast in this year 22:17
ah thanks 22:18
timotimo buggable: speed 22:23
buggable timotimo, ▅▅▅▅▆▅▅▆▆▄▅▅▅▄▅▅▅▅▅█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▃▃▃▂▂▂▂▂▂▂▁▁▁▁ data for 2016-12-06–2016-12-28; variance: 5.137s–7.592s
timotimo huggable: speed
huggable timotimo, tux.nl/Talks/CSV6/speed4.html
timotimo lichtkind: ^ one benchmark we use for a lot of stuff 22:24
lichtkind thank you 22:25
timotimo moarvm.org/measurements/perl6-bench/ - this is also a thing 22:26
jabowery Correction: Installed perl6 (and panda) with rakudobrew thence Debugger::UI::CommandLine 22:28
lichtkind that is helpful and appreciated
22:28 cygx joined
cygx lichtkind: also, pbs.twimg.com/media/Cw7W1ECUcAA0bIr.jpg:large and gist.github.com/cygx/9c94eefdf6300...e-graph-md 22:28
(first one by zoffix based on the CVS timings, I think, 2nd one is mine) 22:31
lichtkind isee
22:34 RabidGravy left
notviki pmurias: but how come? 22:34
22:35 sufrostico left
notviki Wasn't there a memo from somewhere about major stuff switching to IPv6 soon and if your ISP doesn't support it you're screwed. 22:35
something or other 22:36
22:36 pierre__ left
notviki cue's mst's vague image 22:36
lichtkind: yeah, today it's 5.137 and exactly a year ago it was around 12.970s 22:38
worth noting it doesn't represent speed up of Perl 6 as a whole.
lichtkind sure 22:39
notviki if you do native arrays you prolly got a lot more speed
while other stuff maybe not that much at all
lichtkind native arrays are typed arrays?
this is the famed nsa stuff
this time without snowden
22:39 cpage left
notviki or shaped arrays I should say. lizmat++ did huge speedups there 22:39
no idea wtf nsa stuff is
lichtkind it was short for native shapd arrays 22:40
but i think they were done before Koleda?
notviki yes
But barely.
it's like my int @a[10] 22:41
or my str @a[10;10] 22:42
lichtkind so they are array of low levvel typed data?
notviki yeah 22:43
lichtkind thank you
notviki and also shaped you can do shapes without native stuff
m: my @a[10;10] = ^10 xx 10; dd @a
camelia rakudo-moar 7193df: OUTPUT«Array.new(:shape(10, 10), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 1,…»
lichtkind and is there a gui i was pondering to do my Sudoku::Solver::Algorithm 22:46
its not about solution but how to get there which solving method can crack wha type of task
but without gui that doesnt make sense 22:47
22:51 lizmat joined, pe joined 22:52 awwaiid joined 22:53 Ven joined
MasterDuke there are some GTK bindings, github.com/perl6/gtk-simple 22:53
pe hi i have this problem somebody can help ? Cannot import symbol Class1 from Class1, because it already exists in this lexical scope
22:54 dataf3l joined
notviki pe: please pastebin the code that produces that issue 22:54
jabowery I posted the question at stackoverflow: stackoverflow.com/questions/4137081...m-thrashes 22:57
22:57 awwaiid left
lichtkind MasterDuke, thanks 22:58
22:59 pe left 23:01 pe joined
pe HELP 23:02
notviki pe: how?
pe: we can't guess what's wrong with your code without us seeing it.
pastebin it
pe but my code have a 1000 lines 23:03
just the problem is a invocation the module 23:04
23:05 kurahaupo left
dalek c: f95f627 | (Zoffix Znet)++ | doc/Type/List.pod6:
Give more details for edgecases in .combinations()
23:06
synopsebot6 Link: doc.perl6.org/type/List
labster In a world… there is a newio branch. Failure means death… or does it?
notviki labster: what? 23:07
geekosaur lizmat++ tried to make IO consistent in the newio branch, but it bitrotted severely before 6.c release
wrt throwing v Failure, etc.
labster lizmat's last reply on RT#130418 was: "Welcome to the world of the newio branch" 23:08
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130418
notviki pe: you have a symbol conflict. You're trying to import Class1 from a module but Class1 already exists in the place you're trying to import it to
So let's resurrect it. 23:09
lizmat fwiw, it bitrotted because nobody wanted to think about it (at least, from my perspective)
geekosaur also from what I saw
notviki ok, that was before my time. I wanna think about it now.
lizmat cool
geekosaur it looked a lot like you trying to keep up with all the changes going on and everyone else ignoring newio entirely
notviki :( 23:10
labster I wanted to think about it, I just never got the time to do so.
lizmat fwiw,. I'm pretty burned out on the newio topic, but am willing to provide background on ideas behind it
should anybody be interested
23:10 pe left
notviki Alright. I'll take a look at it around New Years 23:11
23:11 cpage joined 23:12 pmurias left 23:32 jabowery left, aindilis` left 23:34 lukaramu left 23:36 rindolf left, pierre_ joined 23:42 pierre_ left 23:52 cygx left
samcv hello everybody 23:53
i got some pings last night
[Coke], what was the problem with the build?
for the doc
[Coke] samcv: loaner mactop without an up to date p5. error message was pointing out a missing p5 module. 23:54
samcv ah ok 23:55
[Coke] brewing p5 for a second time now. :|
samcv what perl 5 do we require?
we don't use Perl 5 for just make html right? or?
23:58 troys is now known as troys_