»ö« 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
|