»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:10 rindolf left 00:12 rukusza joined, rukusza left 00:16 molaf left
Xliff AlexDaniel: :) -- The graph is not based on perl6 release, but when I compile. I added the 201812, manually. 00:18
The SHA1 info should be included in git commit notes with that date, so it SHOULD be possible to get some of that info. 00:19
So 201812 would be...2018.12-36-gfb4e4f0db
The one before that is 2018.11-38-g011c6f11d 00:20
So that would be the 20181212 results.
vrurg: Everything you need should be in META6.json 00:23
m: use NativeCall; class A is repr('CStruct') { has Pointer $.buf is rw; }; sub malloc(uint64) returns Pointer is native { * ); my $a = A.new; $a.buffer = malloc(640*480); 00:30
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3c(uint64) returns Pointer is native { * 7⏏5); my $a = A.new; $a.buffer = malloc(640
expecting any of:
statement end
statement modifi…
Xliff m: use NativeCall; class A is repr('CStruct') { has Pointer $.buf is rw; }; sub malloc(uint64) returns Pointer is native { * }; my $a = A.new; $a.buffer = malloc(640*480);
camelia No such method 'buffer' for invocant of type 'A'
in block <unit> at <tmp> line 1
Xliff m: use NativeCall; class A is repr('CStruct') { has Pointer $.buf is rw; }; sub malloc(uint64) returns Pointer is native { * }; my $a = A.new; $a.buf = malloc(640*480);
camelia Cannot modify an immutable 'NativeCall::Types::Pointer' type object
in block <unit> at <tmp> line 1
Xliff Can someone tell me the best way around this ^^
00:35 i1nfusion left
Xliff Nevermind. Figured something out. 00:36
This is kinda weird. But when I use a repr('CStruct') with a pointer and nativecast a CArray to the pointer, I always get corrupted data. 00:37
00:37 i1nfusion joined
Xliff However, when I use a CArray[uint8], it works, perfectly. 00:37
00:37 p6bannerbot sets mode: +v i1nfusion 00:46 w_richard_w joined, p6bannerbot sets mode: +v w_richard_w 00:57 w_richard_w left 01:15 HarmtH left
Xliff m: my $a = 0; $a++ for ^(640 * 480); say now - INIT now 01:29
camelia 0.203833
SmokeMachine m: sub bla(:$a) {}; say &a.signature ~~ %( :2a ) 01:31
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
a used at line 1
SmokeMachine m: sub bla(:$a) {}; say &bla.signature ~~ %( :2a )
camelia Type check failed in binding to parameter '&call'; expected Callable but got Method+{is-nodal} (Method+{is-nodal}.new)
in block <unit> at <tmp> line 1
SmokeMachine should it die?
jnthn Probably not, no 01:32
Though you've got the args to smartmatch backwards
The signature should go on the right
I don't think Signature ~~ Hash has any sensible meaning 01:33
But it shouldn't explode
SmokeMachine jnthn: worked... but should I open an issue for the first one?
jnthn SmokeMachine: Yeah. I have no idea what it's trying to do. I figure, trying to coerce the Signature into a Hash and that goes rather poorly :) 01:41
Xliff Weird. Why am I getting negative numbers from a CArray[uint8]? 01:52
timotimo Xliff: is there a way to grab one of the slowest compiling things and compile only that in isolation such that i could try to profile? 01:54
Xliff Um.
What you could do is compile up to the slowest thing.
timotimo do you have a clue if it got slower right after the new compiler backend was merged? 01:55
it was improved until it got faster than the current stage mast, i believe
and then it was merged 01:56
but only measuring the core setting maybe?
Xliff timotimo: The hash I used for the latest compile is 2018.12-36-gfb4e4f0db
To answer your question, edit the BuildList file and make GTK::Compat::Types the last line. Remove everything else. 01:57
To force a raw compile, there is a "forced" constant at the top.
Just bump it.
Actually, do this: before profiling, run build.sh. That should compile up to AND INCLUDING GTK::Compat::Types. Then you can bump the forced constant each time you want to profile, again 01:59
timotimo: If you want something that takes a weirdly long time that is very simple, try using GTK::Builder::Grid 02:10
timotimo cool
it doesn't find Dependency::Sort but doesn't actually abort building
Xliff Well... no 02:11
That's a slip. Thanks! Will add to META6.
timotimo i'm only now installing the deps with zef anyway 02:12
02:15 evalable6 left
Xliff m: use NativeCall; class A is repr('CStruct') { has Pointer $.buf is rw; }; sub malloc(uint64) returns Pointer is native { * }; my $a = A.new; $a.buf = malloc(640*480) 02:15
camelia Cannot modify an immutable 'NativeCall::Types::Pointer' type object
in block <unit> at <tmp> line 1
Xliff ^^ Why doesn't this work 02:16
02:16 evalable6 joined, ChanServ sets mode: +v evalable6, p6bannerbot sets mode: +v evalable6
timotimo it's probably trying to STORE into it? 02:17
Xliff OK. I think I can see that one. Let's try something else. 02:19
m: use NativeCall; class A is repr('CStruct') { has CArray[uint8] $.buf is rw = CArray[uint8].new; }; sub malloc(uint64) returns Pointer is native { * }; my $a = A.new; $a.buf[0] = 128
camelia CStruct representation attribute not yet fully implemented
in block <unit> at <tmp> line 1
02:19 ryn1x joined
Xliff m: use NativeCall; class A is repr('CStruct') { has CArray[uint8] $.buf is rw = CArray[uint8].new; }; my $a = A.new; $a.buf[0] = 128 02:20
camelia CStruct representation attribute not yet fully implemented
in block <unit> at <tmp> line 1
02:20 p6bannerbot sets mode: +v ryn1x
Xliff Well... that's different! 02:20
02:22 w_richard_w joined 02:23 p6bannerbot sets mode: +v w_richard_w, w_richard_w left 02:24 w_richard_w joined, w_richard_w left
timotimo Xliff: it's possible that using Data::Dump::Tree is what makes Builder::Grid so slow to compile? 02:37
Xliff: i deleted lib/.precomp, then compiled "only" GTK::Builder::Grid. that took 12s 02:38
then i deleted lib/.precomp, compiled "use Data::Dump::Tree", then compiled GTK::Builder::Grid. that time it only took 3.2s for GTK::Builder::Grid 02:39
mystery solved?
i imagine some other file takes the hit for compiling Cairo, and one for Method::Also, and one for Pluggable 02:42
it would probably be reasonable to split them out into their own datapoint, or take them out of the equation entirely
jnthn yay, I managed to schedule it right... perl6advent.wordpress.com/2018/12/...http-apis/ :) 02:44
Goodnight o/ 02:45
timotimo \o/
gnite jnthn
ryn1x m: use NativeCall; my $a = CArray[num32].new(1e0..10e0); say $a.list <<->> $a.list; 02:55
camelia (0 0 0 0 0 0 0 0 0 0)
ryn1x m: use NativeCall; my $a = CArray[num32].new(1e0..10e0); say $a >>-<< $a; 02:56
camelia Ambiguous call to 'infix(Hyper: NativeCall::Types::CArray[num32], NativeCall::Types::CArray[num32])'; these signatures all match:
:(Hyper: Positional:D \left, \right, *%_ --> Positional:D)
:(Hyper: \left, Positional:D \right, *%_ --> Positional:D)…
ryn1x How can I do element-wise math on CArray's without calling .list on them? On my real data .list is way too slow...
timotimo if performance is a concern, have you considered writing it out as a map or for loop? 02:57
ryn1x I've messed around with both... haven't figured out how to write it in a performant way yet though 02:58
03:00 regreg left
Xliff timotimo: You have a good point, sir! I will look into it. 03:00
timotimo alternatively, investigating if CArray's performance can be improved is also a possibility :)
Xliff I will put them into their own datapoint next time 'round. 03:01
timotimo that'll also split them out for older rakudo versions, yes?
Xliff No. No timings. 03:02
But for further rakudo's, yesl.
timotimo aaw
that will make it a little less useful for comparison
Xliff Can't change the past, although I wish I could.
Actually, maybe not.
timotimo download the rakudo builds from whateverable? :)
Xliff LOL! I could do that. 03:03
...next year...
:)
ryn1x m: use NativeCall; my $a = CArray[num32].new(1e0..10e0); my $b = CArray[num32].allocate($a.elems); for ^$a.elems { $b[$_] = $a[$_] - $a[$_] }; say $b.list 03:06
camelia (0 0 0 0 0 0 0 0 0 0)
ryn1x timotimo: were you thinking a for loop like that?
timotimo yeah 03:07
you can try a -> int $_ { ... } too 03:08
that could be faster
and if you want a bit more optimization, you can directly call .ASSIGN-POS and .AT-POS instead of postcircumfix:<[ ]>, since you know what classes you're getting and such
ryn1x My real data is actually a CArrays of CArrays so making that a double for look i so slow I didn't even wait for it to finish... much slower than calling .list on the CArrays and they using hyper 03:09
s/look/loop/
timotimo hum. 03:10
making sure it only pulls out the inner CArray once per outer loop run is essential, but you probably already got that right
ryn1x Is making the hyper operators work with CArray's planned? It seems there needs to be a better way of dealing with them because it is so expensive to converty a a better perl6 type... If I can't figure out a better way of doing simple math operation on CArrays I might have to abandon my curreny project. 03:20
s/converty a/convert to/ 03:21
Subtracting two 1x10^6 element arrays takes 18 secs and two CArrays by calling .list on them takes 39 seconds on my laptop. 03:29
2x time cost because I cant figure out how to work with the CArrays directly... 03:31
timotimo wowza. 03:33
yeah, it'd certainly be wanted to have it work 03:34
is there a possibility to be using native arrays instead of CArray?
m: my num32 @a = 1e0 .. 10000e0; @a »-=« @a; say @a[10]
camelia 0
timotimo m: my num32 @a = 1e0 .. 10000e0; @a »-=« @a; say @a
camelia [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...]
timotimo m: my num32 @a = 1e0 .. 10000e0; @a »-=« @a; say @a.elems
camelia 10000
timotimo m: my num32 @a = 1e0 .. 1e6; @a »-=« @a; say @a.elems 03:35
camelia 1000000
timotimo that seems a bit faster
though perhaps passing them to nativecall will turn them into something else first?
bedtime for me! 03:36
o/
ryn1x I'll look into that. Thanks. Goodnight.
03:49 ufobat___ joined, p6bannerbot sets mode: +v ufobat___ 03:52 loops left 03:53 ufobat_ left
Xliff m: use NativeCall; my $a = CArray[uint8].new( "/dev/random".IO.open(:bin).read(10) ); say $a 04:02
camelia NativeCall::Types::CArray[uint8].new
Xliff m: use NativeCall; my $a = CArray[uint8].new( "/dev/random".IO.open(:bin).read(10) ); say $a[$_] for ^10
camelia 90
1
46
124
-2
82
-1
-81
7
-42
Xliff m: use NativeCall; my $a = CArray[uint8].new( "/dev/random".IO.open(:bin).read(10) ); say $a[$_] for ^10
camelia 46
-65
-121
116
-1
-113
-31
126
-89
98
Xliff m: use NativeCall; my $a = CArray[uint8].new( "/dev/random".IO.open(:bin).read(10) ); say $a[$_] for ^10
camelia 88
15
-17
-14
35
84
88
84
53
89
Xliff m: use NativeCall; my $a = CArray[uint8].new( "/dev/random".IO.open(:bin).read(10) ); say $a[$_] for ^10
camelia 29
-15
50
-128
41
59
77
9
101
-18
Xliff ^^ Why did this return a negative value?!? 04:03
s/this/these/
m: use NativeCall; my $a = CArray[uint8].new( "/dev/urandom".IO.open(:bin).read(10) ); say $a[$_] for ^10 04:04
camelia 57
87
-67
-118
8
73
-10
-123
100
-112
Xliff ^^ Still negative.
04:05 Cabanoss- joined 04:06 p6bannerbot sets mode: +v Cabanoss- 04:07 loops joined, Cabanossi left, p6bannerbot sets mode: +v loops
no-n 🦋 04:14
Xliff \o 04:19
04:57 mowcat left
AlexDaniel Xliff: “The hash I used for the latest compile is 2018.12-36-gfb4e4f0db” 05:14
ok so that's not 2018.12 release
whew :)
ryn1x what is the best way create a new array of a specified length with a specified default value? 05:18
AlexDaniel m: my @foo[5] is default 42; say @foo 05:22
camelia 5===SORRY!5=== Error while compiling <tmp>
is default on shaped Array not yet implemented. Sorry.
at <tmp>:1
------> 3my @foo[5] is default7⏏5 42; say @foo
expecting any of:
constraint
AlexDaniel m: my @foo[5]; @foo = 42 xx @foo.shape[0]; say @foo 05:23
camelia [42 42 42 42 42]
AlexDaniel m: my @foo[5] = 42 xx @foo.shape[0]; say @foo 05:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use variable @foo in declaration to initialize itself
at <tmp>:1
------> 3my @foo[5] = 42 xx @7⏏5foo.shape[0]; say @foo
expecting any of:
term
AlexDaniel
buggable New CPAN upload: HTTP-Supply-0.3.1.tar.gz by HANENKAMP modules.perl6.org/dist/HTTP::Supply...:HANENKAMP
AlexDaniel .tell jmerelo yes, working on it! 05:25
yoleaux AlexDaniel: I'll pass your message to jmerelo.
ryn1x m: my @foo = 42 xx 100; say @foo; 05:28
camelia [42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 4…
ryn1x cool. thanks AlexDaniel. 05:30
The docs website is pretty hard to navigate when you dont know what you are looking for. =( 05:31
I kept looking over the List and Array pages. No way I could have known to search for xx... 05:32
05:49 sauvin joined, p6bannerbot sets mode: +v sauvin 05:53 kurahaupo left 05:58 kurahaupo joined 05:59 p6bannerbot sets mode: +v kurahaupo
Xliff AlexDaniel: Still there? 06:18
m: use NativeCall; my $a = CArray[uint8].new( "/dev/urandom".IO.open(:bin).read(10) ); say $a[$_] for ^10
camelia -126
40
55
-19
14
-96
64
-33
-80
61
Xliff ↑ Why negative?
m: my @foo[5][6] is default 42; say @foo[1][2] 06:19
camelia 5===SORRY!5=== Error while compiling <tmp>
Multiple shapes not yet understood
at <tmp>:1
------> 3my @foo[5][6] is default7⏏5 42; say @foo[1][2]
expecting any of:
constraint
Xliff m: my @foo[5][6]; @foo = (42 xx @foo.shape[0]) xx @foo.shape[1]; @foo[1][2].say 06:20
camelia 5===SORRY!5=== Error while compiling <tmp>
Multiple shapes not yet understood
at <tmp>:1
------> 3my @foo[5][6]7⏏5; @foo = (42 xx @foo.shape[0]) xx @foo.s
expecting any of:
constraint
Xliff m: my @foo[5]; @foo = 42 xx @foo.shape[0]; @foo[3].say
camelia 42
Xliff Well, feh!
AlexDaniel` Xliff : yes
Xliff OK, so what is 2018.12 release? 06:21
And see CArray, above.
AlexDaniel Xliff: 2018.12-36-gfb4e4f0db is 36 commits after 2018.12 06:22
2018.12 is just 2018.12 :)
Xliff Oh.
OK.
Now.... CArray! :)
Coz I can't do this... 06:23
m: use NativeCall; class A is repr('CStruct') { has CArray[uint8] $.buf is rw = CArray[uint8].new; }; my $a = A.new; $a.buf[0] = 128
camelia CStruct representation attribute not yet fully implemented
in block <unit> at <tmp> line 1
AlexDaniel Xliff: it's a bug I think 06:24
there were many cases where uints were allowed to be negative…
a lot of them are now fixed, I think
Xliff :(
I am having problems getting a block allocated by perl to work in C
I can initialize it... see here: 06:25
Ah.... crap. I haven't pushed that code, yet.
AlexDaniel runs away and hides under the bed
:)
Xliff LOL!
Anyways. I saw you liked the graph. 06:26
AlexDaniel yes
Xliff Been keeping track of that for almost 2 months.
AlexDaniel maybe it's a good idea to test it on 2018.12
if it's ok on 2018.12, then the slowdown comes from cur-candidates
Xliff Thought it might be helpful. Timotimo looked at some of it and explained some (but not all) of the slowdown problems.
Code that generated the graph: github.com/Xliff/p6-GtkPlus/blob/m...t-data.pl6 06:27
AlexDaniel: OK. May do that. 06:31
However, I am more concerned with Pango issues.
Had to take a break from GTKPlus and move to Pango since it will be a dependency.
And now Pango is mostly done, but tests are failing because I can't get a stable bitmap buffer using Perl6 06:32
Well... at least "stable until it touches a C routine and then it's SNAFU!"
So CArray[uint8]'s can be negative. It's fine as long as the buffer is stable for C-calls, but it looks like not. 06:33
I am still thinking it's my implementation, tho.
Negative values aren't helping, however. 06:34
06:34 kurahaupo left, kurahaupo joined 06:35 p6bannerbot sets mode: +v kurahaupo 07:35 evalable6 left, unicodable6 left, squashable6 left, bisectable6 left, bloatable6 left, nativecallable6 left, reportable6 left, statisfiable6 left, committable6 left, releasable6 left, shareable6 left, undersightable6 left, greppable6 left, notable6 left, quotable6 left, benchable6 left, coverable6 left, committable6 joined 07:36 shareable6 joined, ChanServ sets mode: +v shareable6, releasable6 joined, ChanServ sets mode: +v releasable6, bloatable6 joined, p6bannerbot sets mode: +v committable6, squashable6 joined, ChanServ sets mode: +v squashable6, p6bannerbot sets mode: +v shareable6, p6bannerbot sets mode: +v releasable6, evalable6 joined, p6bannerbot sets mode: +v bloatable6 07:37 p6bannerbot sets mode: +v squashable6, statisfiable6 joined, p6bannerbot sets mode: +v evalable6, notable6 joined, ChanServ sets mode: +v notable6 07:38 coverable6 joined, p6bannerbot sets mode: +v statisfiable6, p6bannerbot sets mode: +v notable6, quotable6 joined, ChanServ sets mode: +v quotable6, p6bannerbot sets mode: +v coverable6 07:39 reportable6 joined, ChanServ sets mode: +v reportable6, p6bannerbot sets mode: +v quotable6, undersightable6 joined, benchable6 joined, unicodable6 joined, bisectable6 joined, nativecallable6 joined 07:40 p6bannerbot sets mode: +v reportable6, p6bannerbot sets mode: +v undersightable6, p6bannerbot sets mode: +v benchable6, p6bannerbot sets mode: +v unicodable6, greppable6 joined, ChanServ sets mode: +v greppable6, p6bannerbot sets mode: +v bisectable6, p6bannerbot sets mode: +v nativecallable6, grumble left 07:41 p6bannerbot sets mode: +v greppable6, grumble joined, p6bannerbot sets mode: +v grumble 07:59 jmerelo joined 08:00 p6bannerbot sets mode: +v jmerelo
jmerelo Today, we're testing Cro HTTP APIs in the Advent Calendar perl6advent.wordpress.com/2018/12/...ttp-apis/, by none other than jnthn 08:01
yoleaux 21 Dec 2018 17:22Z <jnthn> jmerelo: Post is scheduled, with multiple hours to spare, even :)
05:25Z <AlexDaniel> jmerelo: yes, working on it!
jmerelo .tell AlexDaniel great!
yoleaux jmerelo: I'll pass your message to AlexDaniel.
jmerelo .tell jnthm I've edited it a bit to add a "Continue reading" button and avoid ragged lines in item list. Please check that it's OK, and also if there's somethign similar out there. 08:06
yoleaux jmerelo: I'll pass your message to jnthm.
jmerelo .tell jnthn I've edited it a bit to add a "Continue reading" button and avoid ragged lines in item list. Please check that it's OK, and also if there's somethign similar out there.
yoleaux jmerelo: I'll pass your message to jnthn.
jmerelo (now with the correct letters)
08:16 rindolf joined 08:17 p6bannerbot sets mode: +v rindolf 08:32 epony left
jmerelo .seen ttjjss 08:33
yoleaux I haven't seen ttjjss around.
08:39 scovit joined 08:40 p6bannerbot sets mode: +v scovit 08:43 ryn1x left, ryn1x joined 08:44 p6bannerbot sets mode: +v ryn1x 08:48 ryn1x left 08:52 ChoHag joined 08:53 p6bannerbot sets mode: +v ChoHag 08:54 i1nfusion left 08:56 i1nfusion joined 08:57 p6bannerbot sets mode: +v i1nfusion 09:00 scovit left 09:07 ChoHag left 09:09 ChoHag joined 09:10 p6bannerbot sets mode: +v ChoHag 09:13 avalenn left 09:19 rindolf left 09:26 kensanata joined, p6bannerbot sets mode: +v kensanata 09:28 domidumont joined 09:29 p6bannerbot sets mode: +v domidumont 09:31 scovit joined 09:32 p6bannerbot sets mode: +v scovit 09:44 rindolf joined, p6bannerbot sets mode: +v rindolf 09:48 epony joined, p6bannerbot sets mode: +v epony 09:51 Cabanoss- left 09:52 Cabanossi joined 09:53 p6bannerbot sets mode: +v Cabanossi 10:00 i1nfusion left 10:01 scovit_ joined 10:02 p6bannerbot sets mode: +v scovit_, i1nfusion joined 10:03 p6bannerbot sets mode: +v i1nfusion 10:04 scovit left 10:13 scovit_ left 10:16 kurahaupo left, kurahaupo joined 10:17 p6bannerbot sets mode: +v kurahaupo 10:49 kurahaupo_ joined, kurahaupo left, kurahaupo_ left, kurahaupo joined 10:50 p6bannerbot sets mode: +v kurahaupo
tadzik that's me 10:55
jmerelo: ^
10:59 shlomif joined 11:00 rindolf left, p6bannerbot sets mode: +v shlomif, shlomif is now known as rindolf 11:04 reach_satori left 11:09 scovit joined 11:10 p6bannerbot sets mode: +v scovit 11:16 sena_kun joined 11:17 p6bannerbot sets mode: +v sena_kun 11:18 scovit left
jmerelo tadzik: who? 11:19
(it went up the screen)
Check out this question by ryn1x on math using native CArrays: stackoverflow.com/questions/538940...l6-carrays
Ah, ok, ttjjss
tadzik: I've seen your draft in the WP site, but I don't think I've seen your name in the schedule... Is that intended as a bonus article? Can you please insert it as such in the calendar? 11:21
tadzik jmerelo: it must be from many, many years ago :) 11:28
I've written nothing this year
jmerelo tadzik: ah, OK, sorry. 11:31
tadzik: you could always finish it :-)
tadzik jmerelo: I assume it's something I have finished and published some years ago :) 11:32
jmerelo tadzik: maybe... 11:33
tadzik: that draft list in the site is a box of surprises :-)
Geth doc: ff236f4d1c | (JJ Merelo)++ | doc/Language/experimental.pod6
Eliminates incorrect sentence
12:06
synopsebot Link: doc.perl6.org/language/experimental
12:08 reach_satori joined 12:09 p6bannerbot sets mode: +v reach_satori 12:13 jmerelo left 12:23 molaf joined 12:24 p6bannerbot sets mode: +v molaf 12:46 andrzejku_ left 12:47 andrzejku_ joined, p6bannerbot sets mode: +v andrzejku_ 13:10 kurahaupo_ joined, p6bannerbot sets mode: +v kurahaupo_ 13:12 kurahaupo left 13:14 kurahaupo_ left 13:16 kurahaupo joined 13:17 p6bannerbot sets mode: +v kurahaupo 13:23 zakharyas joined 13:24 p6bannerbot sets mode: +v zakharyas 13:32 sena_kun left 13:33 kensanata left, sena_kun joined 13:34 p6bannerbot sets mode: +v sena_kun 13:40 pmurias joined, p6bannerbot sets mode: +v pmurias 13:41 HarmtH joined 13:42 p6bannerbot sets mode: +v HarmtH 13:49 molaf left, domidumont left 13:53 reach_satori left 13:57 pmurias left 14:00 pmurias joined, p6bannerbot sets mode: +v pmurias 14:01 Scimon joined, p6bannerbot sets mode: +v Scimon 14:04 HarmtH left 14:10 reach_satori joined 14:11 p6bannerbot sets mode: +v reach_satori 14:14 pmurias left 14:18 zakharyas left, sena_kun left 14:23 pmurias joined, p6bannerbot sets mode: +v pmurias 14:36 riatre joined 14:37 p6bannerbot sets mode: +v riatre
Ulti "Unsupported use of a negative -1 subscript to index from the end; in Perl 6 please use a function such as *-1" <--- so this is actually more annoying than I would have realised as *1 and *+1 don't work consistently with what *-1 implies... if you want to use a mixture of indexing from either end with a single expression whats the trick? 14:41
I guess a more general question, whats the wisdom for not supporting negative integers as being automatic indexing from the end of an array? 14:43
timotimo { $_ >= 0 ?? $idx !! $_ + $idx } 14:44
er
{ $idx >= 0 ?? $idx !! $_ + $idx }
Ulti yeah I was trying to avoid a conditional
timotimo m: sub indexify($idx) { -> $cnt { $idx >= 0 ?? $idx !! $cnt + $idx } }; my @a = 1, 2, 3, 4, 5; say @a[indexify(3)]; say @a[indexify(-1)]; 14:45
camelia 4
5
Ulti this is more how to do it rather than a trick >;P
timotimo m: sub prefix:<×>($idx) { -> $cnt { $idx >= 0 ?? $idx !! $cnt + $idx } }; my @a = 1, 2, 3, 4, 5; say @a[×3]; say @a[×-1];
camelia 4
5
Ulti hah I like the second one 14:46
though anyone ever coming across my code will probably curse my name into oblivion
also given the code I'm writing we probably need a "Collections" type library for Perl 6 that just has a lot of additionaly abstract data structures implemented, I highly doubt Im the only person who wants a circular buffer of things... especially as jnth has some of those nice lockless thread safe ones hanging out too 14:49
though this one specifically is ordered with respect to time and maintains a head 14:50
which I guess is a bit more weird to my use case 14:51
15:06 domidumont joined, p6bannerbot sets mode: +v domidumont 15:08 Sgeo_ joined, p6bannerbot sets mode: +v Sgeo_ 15:10 molaf joined 15:11 Sgeo left, p6bannerbot sets mode: +v molaf 15:14 klapperl left 15:17 sena_kun joined 15:18 p6bannerbot sets mode: +v sena_kun 15:24 albongo joined, albongo left, albongo joined, p6bannerbot sets mode: +v albongo 15:25 p6bannerbot sets mode: +v albongo 15:32 zacts joined, p6bannerbot sets mode: +v zacts 15:35 Sgeo joined 15:36 p6bannerbot sets mode: +v Sgeo 15:37 Sgeo_ left 15:45 klapperl joined 15:46 Sgeo_ joined, p6bannerbot sets mode: +v klapperl, p6bannerbot sets mode: +v Sgeo_ 15:49 Sgeo left 15:51 i1nfusion left 15:53 i1nfusion joined, p6bannerbot sets mode: +v i1nfusion 16:00 Sgeo joined 16:01 p6bannerbot sets mode: +v Sgeo 16:03 Sgeo_ left 16:07 pmurias left 16:08 pmurias joined, p6bannerbot sets mode: +v pmurias, ceevusee joined, p6bannerbot sets mode: +v ceevusee 16:11 zacts left 16:12 Ven`` joined 16:13 p6bannerbot sets mode: +v Ven``, i1nfusion left 16:15 i1nfusion joined, Scimon left 16:16 p6bannerbot sets mode: +v i1nfusion 16:21 xinming_ joined 16:22 p6bannerbot sets mode: +v xinming_, Ven`` left 16:24 xinming left 16:33 ceevusee left 16:37 SCHAPiE left 16:41 khisanth__ left 16:54 khisanth__ joined 16:55 p6bannerbot sets mode: +v khisanth__ 16:57 sena_kun left 16:58 SCHAPiE joined, p6bannerbot sets mode: +v SCHAPiE 17:04 ceevusee joined, p6bannerbot sets mode: +v ceevusee 17:05 zacts joined, p6bannerbot sets mode: +v zacts 17:11 mowcat joined 17:12 p6bannerbot sets mode: +v mowcat 17:21 ceevusee left
AlexDaniel . 17:22
yoleaux 08:01Z <jmerelo> AlexDaniel: great!
17:23 grumble is now known as SeasonsGreetings 17:31 zakharyas joined 17:32 p6bannerbot sets mode: +v zakharyas 17:33 SCHAPiE left 17:35 pmurias left 17:36 pmurias joined, p6bannerbot sets mode: +v pmurias 17:37 moony left, moony joined, p6bannerbot sets mode: +v moony
El_Che AlexDaniel: thx for the release! 17:38
AlexDaniel \o/
17:42 SCHAPiE joined, p6bannerbot sets mode: +v SCHAPiE 17:58 zacts left, molaf left 18:05 von-strauss joined, p6bannerbot sets mode: +v von-strauss 18:09 khisanth_ joined 18:10 p6bannerbot sets mode: +v khisanth_ 18:13 khisanth__ left
AlexDaniel robertle: hello, how is it going? 18:17
robertle great I guess, how about you? 18:21
AlexDaniel robertle: awesome, working on the advent post. I'm wondering, will 2019.01 end up in debian or transition freeze will prevent that? 18:23
robertle not sure, this stuff is hard to predict. do you have special expectations for 2019.01 compared to 2018.12? 18:24
I just uploaded 2018.12. it's still building on some archs but looks good so far. some test failures on ppc64el that I have not looked into yet 18:25
AlexDaniel yeah I'm hitting F5 furiously on the buildd page
:) 18:26
robertle I would like to add a handful of modules, but can't quite decide which to start with. any input welcome 18:27
you may also have seen dh-perl6 which is in the new queue at the moment, that will make things much easier for us
AlexDaniel robertle: no special expectations, but just wanted to know, just in case 18:28
robertle: maybe starting from top to bottom here: finanalyst.github.io/ModuleCitation/ 18:29
18:29 pmurias left
AlexDaniel robertle: JSON::Fast for sure 18:29
robertle ah, that is a fab page! 18:31
18:34 pmurias joined, p6bannerbot sets mode: +v pmurias 18:35 i1nfusion left 18:36 dmaestro joined, p6bannerbot sets mode: +v dmaestro
dmaestro m: say <hello> 18:36
camelia hello
18:36 i1nfusion joined
AlexDaniel robertle: let me know if there's anything blocking the transition of 2018.12 into testing, I can cut a point release just for you ♥ 18:37
dmaestro m: set(set(<a b c>) (+) set(<c e>)).WHAT.say
camelia (Set)
18:37 p6bannerbot sets mode: +v i1nfusion 18:49 mowcat left
rjbs So, I subscribe to the RSS feed for "Weekly changes in and around Perl 6" and it seems like every entry appears twice. Anybody else see this? 18:50
18:52 mowcat joined, mowcat left 18:53 mowcat joined, p6bannerbot sets mode: +v mowcat 18:55 i1nfusion left
timotimo dmaestro: (+) is coercive, so you're allowed to leave out the set(...) around your lists 18:55
18:56 i1nfusion joined 18:57 p6bannerbot sets mode: +v i1nfusion
timotimo twitter.com/ebidel/status/1070790860512448512 - perl6 bindings anybody? %) 18:59
(i have no idea if it's something you can bind from perl6 without major work) 19:00
19:02 ChoHag left 19:03 zakharyas left 19:11 jmerelo joined, bolangi left 19:12 p6bannerbot sets mode: +v jmerelo 19:13 bolangi joined 19:14 p6bannerbot sets mode: +v bolangi 19:24 uzl joined, pmurias left 19:25 p6bannerbot sets mode: +v uzl 19:26 pmurias joined, pmurias left 19:27 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias timotimo: isn't this a js thing? 19:27
uzl .seen jmerelo
yoleaux I saw jmerelo 11:33Z in #perl6: <jmerelo> tadzik: that draft list in the site is a box of surprises :-)
19:27 pmurias left
jmerelo I'm (very temporarily) here 19:28
hi, Luis!
uzl jmerelo: Oh, great!
How are you doing?
jmerelo: So the 25th is around the corner and I'm clueless regarding the process of posting my P6 Advent article on WP. 19:30
19:32 pmurias joined, p6bannerbot sets mode: +v pmurias
jmerelo First and foremost: don't panic :-) 19:33
Second: you need a WP id. You have that?
uzl: tbrowder helpfully provided this guide: github.com/perl6/advent/blob/maste...IBUTING.md 19:34
pmurias timotimo: so using it would require either a node.js binding for moar, or rakudo.js ;)
19:37 von-strauss left
timotimo good thing, then, that we have rakudo.js <3 19:38
pmurias++
19:38 SeasonsGreetings is now known as SeasonsBeatings, uzl left 19:39 bolangi left
buggable New CPAN upload: PDF-Class-0.3.4.tar.gz by WARRINGD modules.perl6.org/dist/PDF::Class:cpan:WARRINGD 19:44
19:46 bolangi joined 19:47 p6bannerbot sets mode: +v bolangi, uzl joined 19:48 p6bannerbot sets mode: +v uzl
uzl jmerelo: yes, I have the id already. 19:49
I'll go through tbrowder's guide. Thanks!
jmerelo uzl: you need anything, just let me know... 19:51
19:51 jmerelo left 19:54 _uzl joined, _uzl left 19:56 uzl left 20:05 domidumont left
dmaestro timotimo: thanks for the reminder about (+) - I was testing because the op seems to have been broken for at least a few versions of Rakudo* 20:16
On 2018.10 I get the result: Bag(a, b, c(2), e)
I'd like to know the version history here ... docs say it should return Set 20:18
m: <a b c> (+) <c e>
camelia WARNINGS for <tmp>:
Useless use of "(+)" in expression "<a b c> (+) <c e>" in sink context (line 1)
dmaestro m: (<a b c> (+) <c e>).say 20:19
camelia Bag(a, b, c(2), e)
dmaestro m: (<a b c> (+) <c e>).WHAT.say
camelia (Bag)
dmaestro ??
m: (set(<a b c>) (+) set(<d e>)).WHAT.say 20:20
camelia (Bag)
dmaestro Oh, the bug is still there ?? 20:21
Didn't see that I copied the set() coersion on the whole expression the first try.
m: (<a b c> (+) <d e>).WHAT.say 20:22
camelia (Bag)
dmaestro m: (<a b c> (+) <d e>).say 20:23
camelia Bag(a, b, c, d, e)
dmaestro m: (set(<a b c>) (+) set(<d e>)).say
camelia Bag(a, b, c, d, e)
dmaestro Hmm, I really want a "Set-ty" operator here; turns out (+)= does not work with a my Set $s; 20:28
m: my Set $s = set(); $s (+)= set(<a b c>)
camelia Type check failed in assignment to $s; expected Set but got Bag (("a"=>1,"c"=>1,"b"=>1...)
in block <unit> at <tmp> line 1
dmaestro m: my Set $s = set(); $s = $s (+) set(<a b c>) 20:29
camelia Type check failed in assignment to $s; expected Set but got Bag (("a"=>1,"b"=>1,"c"=>1...)
in block <unit> at <tmp> line 1
dmaestro m: my Set $s = set(); $s = ($s (+) set(<a b c>)).set; say $s 20:30
camelia No such method 'set' for invocant of type 'Bag'. Did you mean 'Set'?
in block <unit> at <tmp> line 1
dmaestro m: my Set $s = set(); $s = ($s (+) set(<a b c>)).Set; say $s
camelia set(a b c)
dmaestro "In some cases, if the type of an argument is a Bag, the infix operator will behave in a different but analogous way to the way it would behave with only Set arguments." - from Sets, bags, and mixes 20:31
OK, I guess I'm looking for (|), not (+) !! 20:34
m: my Set $s = <a b c>;
camelia Type check failed in assignment to $s; expected Set but got List ($("a", "b", "c"))
in block <unit> at <tmp> line 1
dmaestro m: my Set $s = <a b c>.Set;
camelia ( no output )
dmaestro m: my Set $s = <a b c>.Set; $s (|)= <c d>; $.say 20:35
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable $.say used where no 'self' is available
at <tmp>:1
------> 3t $s = <a b c>.Set; $s (|)= <c d>; $.say7⏏5<EOL>
expecting any of:
term
dmaestro m: my Set $s = <a b c>.Set; $s (|)= <c d>; $s.say
camelia set(a b c d)
dmaestro OK, so (|) is the Set (union) operator, (+) is explicitly "Baggy" - problem solved. 20:36
20:44 SeasonsBeatings is now known as SeasonsGreetings 21:19 AlexDaniel left
timotimo i was AFK for all of that, otherwise i could have helped earlier :S 21:19
21:21 i1nfusion left 21:23 i1nfusion joined 21:24 p6bannerbot sets mode: +v i1nfusion 21:36 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
SmokeMachine jnthn: while reading your post, when I read about saving trees on database, I started hoping you were using Red for that... 21:40
21:40 pmurias left 21:41 rindolf left
timotimo SmokeMachine: using unreleased software? ;) 21:43
21:44 pmurias joined, p6bannerbot sets mode: +v pmurias
SmokeMachine timotimo: I knew I was wrong to not release that!!! :) 21:45
I think I’ll get jnthn’s code and add Red to that... jnthn: would you mind? 21:46
Xliff jnthn/timotimo: Will a nativecall sub def take Blob[uint8]? 21:47
21:48 pmurias left
Xliff Is puppet C-based or js? 21:48
Looks like its JS, although I admit to glossing over the link.
SmokeMachine Isn’t puppet ruby based? 21:49
21:51 Cabanossi left 21:52 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias SmokeMachine: it's a different browser controlling puppet 21:52
21:52 Cabanossi joined 21:53 p6bannerbot sets mode: +v Cabanossi, i1nfusion left 21:55 i1nfusion joined 21:56 p6bannerbot sets mode: +v i1nfusion 21:57 ferreira left
timotimo this is puppetteer, though? not puppet? 22:02
or is puppetteer an implementation of puppet or something?
22:03 jeek joined 22:04 p6bannerbot sets mode: +v jeek
Xliff .seen Zoffix 22:04
yoleaux I saw Zoffix 30 Nov 2018 23:37Z in #perl6: <Zoffix> huggable: AlexDaniel
AlexDaniel Xliff: any reason why you're looking for Zoffix? Like maybe I can help with something?
Xliff Just curious
Oh, and --> Will a nativecall sub def take Blob[uint8]? 22:05
pmurias timotimo: got confused 22:07
timotimo i would expect that to work, tbh
pmurias: who wouldn't given all these libraries, frameworks, and tools :) 22:08
22:21 pmurias left 22:23 pmurias joined, p6bannerbot sets mode: +v pmurias, pmurias left 22:26 isBEKaml joined, p6bannerbot sets mode: +v isBEKaml 22:28 pmurias joined, p6bannerbot sets mode: +v pmurias 22:30 Sgeo left
SmokeMachine timotimo, jnthn: www.irccloud.com/pastebin/RhTFnJMn/ 22:54
23:00 isBEKaml left 23:04 ufobat___ left 23:10 i1nfusion left 23:12 i1nfusion joined, p6bannerbot sets mode: +v i1nfusion 23:16 khisanth_ left 23:17 daemon left, daemon joined, p6bannerbot sets mode: +v daemon 23:19 khisanth_ joined, daemon left, p6bannerbot sets mode: +v khisanth_ 23:23 zncadminb joined, p6bannerbot sets mode: +v zncadminb
nadim timotimo: the patches to Data::Dump::Tree didn't take much time (thanks to the people who made them) what was your iintegration dea with 6pad? 23:23
23:26 zncadminb left 23:28 WqZtM52a joined, p6bannerbot sets mode: +v WqZtM52a 23:32 WqZtM52a left, WqZtM52a joined, hitchcock.freenode.net sets mode: +v WqZtM52a, p6bannerbot sets mode: +v WqZtM52a 23:33 WqZtM52a left, WqZtM52a joined, WqZtM52a is now known as daemon, p6bannerbot sets mode: +v daemon 23:40 ferreira joined 23:41 p6bannerbot sets mode: +v ferreira 23:49 HarmtH joined, p6bannerbot sets mode: +v HarmtH