Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
00:34 hliebermanDD joined 00:35 hliebermanDD left 00:39 radeekjs joined 00:40 p6bannerbot sets mode: +v radeekjs 00:44 MasterDuke left 00:45 radeekjs left 01:08 wsieroci joined, wsieroci left 01:11 Lorkkieh joined 01:12 Lorkkieh left 01:31 ZzZombo left 01:57 brycemlmd joined 01:58 p6bannerbot sets mode: +v brycemlmd 02:05 brycemlmd left 02:10 fake_space_whale left 02:13 bove joined 02:14 p6bannerbot sets mode: +v bove, ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 02:21 bove left 02:24 fake_space_whale joined 02:25 p6bannerbot sets mode: +v fake_space_whale 04:44 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_, ZzZombo left, ZzZombo_ is now known as ZzZombo
Geth roast: 7f980457ea | tison++ | S02-lexical-conventions/pod-in-multi-line-exprs.t
Pod has been improved, more tests pass
04:49
05:09 mickdermackVG joined 05:10 p6bannerbot sets mode: +v mickdermackVG 05:13 mickdermackVG left 06:16 fake_space_whale left 06:24 lizmat joined, p6bannerbot sets mode: +v lizmat 06:46 ufobat joined 06:47 p6bannerbot sets mode: +v ufobat 07:03 AlexDaniel left 07:14 gfldex_ joined 07:15 p6bannerbot sets mode: +v gfldex_ 07:16 SourceBaby_ joined, ChanServ sets mode: +v SourceBaby_ 07:17 p6bannerbot sets mode: +v SourceBaby_ 07:19 |Tux| left, camelia left, gfldex left, benchable6 left, huggable left, hoelzro left, SourceBaby left, ilmari left, ExtraCrispy left 07:22 |Tux| joined 07:23 p6bannerbot sets mode: +v |Tux| 07:31 camelia joined 07:32 p6bannerbot sets mode: +v camelia, benchable6 joined, huggable joined, hoelzro joined, ilmari joined, niven.freenode.net sets mode: +vvvv benchable6 huggable hoelzro ilmari, p6bannerbot sets mode: +v ilmari 07:33 p6bannerbot sets mode: +v benchable6, p6bannerbot sets mode: +v huggable, p6bannerbot sets mode: +v hoelzro 07:57 AlexDaniel joined 07:58 p6bannerbot sets mode: +v AlexDaniel
|Tux| .tell brrt I still get sh: line 1: 25114 Segmentation fault (core dumped) perl6 -Ilib csv-ip5xs.pl < /tmp/hello.csv 08:06
yoleaux |Tux|: I'll pass your message to brrt.
|Tux| Rakudo version 2018.09-71-g107477b41 - MoarVM version 2018.09-119-gceea63332
csv-ip5xs0.899 - 0.899
csv-ip5xs-207.331 - 7.420
csv-parser20.234 - 20.579
csv-test-xs-200.427 - 0.437
test8.004 - 8.147
test-t1.682 - 1.708
test-t --race0.794 - 0.800
test-t-2028.879 - 29.121
test-t-20 --race10.577 - 11.053
08:08
sorry for not testing yesterday
lizmat YA < 1.7 whee!
|Tux| we've had < 1.7 before 08:09
lizmat Yet Another :-)
08:09 Ven` joined
|Tux| true that 08:09
08:10 p6bannerbot sets mode: +v Ven`
|Tux| want me to do the o-time with int + is raw? 08:10
lizmat well, perhaps optimize the perl 5 version as much as possible as well ?
even just using hash access ?
|Tux| I'll make a version-2 08:11
cat you paste me the two optimized methods lines? 08:12
lizmat method new(:$x is raw, :$y is raw) { self.CREATE!SET($x,$y( } 08:13
08:13 benchable6 left, huggable left, hoelzro left, ilmari left
lizmat method !SET($!x,$!y) { self } 08:14
08:21 Kaiepi left
|Tux| gist.github.com/Tux/bae0388c01b22d...ba64e69325 08:21
08:21 Kaiepi joined, julmacMh joined 08:22 p6bannerbot sets mode: +v Kaiepi, p6bannerbot sets mode: +v julmacMh 08:24 julmacMh left 08:27 benchable6 joined, huggable joined, hoelzro joined, ilmari joined, niven.freenode.net sets mode: +vvvv benchable6 huggable hoelzro ilmari, p6bannerbot sets mode: +v ilmari 08:28 p6bannerbot sets mode: +v benchable6, p6bannerbot sets mode: +v huggable, p6bannerbot sets mode: +v hoelzro
lizmat interesting: so even without accessors in Perl 5, the speed is comparable between Perl 5 and Perl 6 08:29
and it looks like a big bump was made in Perl 5 between 5.20 and 5.22
nice overview! 08:30
08:40 Ven` left
lizmat [Tux]: two more interesting improvement on the Perl 6 side: 08:41
$total += $p.x + $p.y;
and: my $p := Point.new(x => 2, y => 3); (s/=/:=/)
that last one makes it go almost 2x as fast for me again 08:42
and still no NQP :-)
actually, I also tried an NQP version, but that has only very marginal effects
jnthn++ !
Looks like I'll be able to start ripping out NQP from the core setting for real! 08:43
08:44 Ven` joined 08:45 p6bannerbot sets mode: +v Ven` 08:47 Lunar_Lamp__ joined
jnthn Yeah, we need EA/SR to get that assignment cost to go away. 08:49
08:49 Lunar_Lamp__ left
lizmat jnthn: I also found that the $p.x + $p.y is using the infix:<+>(Int,Int) candidate, even if x/y are native int attributes 08:50
but oddly enough, an Int only gets created by the return from infix:<+> 08:51
08:51 benchable6 left, huggable left, hoelzro left, ilmari left
lizmat so it doesn't box them on the way into to the prefix:<+> candidate 08:51
jnthn Are you sure? :) 08:52
lizmat pretty much: only 1M Ints allocated
jnthn I'm pretty sure that the method calls compile into code expecting an object return
Hmm...I'm skeptical, and suspect a misleading profiler result then
lizmat *that* could very well be the case :-) 08:53
jnthn That kind of thing also falls under the EA work. 08:54
lizmat gist.github.com/lizmat/4594bf4ae69...d49bb37220 # fastest Perl 6 version
which is more than 2x as fast as the fastest [Tux] saw with gist.github.com/Tux/bae0388c01b22d...ba64e69325 08:55
jnthn So, still plenty of opt to go :)
lizmat (on my machine, his version ran 6+ seconds
)
09:05 benchable6 joined, huggable joined, hoelzro joined, ilmari joined, niven.freenode.net sets mode: +vvvv benchable6 huggable hoelzro ilmari, p6bannerbot sets mode: +v ilmari, p6bannerbot sets mode: +v benchable6, p6bannerbot sets mode: +v huggable, p6bannerbot sets mode: +v hoelzro
lizmat m: $/ = <a b c>; dd $0 # a nice trick to set $0, $1, etc in one fell swoop :-) 09:06
camelia "a"
Geth nqp: 759af9cbb2 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
Bump Moar for latest JIT templates
09:18
Ā¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...3-g0191bd9
lizmat .seen moritz_ 09:27
yoleaux I saw moritz_ 1 Oct 2018 13:05Z in #perl6: <moritz_> tadzik: no idea if it was vegan, but it was tasty :)
lizmat .seen moritz
yoleaux I saw moritz 28 Sep 2018 20:02Z in #perl6: <moritz> you can let vim or other tools generate colored HTML, and add that to WP
moritz_ I'm here, though not for long 09:28
lizmat was wondering why this week's P6W wasn't tweeted yet on @perl6org 09:30
:-)
09:32 moritz_ is now known as moritz
Geth rakudo: 687a3cbb0a | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP to get the latest MoarVM JIT templates
09:39
Ā¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....6-g759af9c
09:43 robertle left
lizmat inspired by stackoverflow.com/questions/526139...erl-6-repl 09:57
I'm thinking of adding a Slip.gist method that doesn't lose the slippiness
m: say $(|(1,2,3)) # would become "|(1 2 3)" 09:58
camelia (1 2 3)
09:59 ZzZombo left
lizmat m: say Empty # would become "Empty" 09:59
camelia ()
lizmat but this breaks a number of spectests that check for specific .gist strings
so, should I do that and fix the tests and errata? 10:00
(3 tests in total)
10:01 robertle joined 10:02 p6bannerbot sets mode: +v robertle
jnthn lizmat: With or without the quotes 10:03
?
lizmat without 10:04
m: say Empty # I find this very obfuscated 10:05
camelia ()
lizmat just found out that we don't have anything on BEGIN / END etc blocks in the 5 to 6 migration docs 10:08
10:10 adrianrezaQB joined 10:15 adrianrezaQB left
lizmat jnthn masak moritz pmichaud is there a reason why Perl 6 doesn't have UNITCHECK ? 10:21
which you could consider to be BEGIN blocks to be executed *after* parsing the compilation unit 10:22
rather than at the moment *they* were parsed
I guess one should put those at the end of the compilation unit as BEGIN blocks 10:32
in Perl 6
jnthn CHECK? 10:34
Those are run after parsing
ilmari per-compilation-unit? 10:38
or affter "global" (fsvo) parsing
lizmat jnthn: CHECK blocks run after *all* compilation is done 10:40
UNITCHECK blocks run after the compilation of a compilation unit is done 10:41
jnthn: are you implying that in Perl 6 CHECK blocks run for each compilation unit ?
jnthn Yes. 10:51
They run after parsing, but before optimization, of the comp unit 10:52
lizmat jnthn: aha, so that implies a subtle semantic difference with Perl 5 11:00
ilmari UNITCHECK in perl 5 only exists because the CHECK semantics are broken (e.g. for code loaded at runtime) 11:03
no point in repeating the same mistake in perl 6
11:04 dogbert17 joined
lizmat aha! 11:05
lizmat starts rewriting part of the 5 to 6 migration docs
11:05 p6bannerbot sets mode: +v dogbert17
ilmari metacpan.org/pod/perl5100delta#UNITCHECK-blocks 11:05
11:10 pmurias joined, p6bannerbot sets mode: +v pmurias
lizmat ilmari++ # thanks 11:18
11:31 pmurias left 11:32 pmurias joined, p6bannerbot sets mode: +v pmurias 11:39 pmurias left 11:44 AlexDaniel left 11:45 pmurias joined, p6bannerbot sets mode: +v pmurias, ZzZombo joined, p6bannerbot sets mode: +v ZzZombo
|Tux| With Liz' most recent version (which is very *unlikely* to be written by a beginner): 11:53
yoleaux 08:46Z <brrt> |Tux|: i haven't investigated that yet
|Tux| perl6 3.49 0.23 1.0000
perl5.8.8 13.28 0.01 3.5726
perl5.10.1 12.10 0.02 3.2581
perl5.12.2 10.57 0.01 2.8441
perl5.14.1 10.65 0.01 2.8656
perl5.16.2 11.79 0.02 3.1747
perl5.18.2 9.43 0.01 2.5376
perl5.20.0 9.35 0.00 2.5134
perl5.22.0 7.87 0.02 2.1210
perl5.24.1 7.32 0.02 1.9731 11:54
perl5.26.2 7.24 0.01 1.9489
perl5.28.0 7.49 0.01 2.0161
*impressive*
tux.nl/Files/o.tgz
12:07 pmurias left, pmurias joined, p6bannerbot sets mode: +v pmurias 12:11 pmurias left 12:12 pmurias joined, p6bannerbot sets mode: +v pmurias 12:22 specingyW joined 12:23 p6bannerbot sets mode: +v specingyW 12:26 specingyW left 12:44 pmurias left 12:51 pmurias joined, p6bannerbot sets mode: +v pmurias 12:53 pmurias left 12:55 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias github.com/rakudo/rakudo/blob/mast...s.pm6#L972 using nqp::getcomp('perl6').language_version at runtime seems super suspicious 12:56
13:05 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix pmurias: yeah. It might be causing some bug with precompiled stuff. I recall having some of those when trying to use that construct at runtime to effect different behaviours per lang ver in IO::Handle 13:07
yoleaux 1 Oct 2018 17:08Z <brrt> Zoffix: I broke t/05-messages/moar/01-errors.t, but we really need to talk about that test
Zoffix What's there to talk? Just fix the test and move on. 13:08
It's like the fifth time I see that error brought up
13:09 lizmat left
Zoffix pmurias: --encoding on Blob eval. IIRC that was from speculations 13:09
it's meant to eval the same way the regular file would be processed by compiler 13:10
which makes sense IMO 13:11
13:12 Zoffix left
pmurias Zoffix: what is the use case for the behavior? 13:27
13:29 qptain_NemoKF joined
pmurias --encoding is documented by --help as "specify string encoding mode" which I don't undestand what it means 13:29
but I think the purpose of --encoding is to describe the encoding of the input files passed as an argument to the compiler 13:30
13:30 p6bannerbot sets mode: +v qptain_NemoKF, qptain_NemoKF left
pmurias What is --encoding supposed to do? 13:31
Zoffix: it depends if --encoding is supposed to be only for the input files or some sort of magical global setting 13:46
13:57 pmurias left 14:04 SqrtNegInf left 14:05 AlexDaniel joined 14:06 ggoebel left, ggoebel joined, p6bannerbot sets mode: +v AlexDaniel 14:07 p6bannerbot sets mode: +v ggoebel 14:10 pmurias joined, p6bannerbot sets mode: +v pmurias 14:15 Chrille_ joined 14:16 p6bannerbot sets mode: +v Chrille_ 14:18 Chrille_ left 14:25 pmurias left 14:28 ggoebel left 14:52 SqrtNegInf joined 14:53 p6bannerbot sets mode: +v SqrtNegInf 15:30 lizmat joined, p6bannerbot sets mode: +v lizmat 15:31 fake_space_whale joined 15:32 p6bannerbot sets mode: +v fake_space_whale
lizmat Zoffix pmurias 620d8931c6973eed0d017 was done to allow different initialization of dynamic variables across different settings 15:54
if you have better ideas, I'd like to hear them :-)
16:25 nige_ left 16:37 Ven` left 16:40 gealQo joined, gealQo left 16:47 stmuk joined, p6bannerbot sets mode: +v stmuk 16:48 rivyn joined, rivyn left 16:49 stmuk_ left
lizmat jnthn: docs.perl6.org/language/phasers#CLOSE says CLOSE is a program execution phaser. However, it feels more like a Block phaser to me (even though it's not technically connected to a Block) 16:50
jnthn lizmat: I agree 16:55
It's a block phaser
oh! 16:56
lizmat will adapt the doc
jnthn No
lizmat no?
jnthn There's an Asynchronous Phasers section :)
It should go in there :)
lizmat ah, yes
oki
jnthn Didn't spot that at first :)
dinner & 16:58
lizmat jnthn: also: isn't the LAST phaser for supply renamed to DONE ? 16:59
17:17 Kaiepi left 17:18 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi
lizmat m: while 0 { FIRST "say first" } # is this a known issue? 17:27
camelia WARNINGS for <tmp>:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
lizmat m: loop { FIRST "say first"; last if $++ > 5 } # is this a known issue?
camelia WARNINGS for <tmp>:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
17:37 JATothrim_ joined 17:40 JATothrim_ left 18:57 AlexDaniel left, AlexDaniel joined 18:58 p6bannerbot sets mode: +v AlexDaniel 19:02 bayleafTO joined, p6bannerbot sets mode: +v bayleafTO 19:07 bayleafTO left 19:12 fake_space_whale left
jnthn lizmat: Nope. `last` and `done` both exist in `supply`/`react`, which different semantics 19:14
19:16 Kaiepi left
lizmat jnthn: so there is no DONE phaser... right ?\ 19:17
19:17 Kaiepi joined
jnthn No 19:17
lizmat oki 19:18
jnthn Though `done` will trigger CLOSE too
19:18 p6bannerbot sets mode: +v Kaiepi
jnthn CLOSE runs however the supply is closed - by the subscriber closing it, by termination with `done`, by natural termination, etc. 19:18
lizmat docs.perl6.org/language/phasers#As...us_phasers # rather terse documentation atm
19:21 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix lizmat: I believe the better idea for that doesn't currently exist. It's basically R#1289 19:22
synopsebot R#1289 [open]: github.com/rakudo/rakudo/issues/1289 [6.e] Implement a Way to Know Caller's Language
Zoffix lizmat: the loop warning stuff... Didn't find a ticket for it. It should be reported 19:27
19:28 Zoffix left, AlexDaniel left 19:29 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 19:41 pyrimidine left 19:45 rud0lfvv joined, rud0lfvv left 19:57 pyrimidine joined 19:58 p6bannerbot sets mode: +v pyrimidine 20:10 patrickb joined 20:11 p6bannerbot sets mode: +v patrickb 20:36 patrickb left 21:13 adamCSfX joined 21:22 adamCSfX left 21:33 kkitlX joined 21:34 p6bannerbot sets mode: +v kkitlX 21:35 kkitlX left 21:42 jsimonet joined 21:43 p6bannerbot sets mode: +v jsimonet 22:28 tobasco joined 22:29 tobasco left 22:35 entonian joined, MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 22:36 p6bannerbot sets mode: +v entonian, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 22:39 entonian left 22:58 hahuang65jZ joined 22:59 lizmat left 23:05 hahuang65jZ left 23:10 MasterDuke left 23:25 lizmat joined, p6bannerbot sets mode: +v lizmat 23:31 camelia left 23:34 camelia joined 23:35 p6bannerbot sets mode: +v camelia