»ö« 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:00 sena_kun left 00:06 patrickz left 00:20 AlexDaniel left 00:27 reach_satori joined, reach_satori left, reach_satori joined 00:30 ctilmes left 00:32 w_richard_w joined
vrurg .seen sergot 00:33
yoleaux I saw sergot 24 Jan 2019 14:32Z in #perl6: <sergot> oh, Mar and May...
00:37 lookatme_q left 00:49 w_richard_w left, w_richard_w joined 01:07 Xliff left 01:11 ctilmes joined 01:15 w_richard_w left, w_richard_w joined 01:23 vrurg left, vrurg joined 01:25 regreg joined 01:31 netrino left 01:36 MidCheck joined 01:44 isomorphismes left 01:55 regreg left 02:01 Manifest0 left 02:09 Manifest0 joined 02:16 xiaoyafeng joined 02:17 zacts left, zacts joined 02:31 xiaoyafeng left 02:48 Xliff joined
Xliff \o 02:50
02:55 Manifest0 left 03:00 Manifest0 joined 03:11 Manifest0 left 03:16 Manifest0 joined 03:18 adu joined 03:26 mowcat left 03:27 Kaiepi left 03:29 Kaiepi joined 03:35 zacts left 03:37 Manifest0 left 03:42 Manifest0 joined 03:43 hamhu3_ joined 03:45 hamhu3 left 03:46 MidCheck left 03:54 Xliff left 03:57 Manifest0 left 04:01 ayerhart left, Manifest0 joined 04:02 w_richard_w left 04:06 [Sno] left 04:18 Kaiepi left 04:20 Manifest0 left 04:23 SqrtNegInf left, ayerhart joined 04:25 Manifest0 joined 04:27 zacts joined 04:51 zacts left 04:54 xiaoyafeng joined 04:59 Manifest0 left 05:05 Manifest0 joined 05:11 Manifest0 left 05:12 xinming_ joined 05:15 adu_ joined 05:17 Manifest0 joined, adu left, adu_ is now known as adu, ctilmes_ joined 05:19 ctilmes left 05:20 ctilmes joined, ctilmes_ left 05:32 Manifest0 left 05:36 b2gills left, w_richard_w joined 05:38 Manifest0 joined 05:47 xiaoyafeng left 05:50 Actualeyes left 05:55 yurii left 06:02 b2gills joined 06:04 zacts joined 06:09 w_richard_w left, w_richard_w joined 06:11 SqrtNegInf joined 06:18 Manifest0 left 06:23 domidumont joined 06:24 Manifest0 joined 06:25 SmokeMachine left 06:26 Actualeyes joined 06:27 skaji left 06:30 w_richard_w left, w_richard_w joined 06:31 iviv left 06:32 abraxxa joined 06:33 SmokeMachine joined, BuildTheRobots left 06:34 mithaldu_ left 06:35 jmerelo joined 06:36 kipd left 06:40 sauvin joined 06:42 SmokeMachine left 06:43 BuildTheRobots joined 06:45 BuildTheRobots left 06:47 BuildTheRobots joined 06:48 BuildTheRobots left 06:50 w_richard_w left 06:51 ufobat_ joined, kaare_ joined, w_richard_w joined, w_richard_w left 06:52 SmokeMachine joined, w_richard_w joined, BuildTheRobots joined, kipd joined 06:53 iviv joined, w_richard_w left, w_richard_w1 joined 06:55 ufobat left, w_richard_w1 is now known as w_richard_w, w_richard_w left 06:56 kaare_ left 06:59 w_richard_w joined 07:00 mithaldu_ joined, skaji joined 07:02 domidumont left 07:03 w_richard_w left, w_richard_w joined, w_richard_w left 07:08 w_richard_w joined 07:10 w_richard_w left 07:12 w_richard_w joined, w_richard_w left, w_richard_w joined 07:19 domidumont joined 07:28 ayerhart left 07:31 patrickb joined 07:32 ayerhart joined, ayerhart left 07:33 ayerhart joined
lizmat clickbaits p6weekly.wordpress.com/2019/04/15/...hrodinger/ 07:35
07:35 dakkar joined
discord6 <Vendethiel> clicks 07:35
07:38 rindolf joined
jmerelo Hi 07:42
yoleaux 15 Apr 2019 17:42Z <samcv> jmerelo: I have sent an assignment to my two potential students. to be completed in the next 7 days
jmerelo .tell samcv OK. Good luck. Keep me posted.
yoleaux jmerelo: I'll pass your message to samcv.
jmerelo I'm trying to find out a real use case for race/hyper for github.com/perl6/roast/blob/2288d4...race/for.t 07:43
Seems to me like anything sensible would be better done with a hyper.map or race.map
07:44 zakharyas joined 07:50 kaare_ joined 07:56 kaare_ left
timotimo it's easier to turn sequential code using a for loop into a hyper for than to turn it into a hyper map, maybe 07:59
jmerelo timotimo: I'll document it anyway, but it seems to me that the hyper for/race for does not make a lot of sense. They take _longer_ than the bare for, too. 08:02
timotimo jmerelo: what example code are you running for that measurement?
moritz: i can't connect to p6c's vm host :o 08:03
08:04 BuildTheRobots left 08:05 SmokeMachine_ joined 08:06 BuildTheRobots joined
Geth doc: de5071406b | (JJ Merelo)++ | doc/Language/statement-prefixes.pod6
Adds race/hyper closes #534 refs #2034
08:06
synopsebot Link: doc.perl6.org/language/statement-prefixes
jmerelo timotimo: this one: github.com/rakudo/rakudo/issues/2844
08:06 SmokeMachine left, SmokeMachine_ is now known as SmokeMachine 08:08 rindolf left
timotimo jmerelo: wouldn't that try to concurrently reify the two arrays? 08:10
or does the assignment do that bfore my $start?
that @sum-fib = ... looks kind of wrong? 08:11
jmerelo timotimo: why? 08:12
timotimo: it's just a sum
timotimo that'd mean all threads are hammering the same memory location, that doesn't make caches happy 08:13
08:14 rindolf joined
timotimo and the code inside the for loop itself is probably really, really fast 08:14
jmerelo timotimo: better to just print it?
timotimo so the benefit of parallelizing will be rather slim, and perhaps rakudo won't even spawn an extra thread for work because splitting the work up is maybe slower than doing the work
jmerelo timotimo: as a matter of fact, it's slower 08:15
timotimo: 3x
timotimo printing will be slower, but it'll also be strongly contending the I/O lock
i'm refering only to the internals of the RaceSeq and its workers
not comparing for blah vs race for blah
jmerelo timotimo: so back to the original question: give me a real use case for that. If you are doing I/O it's bad, if you're accessing memory locations it's bad
timotimo: you can probably do some complicated thing and write it to a Channel, I guess... 08:16
timotimo but yeah, you'll get all the overhead of splitting the range into bits, shoving the values between threads, all that 08:17
jmerelo timotimo: baseline is: if you want to do autothreading, you will probably have to set stuff up in the same (maybe complicated) way that if you did manual threading.
timotimo "accessing memory locations" isn't the point; the point is writing to the same variable from every thread as fast as possible. that just doesn't make too much sense. what kind of workload is that? 08:18
if that's your workload, why not @sum-fib = @fib100k[100000] + @fib100k-plus[100000]
jmerelo timotimo: no workload. I was trying to come up with a sensible example for race/hyper for for the documentation.
08:18 rindolf left
jmerelo timotimo: or, even better, just do a Z and apply a hyper to the result. 08:19
timotimo: finally, as you see above, I have just used the test in roast.
timotimo i'm slightly surprised that test is enough to get a second thread to spawn
jmerelo timotimo: but of course if you can think of something better I'm all ears.
timotimo how about something like a particle system? 08:20
then you'd have different memory locations being written to, and more than just a single addition in the work loop
ah, fantastic, liz posted an example with the snapper active 08:22
i wonder why the maxrss keeps growing
oh 08:23
the first ~3 seconds were just creating the two fibonacci arrays
08:23 rindolf joined
timotimo so perhaps growing the arrays is what makes maxrss go up like that 08:23
08:29 go|dfish left
timotimo lizmat: how do you feel about an API for telemetry like T<checkpoint> = "here's my custom message", which would show up in the snapper's output at the point where the assignment was made? (and assigning over and over is fine, and assigning from other threads is also fine)? 08:31
lizmat feels like a plan... want me to do it? or you wanna go at it yourself? 08:32
timotimo (also i'd want the message to be pushed into the backend with an nqp:: op, so that the profiler can also record it) 08:33
i'd be glad if you could do it
08:33 Manifest0 left
lizmat timotimo: which nqp op did you gave in mind ? 08:37
timotimo it'll be a new one 08:38
just put a comment in the source code where it'd be appropriate and i'll add it later :D
lizmat oki 08:39
timotimo hooray
Geth doc: 1dbaeef5d5 | (JJ Merelo)++ | doc/Language/statement-prefixes.pod6
Fixes presentation of hyper and race

Thanks to @timo , @jnthn and @lizmat for clarifications.
synopsebot Link: doc.perl6.org/language/statement-prefixes
timotimo also i'd love for Telemetry to get an API that lets the user manually cause a heap snapshot to be taken by the heap snapshot profiler 08:40
08:40 Manifest0 joined 08:49 Manifest0 left
discord6 <Vendethiel> .oO( Clearly we need Ruby's set_trace_func ) 08:52
timotimo i believe python has that same thing as well 08:55
08:55 sena_kun joined 08:56 Manifest0 joined
lizmat timotimo: can one push to a repr('ConcBlockingQueue') from multiple threads without losing anything / segfaulting ? 09:01
timotimo yes
lizmat cool
timotimo it's rather important for that to work :)
lizmat right, just checking
so, what I was thinking was to add a "checkpoint" sub to Telemetry
that would do a snap with the given message and store that in the default snapper queue 09:02
timotimo sure; it might want to have the exact timestamp, too, or maybe that's already what you're suggesting 09:03
lizmat yes, it would do a snap, so that would have a complete Telemetry object with it 09:04
timotimo oooh, so it'll capture data from everything that's "installed"? 09:08
that's probably very good
discord6 <Vendethiel> timotimo: PyEval_SetTrace is "at leat" C api 09:13
tyil heh
if I make a Docker image based on Alpine, and install *only* python, the resulting image is actually bigger than my perl6 image based on Alpine
timotimo set_trace also lives in the pdb-like modules, i.e. debuggers
tyil so theoretically, if you want to make a small, self-contained application, Perl 6 is a better pick as your base than Python 09:14
09:14 __jrjsmrtn__ joined 09:16 _jrjsmrtn left, w_richard_w left 09:27 MasterDuke left 09:28 Noud joined
kawaii Does anyone have any example for displaying an image (either from the web or filesystem) using GTK::Simple? 09:36
Couldn't find anything in the examples/ directory
sena_kun just in case if there are none, it is always possible to 1)get a pure gtk example; 2)using its types+calls, try to write its analog; 3)bugreport if something doesn't work. ;) 09:39
there are no means to change an attribute's type, right? 09:43
I see only `add_attribute` and rw-related calls, so how can I workaround it? 09:44
lizmat Attribute is a class like any other? 09:48
sena_kun it is, I guess, the question is how I can change its type to another one (I don't have default values, so no issue with obsoleting here). 09:50
09:50 Noud left 09:55 Manifest0 left
sena_kun oh, stop, I can hack into the Attribute itself... 09:59
hmmm
10:00 Manifest0 joined
sena_kun m: class A { has Int $.a }; A.new.say; my $type-attr = A.^attributes[0].^attributes[5]; $type-attr.set_value(A, Str); say A.new; 10:00
evalable6 (exit code 1) A.new(a => Int)
No such method 'set_value' for invocant of type 'BOOTSTRAPATTR'
in block <unit> at /tmp/Modp8lK5QS line 1
sena_kun I am probably too deep. :|
m: class A { has Int $.a }; A.new.say; my $type-attr = A.^attributes[0].^attributes[5]; my $a = A; $type-attr.set_value($a, Str); say $a.new; 10:01
evalable6 (exit code 1) A.new(a => Int)
No such method 'set_value' for invocant of type 'BOOTSTRAPATTR'
in block <unit> at /tmp/OAmzXJubWR line 1
SmokeMachine m: say 42 10:03
evalable6 42
sena_kun >"Bootstrapping Attribute class that we eventually replace with the real one" 10:04
the comment says it should be replaced with the normal one eventually, but when it happens? can it happen in this case?
10:08 domidumont left 10:15 netrino joined 10:17 patrickb left 10:18 patrickb joined, dakkar left 10:19 dakkar joined 10:20 patrickb left 10:22 Black_Ribbon left 10:31 patrickb joined 10:34 patrickb left, patrickb joined 10:37 patrickb left 10:42 Manifest0 left 10:47 Manifest0 joined
timotimo sena_kun: i think that's just in the core setting 10:51
11:18 jmerelo left 11:23 zakharyas left 11:36 ravenousmoose_ left 11:37 ravenousmoose joined 11:38 _sfiguser joined
_sfiguser guys is there any module that can be used to inject or analyze 802.11 frames or ethernet frames in perl6 ? 11:38
11:43 Manifest0 left
sena_kun _sfiguser, not yet. 11:46
11:46 araraloren joined 11:47 AlexDaniel` joined
_sfiguser where do i start developing such thing? 11:48
sena_kun,
11:49 Manifest0 joined
sena_kun well... I have a feeling that firstly a 802.11 protocol should be implemented in some way: a packet format, parsing && serialization. Either C bindings or pure Perl 6 is possible. It is pretty close to hardware layer, though, as it is not an application-level protocol, so you probably should wait for folks who know the ropes better than me in this area. 11:52
_sfiguser sena_kun, ok is it easy to write bindings from C libpcap? 11:54
sena_kun _sfiguser, well, "it depends", I cannot promise it is easy, but it shouldn't be too hard, of course. You want to look at docs.perl6.org/language/nativecall 11:55
you just describe the interface and then magic happens 11:56
timotimo kaiepi would be a good person to ask about capturing packets; like raw socket support might land as part of their grant work, i'd have to review the grant application to know - or ask, of course 11:58
11:58 Demos[m] joined, tyil[m]1 joined, Matthew[m] joined, lance_w[m] joined, tyil[m] joined, unclechu joined 11:59 domidumont joined
sena_kun news.perlfoundation.org/2018/12/gra...rl-6-.html <- yes 12:03
timotimo ah, yes
nice.
12:08 yuriii joined 12:26 aborazmeh joined, aborazmeh left, aborazmeh joined 12:35 mowcat joined 12:43 mowcat left 12:55 zakharyas joined 12:59 ravenousmoose left 13:04 Seance[m] joined, Garland_g[m] joined 13:05 mack[m] joined 13:06 MitarashiDango[m joined 13:09 aborazmeh left 13:13 Kaiepi joined 13:16 vike left, Kaiepi left, Kaiepi joined 13:20 vike joined 13:22 socomm joined 13:29 ravenousmoose joined 13:30 probablymoony joined 13:31 moony left 13:40 skids joined 13:45 sivoais left 13:46 sivoais joined 13:47 lucasb joined 13:50 mniip_ joined 13:52 Guest2775 joined, mniip left 13:53 mniip_ is now known as mniip, patrickb joined
patrickb o/ 13:53
What's a good value to use as `undef` to make JSON::Fast serialize a `null` value? 13:54
13:54 mniip left
sena_kun Nil 13:54
? 13:55
m: use JSON::Fast;
evalable6 Cannot test 873de2da53cb31c695aabe0edc983ff4718cec65 (Commit exists, but a perl6 executable could not be built for it)
sena_kun well, 'use JSON::Fast; to-json({a => Nil}).say' serializes to `"a": null`.
patrickb sena_kun: That might be it. 13:56
sena_kun also a type object
13:56 mniip joined
sena_kun "use JSON::Fast; to-json({a => Int}).say" gives null too 13:56
like, if you produce either some value or a type object of this value, a type object will be translated as "null".
patrickb I was just a bit confused, because docs.perl6.org/language/5to6-perlfunc#undef stated that one likely won't have any use for `Nil`. Thus I suspected that there is a more obvious answer...
13:56 regreg joined
patrickb sena_kun: Thanks! 13:57
sena_kun patrickb, you are welcome! 13:58
araraloren m: say require JSON::Foo;
evalable6 Cannot test 873de2da53cb31c695aabe0edc983ff4718cec65 (Commit exists, but a perl6 executable could not be built for it)
araraloren m: say try require JSON::Foo;
evalable6 Cannot test 873de2da53cb31c695aabe0edc983ff4718cec65 (Commit exists, but a perl6 executable could not be built for it)
araraloren p6: say try require JSON::Foo; 13:59
evalable6 Cannot test 873de2da53cb31c695aabe0edc983ff4718cec65 (Commit exists, but a perl6 executable could not be built for it)
14:00 ravenousmoose left 14:02 regreg left 14:04 AlexDaniel joined 14:05 Seance[m] left, Demos[m] left, unclechu left, MitarashiDango[m left, Matthew[m] left, tyil[m] left 14:06 AlexDaniel` left, Garland_g[m] left, lance_w[m] left, mack[m] left, tyil[m]1 left 14:07 zacts left 14:08 irdr left 14:09 irdr joined 14:17 discord6 left, discord6 joined, discord6 left, discord6 joined 14:25 jubilatious1 joined 14:30 reportable6 left, shareable6 left 14:31 AlexDaniel` joined, reportable6 joined, ChanServ sets mode: +v reportable6 14:34 shareable6 joined, ChanServ sets mode: +v shareable6 14:38 adu left 14:39 adu joined, adu left 14:40 lance_w[m] joined, Matthew[m] joined, tyil[m] joined, tyil[m]1 joined, unclechu joined 14:41 Garland_g[m] joined, MitarashiDango[m joined, Demos[m] joined, mack[m] joined, Seance[m] joined 14:42 jubilatious1 left 14:46 cpan-p6 left 14:47 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 14:55 netrino left 15:04 mithaldu_ left, mithaldu_ joined 15:08 BuildTheRobots left 15:09 BuildTheRobots joined 15:10 llfourn left 15:12 kipd left 15:13 kipd joined 15:17 ravenousmoose joined
patrickb o/ tadzik 15:26
I need to decomute now, but can I poke you how I / we / you should deal with my rakudobrew changes? 15:27
15:29 patrickb left 15:36 patrickb joined 15:41 pmurias joined
pmurias . 15:41
15:42 araraloren left 15:44 molaf joined 15:45 hamhu3_ left 15:48 hamhu3 joined 15:50 jmerelo joined
Geth problem-solving: 146ed82b73 | (Aleks-Daniel Jakimenko-Aleksejev)++ | solutions/meta/00002 – Problem Solving.md
Fix link to the README
15:53
16:02 socomm left 16:11 pmurias left 16:26 _sfiguser left, netrino joined 16:28 molaf left 16:29 AlexDaniel left 16:50 Sgeo_ joined 16:53 Sgeo left 16:56 dakkar left 17:09 molaf joined, llfourn joined 17:19 sena_kun left 17:21 Kaiepi left 17:25 Kaiepi joined 17:28 jmerelo left 17:29 Kaiepi left 17:31 mowcat joined, mowcat left 17:32 mowcat joined, Kaiepi joined 17:36 Black_Ribbon joined 17:37 gregf_ left 17:47 [Sno] joined 17:54 Kaiepi left 17:57 Kaiepi joined 18:01 zachk joined 18:03 zachk left, zachk joined 18:04 zachk left, zachk joined 18:06 AlexDaniel joined 18:12 kaare_ joined 18:13 zakharyas left 18:15 sauvin left 18:18 natrys joined 18:23 domidumont left 18:31 kaare_ left 18:39 ChoHag left 18:45 kaare__ joined 18:49 patrickb left 18:57 kaare__ left, kaare__ joined 19:01 patrickb joined 19:02 kaare__ left 19:14 patrickb_ joined, patrickb left 19:17 khisanth_ left 19:22 Kaiepi left 19:31 khisanth_ joined 19:33 ChoHag joined, zakharyas joined 19:34 regreg joined 19:35 kaare__ joined 19:47 kaare__ left 19:59 Kaiepi joined 20:22 zakharyas left 20:24 ctilmes_ joined 20:28 ctilmes left 20:49 Raycat joined 20:52 ctilmes joined, ctilmes_ left 20:54 Raycat left 21:01 skids left 21:02 AlexDani` joined 21:04 AlexDaniel left 21:12 Kaiepi left, Kaiepi joined 21:15 Kaiepi left 21:32 AlexDani` left 21:38 vrurg left, vrurg joined 22:07 MasterDuke joined, MasterDuke left, MasterDuke joined 22:14 regreg left 22:19 vrurg left, vrurg joined 22:28 molaf left 22:32 dotdotdot left 22:38 patrickb_ left
cpan-p6 New module released to CPAN! OO::Plugin (0.0.7) by 03VRURG 22:39
22:41 kybr left, kybr joined 22:47 patrickb joined 22:48 hamhu3 left, natrys left, hamhu3 joined 22:58 cpage joined 23:16 Manifest0 left 23:21 Manifest0 joined 23:35 Manifest0 left 23:39 zachk left, rindolf left 23:40 patrickz joined, Manifest0 joined 23:43 patrickb left 23:45 AlexDani` joined 23:46 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined 23:47 lucasb left, cpan-p6 left, cpan-p6 joined, cpan-p6 left, cpan-p6 joined 23:50 ufobat_ left 23:54 dotdotdot joined