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.
samcv japhb: ah i see it does. ok nevermind then 00:08
sounds like we could do that then
00:15 nightf0x_20 joined 00:16 p6bannerbot sets mode: +v nightf0x_20, komugi19 joined 00:17 p6bannerbot sets mode: +v komugi19 00:18 komugi19 left 00:19 s7r12 joined, nightf0x_20 left, p6bannerbot sets mode: +v s7r12 00:21 s7r12 left 00:32 kencjohnston9 joined, kencjohnston9 left 00:44 Guest525 joined 00:45 p6bannerbot sets mode: +v Guest525, jpaa12 joined 00:46 p6bannerbot sets mode: +v jpaa12, Guest525 left 00:48 jpaa12 left 00:57 chrzyki20 joined 00:58 p6bannerbot sets mode: +v chrzyki20 00:59 chrzyki20 left 01:08 kzisme7 joined, p6bannerbot sets mode: +v kzisme7 01:11 kzisme7 left 01:17 lizmat left 01:23 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 01:26 ZzZombo left, ZzZombo_ is now known as ZzZombo 01:28 ZzZombo left 01:29 Knyght15 joined 01:30 p6bannerbot sets mode: +v Knyght15 01:35 Knyght15 left 01:39 Kaiepi joined 01:40 p6bannerbot sets mode: +v Kaiepi 01:41 halbbalda28 joined, p6bannerbot sets mode: +v halbbalda28 01:44 halbbalda28 left 01:47 SirJacket_ joined, Beaches2 joined 01:48 p6bannerbot sets mode: +v SirJacket_, p6bannerbot sets mode: +v Beaches2, Beaches2 left 01:51 SirJacket_ left 01:55 devnu115 joined, p6bannerbot sets mode: +v devnu115 01:56 offus27 joined, offus27 left 01:58 devnu115 left 02:02 Kaiepi left, Kaiepi joined 02:03 p6bannerbot sets mode: +v Kaiepi, rmk20 joined 02:04 p6bannerbot sets mode: +v rmk20 02:05 rmk20 left 02:07 Kaiepi left 02:08 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 02:10 Kaiepi left 02:13 Kaiepi joined 02:14 p6bannerbot sets mode: +v Kaiepi, sylvblck13 joined, p6bannerbot sets mode: +v sylvblck13 02:17 sylvblck13 left 02:18 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 02:21 TheSphinX^18 joined 02:22 p6bannerbot sets mode: +v TheSphinX^18 02:23 TheSphinX^18 left 02:42 Kaiepi left 02:44 cambid10 joined 02:45 p6bannerbot sets mode: +v cambid10, fake_space_whale joined, Kaiepi joined 02:46 p6bannerbot sets mode: +v fake_space_whale, p6bannerbot sets mode: +v Kaiepi 02:47 cambid10 left 02:57 localhost009 joined 02:58 p6bannerbot sets mode: +v localhost009, localhost009 left, Eatsoup_ joined 02:59 vallor6 joined, p6bannerbot sets mode: +v Eatsoup_, Eatsoup_ left, p6bannerbot sets mode: +v vallor6 03:03 tholin joined, vallor6 left 03:04 p6bannerbot sets mode: +v tholin, tholin left 03:11 Kaiepi left 03:14 Kaiepi joined 03:15 p6bannerbot sets mode: +v Kaiepi, Kaiepi left, Kaiepi joined 03:16 p6bannerbot sets mode: +v Kaiepi 03:17 cout joined 03:18 p6bannerbot sets mode: +v cout 03:21 cout left 03:27 slashrsm joined, p6bannerbot sets mode: +v slashrsm 03:29 slashrsm left 03:32 Guest14940 joined 03:33 p6bannerbot sets mode: +v Guest14940 03:35 Guest14940 left 03:44 Nebraskka24 joined 03:45 p6bannerbot sets mode: +v Nebraskka24 03:47 Nebraskka24 left 04:06 Ven` joined 04:07 p6bannerbot sets mode: +v Ven` 04:11 Ven` left 04:28 Kaiepi left 05:11 mu5 joined, p6bannerbot sets mode: +v mu5 05:15 mu5 left 05:17 schlerp21 joined, p6bannerbot sets mode: +v schlerp21 05:20 schlerp21 left 05:33 CyberShadow15 joined, tgall_foo9 joined, tgall_foo9 left, p6bannerbot sets mode: +v CyberShadow15 05:36 littlebear joined 05:37 p6bannerbot sets mode: +v littlebear, CyberShadow15 left 05:38 littlebear left 05:43 sjorge5 joined 05:44 p6bannerbot sets mode: +v sjorge5 05:45 sjorge5 left 06:01 caseih11 joined, caseih11 left 06:05 committable6 joined 06:06 p6bannerbot sets mode: +v committable6 06:07 patrickb joined, p6bannerbot sets mode: +v patrickb, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 06:11 committable6 left, committable6 joined 06:12 p6bannerbot sets mode: +v committable6 06:23 astocko21 joined, astocko21 left 06:26 committable6 left 06:27 committable6 joined, p6bannerbot sets mode: +v committable6 06:28 Kaiepi joined 06:29 committable6 left, committable6 joined, p6bannerbot sets mode: +v Kaiepi 06:30 p6bannerbot sets mode: +v committable6 06:32 dhoutz22 joined, Steamwells23 joined, p6bannerbot sets mode: +v dhoutz22, p6bannerbot sets mode: +v Steamwells23 06:34 committable6 left, committable6 joined 06:35 p6bannerbot sets mode: +v committable6, dhoutz22 left, Steamwells23 left 06:38 fake_space_whale left 06:42 tesu4 joined 06:43 committable6 left, p6bannerbot sets mode: +v tesu4 06:44 committable6 joined, Tanktalus14 joined 06:45 p6bannerbot sets mode: +v committable6, Tanktalus14 left, hethkar11 joined 06:46 snkcld joined, p6bannerbot sets mode: +v hethkar11, snkcld left 06:47 tesu4 left 06:48 robertle joined 06:49 p6bannerbot sets mode: +v robertle, hethkar11 left 06:50 Kitzu_ joined, p6bannerbot sets mode: +v Kitzu_, lizmat joined, p6bannerbot sets mode: +v lizmat 06:51 Guest63896 joined, p6bannerbot sets mode: +v Guest63896 06:52 Kitzu_ left 06:54 Guest63896 left 07:04 Guest25465 joined, jfe` joined, Guest25465 left 07:05 p6bannerbot sets mode: +v jfe` 07:07 AlexDaniel left 07:10 jfe` left
samcv ok i don't understand this in docs.perl6.org/type/IO::Handle :exclusive means .open will fail if the file already exists 07:14
:x same as specifying :mode<wo>, :create, :exclusive
ok so it fails if the file exists, but you are opening it for read? 07:15
err write sorr
i was misreading hah. nevermind
07:25 eglute935 joined 07:26 p6bannerbot sets mode: +v eglute935, Smithx10_ joined 07:27 p6bannerbot sets mode: +v Smithx10_ 07:28 eglute935 left, ramdomthought joined 07:29 ramdomthought is now known as Guest58966, p6bannerbot sets mode: +v Guest58966, Smithx10_ left 07:33 Guest58966 left 07:34 Ven` joined 07:35 p6bannerbot sets mode: +v Ven` 07:41 meejah24 joined, meejah24 left 07:46 dlech22 joined 07:47 p6bannerbot sets mode: +v dlech22 07:50 dlech22 left 07:52 Lasarus16 joined, gary-smith joined, Lasarus16 left 07:53 p6bannerbot sets mode: +v gary-smith, arne9 joined, arne9 left 07:55 robertle left, sylvblck2 joined 07:56 p6bannerbot sets mode: +v sylvblck2 07:57 gary-smith left 07:58 sylvblck2 left 08:05 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 08:06 Guest3095 joined 08:07 Epakai24 joined, p6bannerbot sets mode: +v Guest3095, p6bannerbot sets mode: +v Epakai24 08:10 Guest3095 left 08:11 Jonta25 joined, p6bannerbot sets mode: +v Jonta25, Epakai24 left 08:13 Jonta25 left 08:17 PDogJr24 joined, apus joined 08:18 p6bannerbot sets mode: +v PDogJr24, p6bannerbot sets mode: +v apus 08:19 PDogJr24 left 08:21 apus left 08:22 AlexDaniel left 08:24 Ven` left 08:26 committable6 left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 08:27 Ven` joined, p6bannerbot sets mode: +v Ven` 08:29 committable6 joined 08:30 p6bannerbot sets mode: +v committable6 08:33 pyvpx joined 08:34 p6bannerbot sets mode: +v pyvpx, rharper11 joined 08:35 p6bannerbot sets mode: +v rharper11 08:37 pyvpx left 08:38 rharper11 left 08:40 committable6 left 08:41 committable6 joined 08:42 p6bannerbot sets mode: +v committable6 08:43 cmeiklejohn12 joined 08:44 p6bannerbot sets mode: +v cmeiklejohn12, exos3 joined 08:45 p6bannerbot sets mode: +v exos3, exos3 left 08:47 Naama20 joined, cmeiklejohn12 left 08:48 p6bannerbot sets mode: +v Naama20, committable6 left 08:51 committable6 joined, Naama20 left, p6bannerbot sets mode: +v committable6 08:53 Ven` left 08:54 A-Kaser14 joined, p6bannerbot sets mode: +v A-Kaser14 08:55 bluesceada19 joined, A-Kaser14 left 08:56 p6bannerbot sets mode: +v bluesceada19 08:57 committable6 left, wolfman2000 joined, committable6 joined, committable6 left, CRWM23 joined, committable6 joined 08:58 p6bannerbot sets mode: +v wolfman2000, p6bannerbot sets mode: +v committable6, p6bannerbot sets mode: +v CRWM23, p6bannerbot sets mode: +v committable6 08:59 bluesceada19 left 09:00 CRWM23 left 09:01 wolfman2000 left 09:02 bikachu3 joined, p6bannerbot sets mode: +v bikachu3 09:03 universa11 joined, Ven` joined, p6bannerbot sets mode: +v universa11 09:04 p6bannerbot sets mode: +v Ven` 09:05 bikachu3 left, universa11 left 09:06 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_, committable6 left, committable6 joined 09:07 committable6 left, committable6 joined, committable6 left, committable6 joined 09:08 p6bannerbot sets mode: +v committable6 09:09 ZzZombo left, ZzZombo_ is now known as ZzZombo
Geth rakudo/js: 5fe0140cfd | (Paweł Murias)++ | src/core/Str.pm6
[js] Make new comb variant support NFG
09:17
09:20 committable6 left, committable6 joined 09:21 p6bannerbot sets mode: +v committable6 09:27 maccy joined 09:28 p6bannerbot sets mode: +v maccy 09:34 maccy left 09:35 firesock9 joined, p6bannerbot sets mode: +v firesock9 09:36 dgrove12 joined, dgrove12 left 09:39 firesock9 left 09:40 oister22 joined, p6bannerbot sets mode: +v oister22 09:41 committable6 left, committable6 joined 09:42 p6bannerbot sets mode: +v committable6, oister22 left 09:50 AlexDaniel left 09:53 lentferj13 joined 09:54 p6bannerbot sets mode: +v lentferj13 09:56 lentferj13 left, scubacuda12 joined 09:57 p6bannerbot sets mode: +v scubacuda12, Teppich joined 09:58 p6bannerbot sets mode: +v Teppich 09:59 stmuk joined, pmurias joined, p6bannerbot sets mode: +v pmurias, scubacuda12 left, stmuk_ left, p6bannerbot sets mode: +v stmuk 10:01 Teppich left 10:03 aramiscd22 joined 10:04 p6bannerbot sets mode: +v aramiscd22, aramiscd22 left 10:07 Kubuxu15 joined, Kubuxu15 left 10:18 grepory7 joined 10:19 p6bannerbot sets mode: +v grepory7 10:21 grepory7 left 10:24 ZzZombo left 10:25 Marksos joined, p6bannerbot sets mode: +v Marksos 10:28 Marksos left 10:32 Ven` left, sircmpwn8 joined 10:33 p6bannerbot sets mode: +v sircmpwn8, Ven` joined 10:34 p6bannerbot sets mode: +v Ven` 10:36 sircmpwn8 left, Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix spectest just hung on me on my home box (been ages since I ran one on this box, so no idea if that's a recent phenomenon). Doesn't show any failed test files. Just sat there until I hit CTRL+C and then said everything successful 10:37
Zoffix tries again
lizmat Zoffix: see if there are any "moarvm" processes still running, and then kill those (gently) 10:38
you might find out which one was hanging then
Zoffix "kill those (gently)"... Programmers have the strangest of phrases :D 10:39
lizmat I mean: not kill -9 10:42
jnthn
.oO( killing me softly with SIGTERM )
ilmari jnthn++ 10:43
Zoffix no hang this time 10:47
It got scared of all the kill talk :P
lizmat :-) 10:48
10:50 malm3 joined 10:51 p6bannerbot sets mode: +v malm3 10:52 Mangy_Dog joined 10:53 p6bannerbot sets mode: +v Mangy_Dog 10:54 Mangy_Dog left 10:55 malm3 left 10:56 binford2k17 joined 10:57 p6bannerbot sets mode: +v binford2k17
Geth rakudo: 49baea7009 | (Elizabeth Mattijsen)++ | src/Perl6/Optimizer.nqp
Refactor the "for range/sequence { }" optimization

  - generalize it to a flexible step
  - less mixing up of what's the start and end of the loop
  - should make it easier to allow for "for 1,3...10 { }" optimization
10:58
10:59 ThePendulum24 joined, ThePendulum24 left 11:00 binford2k17 left 11:10 robertle joined 11:11 p6bannerbot sets mode: +v robertle 11:21 wrengr_away joined 11:22 wrengr_away left 11:25 srk19 joined, p6bannerbot sets mode: +v srk19 11:26 srk19 left 11:27 wraithm4 joined, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 11:28 p6bannerbot sets mode: +v wraithm4, plett4 joined, p6bannerbot sets mode: +v plett4 11:30 plett4 left, styles5 joined, wraithm4 left, p6bannerbot sets mode: +v styles5 11:31 styles5 left 11:34 ssbr22 joined, p6bannerbot sets mode: +v ssbr22 11:35 tryphe15 joined, ZzZombo joined, p6bannerbot sets mode: +v ZzZombo, p6bannerbot sets mode: +v tryphe15 11:38 tryphe15 left, ssbr22 left 11:39 Ratler6 joined 11:40 p6bannerbot sets mode: +v Ratler6 11:42 Ratler6 left
dogbert2 where is [Tux]? 11:42
11:43 Tea13 joined, p6bannerbot sets mode: +v Tea13 11:44 crawfs18 joined, Tea13 left, crawfs18 left 11:49 Eagleman24 joined, p6bannerbot sets mode: +v Eagleman24 11:50 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 11:51 Zoffix left 11:52 Eagleman24 left, ZzZombo left, ZzZombo_ is now known as ZzZombo
lizmat [Tux] is offline until much later today for $work at client 12:04
12:09 AlexDaniel left 12:18 chi7 joined, chi7 left
pmurias jnthn: on the js backend for performance reasons (it's slow enough already :( ) I use NFG semantics for ops in only some places 12:18
jnthn: it has for example nqp::substrnfg and nqp::eq_snfg op variants 12:19
jnthn: currently I'm inserting them using #?if !js #?endif and #?if js #?endif 12:20
jnthn: but I feel if I want to merge those will become an annoyance to maintain
jnthn Depends how widespread they are; I can't believe we're touching such primitives as eq and substr very often... 12:21
pmurias jnthn: do you think marking them at use would be acceptable? 12:22
so we had some form that would processed into nqp::substr on moar and nqp::substrnfg on the js
jnthn But...when *don't* we want NFG semantics? 12:23
pmurias on the moar backend we want them everywhere 12:24
jnthn In Perl 6 we want them everywhere :P
Maybe one way would be to map substr in the Perl 6 ops to the NFG impl, and substr in NQP to the cheating one?
12:24 eon`15 joined
jnthn Ops are already possible to override by HLL 12:25
12:25 eon`15 left 12:26 Allanis joined 12:27 Allanis left
pmurias I'll have to think that over 12:27
regex on js backend work on the cheating offsets semantics so I sometimes want to use cheating ops when interacting with them 12:28
12:28 sferrini19 joined 12:29 p6bannerbot sets mode: +v sferrini19 12:33 sferrini19 left 12:38 lampd113 joined
Geth rakudo: 8978702888 | (Elizabeth Mattijsen)++ | src/Perl6/Optimizer.nqp
Optimize "for 1,3...9" and "for 9,7...1"

A little more introspection allows those cases to be handle by the
  "for ^10" optimization as well. Makes these sequences a *lot* faster:
for 1,3...999999 about 150x. Of course, smaller sequences will profit less.
12:38
12:39 p6bannerbot sets mode: +v lampd113, NickG3658 joined 12:40 p6bannerbot sets mode: +v NickG3658, lampd113 left
dogbert2 jnthn: do you have any additional opts up your sleeve? 12:40
12:42 NickG3658 left
jnthn Well, loads of ideas, at least. :-) Probably none coming today, alas; got some other things I should work on :) 12:43
jnthn happily notes that everything he's currently working on is either written in Perl 6 or written for Perl 6... :) 12:44
12:48 LogicAside14 joined 12:49 p6bannerbot sets mode: +v LogicAside14 12:55 LogicAside14 left
lizmat afk until very late& 13:03
13:05 Thracky18 joined 13:06 p6bannerbot sets mode: +v Thracky18 13:07 [TuxCM] joined 13:08 p6bannerbot sets mode: +v [TuxCM] 13:09 Thracky18 left 13:11 maege- joined, p6bannerbot sets mode: +v maege- 13:15 maege- left 13:17 KimiNewt joined 13:18 p6bannerbot sets mode: +v KimiNewt 13:19 KimiNewt left 13:27 Kaiepi left
pmurias jnthn: other thought from yesterday, what would it take use if statements instead of the horrible nqp::if(...) in the setting? 13:28
would a pragma to stop the implicit variables $_ from being created be enought to do that without a performance penalty?
13:31 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi
pmurias hmm, a pragma could do that without depending on the optimizer... 13:34
13:36 Deaygo2 joined 13:37 Deaygo2 left 13:39 pmurias left, pmurias joined, p6bannerbot sets mode: +v pmurias, plutes joined 13:40 p6bannerbot sets mode: +v plutes 13:42 plutes left 13:43 lizmat left 13:44 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix pmurias: but isn't it the new scope that's the bigger issue and not the $_ or other magic vars in a block? 13:44
pmurias: FWIW, `ā€¦ if 42` does get converted to a basic `nqp::if` already
timotimo && also gets converted to nqp::if as well, if i'm not mistaken 13:45
Zoffix Yes, and || to nqp::unless
and // to nqp::defor 13:46
pmurias Zoffix: I assumed the optimizer can remove the scope but it seems to leave the magic vars in
Zoffix: but the pragma could just avoid the scope from being created 13:47
timotimo it can only remove the scope under certain circumstances
like "no lexical variables defined in there that other scopes close over, or that are prevented from turning into locals some other way" 13:48
Zoffix pmurias: the way you describe it sounds like a nicely gun-shaped footgun. i.e. devs adding variables or something else inside the braces and not noticing some pragma above that effectively disables the braces
I'd say it doesn't really solve the readability issue with nqp::if's 13:49
The pragma I mean, not auto-optimization.
Zoffix &
pmurias why doesn't it solve the readaiblity issue?
13:49 Zoffix left 13:50 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix pmurias: because you have to read the pragma along with the block to understand the program. 13:50
I don't see how that's better than simply using a comma instead of a `;` to end statements.
Which is what nqp::if( comes down to,r eally
[TuxCM] Rakudo version 2018.09-40-g897870288 - MoarVM version 2018.09-90-gb5eb48c2e
csv-ip5xs-207.639 - 8.213
csv-parser21.051 - 21.449
csv-test-xs-200.431 - 0.432
test7.713 - 8.218
test-t1.823 - 1.854
test-t --race0.821 - 0.855
test-t-2032.906 - 33.130
test-t-20 --race11.766 - 12.023
13:51
13:51 Zoffix left, termos19 joined 13:52 p6bannerbot sets mode: +v termos19
dogbert2 hmm, now new record today then :( 13:53
13:53 termos19 left, elisiano joined 13:54 p6bannerbot sets mode: +v elisiano 13:56 elisiano left
pmurias we would have something like nopaste.xyz/?753ef02b7e22a3ba#V7hL...LgHphb6To= vs nopaste.xyz/?517450f12f7b150f#VoS/...oMrzfkE2E= 13:58
the nqp::isge_i could be turned into >= but that's a separate issue 13:59
so less like crap 14:04
(no offense towards whoever wrote the example piece of code that's just what nqp::ifs look like ;) ) 14:05
14:13 SvatyVaclav4 joined 14:14 p6bannerbot sets mode: +v SvatyVaclav4 14:16 SvatyVaclav4 left
patrickb Hey! I'm still looking into making perl6 relocatable. Following some thoughts about that. 14:20
Relocatable p6 requires determining the installation path at runtime. 14:21
14:21 krendoshazin joined
patrickb $*EXECUTABLE is no good way to retrieve the installation path, because creating a symlink to the perl6 executable already breaks that path. 14:21
14:21 krendoshazin is now known as Guest40525
patrickb The only way I can think of is to use the path of the executable (moar.exe / main.jar (Is it called that way on JVM?)) and work from there. 14:22
14:22 p6bannerbot sets mode: +v Guest40525
patrickb Google tells me retrieving the location of the current executable in C requires quite a lot of platform specific special casing (stackoverflow.com/a/933996/1975049). 14:23
Given I've implemented the logic to retrieve the installation path in all the backends, then I'd need a way to communicate that to the HLL. Would a new NQP op be the right way to do that?
Or is there another way to get to the install path in the frontend that is readily available? 14:24
Ulti yup if you're being generous to Perl 5 14:26
14:26 Guest40525 left
Ulti ^ that moment you realise you are about a week back in the log 14:26
patrickb Ah! Was just starting to wonder. :-P 14:27
14:35 mudler17 joined, p6bannerbot sets mode: +v mudler17 14:37 Guest55760 joined, mudler17 left, p6bannerbot sets mode: +v Guest55760 14:38 Guest55760 left
timotimo patrickb: maybe binding an hll symbol is simpler, check bindhllsym and ... curhllsym i guess? for that 14:42
ah, gethllsym, bindhllsym and if you just want to use the current hll, that's getcurhllsym and bindcurhllsym 14:43
14:43 KennosiS joined 14:44 p6bannerbot sets mode: +v KennosiS
patrickb Binding HLL symbols is what makes the special $* (e.g. $*PROGRAM) variables work? 14:44
timotimo no, that's the sub DYNAMIC in the core setting i'd expect 14:45
hll symbols are basically a plain-old hash that gets accessed with a specific API and that is bound to the HLL (which sometimes changes, like between nqp code and perl6 code)
P6EX is one example of an hllsym being used 14:46
timotimo BBL
14:47 tty003 joined, p6bannerbot sets mode: +v tty003 14:48 tty003 left, KennosiS left
pmurias patrickb: a new op seems like an ok solution 14:49
patrickb: the problem with binding a HLL symbol is that you would have to hardcode a HLL 14:50
14:54 WarheadsSE12 joined 14:55 p6bannerbot sets mode: +v WarheadsSE12 14:57 robertle left, WarheadsSE12 left 15:02 Zoffix joined, p6bannerbot sets mode: +v Zoffix, [Terra]16 joined, [Terra]16 left
Zoffix pmurias: but where's the pragma you mentioned that would have the block be ignored? 15:02
jnthn pmurias: It largely just needs the static optimizer to be a bit smarter/more aggressive, which is something I'm going to need soon anyway to make the upcoming PEA stuff more effective 15:03
No hacky weird pragmas, please. We already *have* a workaround, we ain't going to be adding workarounds to workaround the workaround :P 15:04
Zoffix Yes, +2 for no hacky weird pragmas
pmurias: it's this: gist.github.com/zoffixznet/d97470f...0e52ce5660 vs. gist.github.com/zoffixznet/abfcceb...c94229fe0b 15:05
pmurias: the block version may be easier to read, but the pragma is very easy to miss.
The NQP version is nice and neat :)
jnthn Once we can lower normal assignable lexical variables to locals (for now it's restricted to parameters and bound variables) then I think we'll be able to flatten a lot more scopes.
Plus $_ becoming a simple lexical from 6.d onwards will probably also help 15:06
15:09 Zoffix left
patrickb commute& 15:09
pmurias jnthn: if the optimizer can handle it better that way 15:10
15:14 patrickb left 15:15 gth740k joined 15:16 p6bannerbot sets mode: +v gth740k, gth740k left 15:17 [TuxCM] left 15:19 RypPn18 joined, p6bannerbot sets mode: +v RypPn18 15:21 mads-9 joined 15:22 p6bannerbot sets mode: +v mads-9 15:23 RypPn18 left 15:24 mads-9 left 15:30 drawks6 joined 15:31 p6bannerbot sets mode: +v drawks6, drawks6 left 15:33 mandrake`7 joined 15:34 p6bannerbot sets mode: +v mandrake`7 15:37 mandrake`7 left 15:41 robertle joined, p6bannerbot sets mode: +v robertle 15:44 lightstalker10 joined, lightstalker10 left 15:46 enko2 joined 15:47 p6bannerbot sets mode: +v enko2 15:50 enko2 left 15:51 lobstah_ joined, fake_space_whale joined, p6bannerbot sets mode: +v lobstah_, p6bannerbot sets mode: +v fake_space_whale 15:53 endre9 joined 15:54 p6bannerbot sets mode: +v endre9 15:55 lobstah_ left 15:56 endre9 left
jnthn hah, OK, maybe there is going to be one more optimization today :) 16:02
16:05 tee21 joined, p6bannerbot sets mode: +v tee21
jnthn I spotted that the attribute scalar assignment in BUILDALL wasn't using the assignment spesh plugin. That's seemingly worth a lot. 16:06
diakopter 90% a lot? 16:08
16:08 davidfetter19 joined, c4rc4s26 joined
jnthn m: say 0.79 / 1.1 16:08
camelia 0.718182
16:09 tee21 left, p6bannerbot sets mode: +v davidfetter19
jnthn 1.26x as fast as Perl 5.22 on my machine 16:09
16:09 p6bannerbot sets mode: +v c4rc4s26, c4rc4s26 left
diakopter u should add a gofaster op to moarvm 16:10
16:10 davidfetter19 left
pmurias is the jvm backend supposed to be building? 16:10
a recentish commit removed the call to nqp::p6settypes and the jvm backend still uses it 16:11
Geth rakudo: 14fa3b6963 | (Jonathan Worthington)++ | src/Perl6/World.nqp
Use spesh plugin for BUILDALL assignments

This gets an assignment-using benchmark running in 72% of the time it used to take, which is a surprisingly large win.
jnthn pmurias: oops...
I wonder if that was me, but I don't think so...
de4e82259 16:12
nine: ^^ :)
pmurias is working on reparing that 16:13
jnthn pmurias++
16:14 agrif2 joined, yaakuro25 joined
pmurias js is still using that, and the jvm backend should hold out bit till the truffle one is ready ;) 16:14
16:14 yaakuro25 left, p6bannerbot sets mode: +v agrif2
diakopter jnthn: I'm curious about an NQP version of the benchmark vs p5 16:16
16:18 agrif2 left 16:19 darkdrgn2k joined 16:20 darkdrgn2k left 16:22 njbair7 joined, p6bannerbot sets mode: +v njbair7 16:23 PtitGNU2 joined, p6bannerbot sets mode: +v PtitGNU2 16:25 njbair7 left, PtitGNU2 left, samnob11 joined, Zoffix joined, p6bannerbot sets mode: +v Zoffix 16:26 p6bannerbot sets mode: +v samnob11
Zoffix My NQP version is loads slower than p6 version :P gist.github.com/zoffixznet/55c8198...ec7c61afde 16:26
16:26 nejimban joined, samnob11 left
Zoffix p5.20 is 2.71x as fast than nqp and 1.2x as fast as p6 16:27
That's on 2018.09-35-g2fd8ffe
16:27 p6bannerbot sets mode: +v nejimban 16:29 jabreity21 joined, nejimban left
jnthn Zoffix: At lesat the p6 case should now be better on HEAD :) 16:29
16:29 p6bannerbot sets mode: +v jabreity21
Zoffix gets some HEAD 16:30
16:30 jabreity21 left, hourensou0 joined
Zoffix And nqp case is slower because it ain't got spesh plugins in use? 16:31
16:31 p6bannerbot sets mode: +v hourensou0
jnthn Probably 'cus its BUILDALL isn't code-gen'd 16:32
16:33 Ven` left
Zoffix Aye, this version runs in 0.243s on HEAD: gist.github.com/zoffixznet/90c3c48...4d1a3e6c49 vs 4s for the other one 16:34
16:34 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
Zoffix the diff between p6 and p5 is within noise now on HEAD 16:36
jnthn++ this is pretty amazing!
16:36 hourensou0 left, shurane18 joined
jnthn Only within noise on your machine? Darn. 16:36
I like my machine better. :P 16:37
Zoffix :D
16:37 p6bannerbot sets mode: +v shurane18
Zoffix m: dd (1.742 + 1.781 + 1.703 + 1.739)/4 - (1.715+1.751+1.756+1.706)/4 16:38
camelia 0.00925
Zoffix p6 is 9ms slower than p5 on average :)
I guess the actual code is faster, given how much slower our startup time is? (I'm measuring with `time`)
jnthn Yes, if our startup time was less that'd help too 16:39
Zoffix jnthn: I really hope there will be a nice blog post at the end of these optimizations :)
jnthn My measurements are with a harness, but yes, they incldue startup
I'm thinking more of a bunch of smaller blog posts covering the individual optimizations 16:40
Zoffix Great.
jnthn just discovered a useless sink operation was being done on some nosink-marked nodes...like, every void-context array and hash assignment
spesh inlines those into approximately nothingness, alas, so it's not a huge win
But still, smaller code and faster pre-spesh 16:41
16:42 shurane18 left
Geth rakudo: 2136e73521 | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
Don't wrap nosink-marked nodes with a sink

This gets rid of the sink operations that were bogusly being placed on `@a[1] = 42` and `%h<k> = 42` assignments.
16:42
ilmari poor github.com/a, their notifications must be a mess 16:44
dogbert11 jnthn: can you see anything obvious here? gist.github.com/dogbert17/ac5834e7...2aef653be9 16:45
Zoffix :)
16:46 [TuxCM] joined
dogbert11 a possible clue is that I can't repro if MVM_JIT_DISABLE=1 16:46
16:46 Zoffix left, p6bannerbot sets mode: +v [TuxCM] 16:55 timeless8 joined, timeless8 left
jnthn dogbert11: Nothing obvious, no 16:56
17:02 patrickb joined 17:03 p6bannerbot sets mode: +v patrickb
jnthn Hm, found a case of seemingly mis-aggregated statistics leading to some bad decision making in array assignment...guess that can be tomorrow's mystery or something 17:03
17:06 JKL92 joined, p6bannerbot sets mode: +v JKL92 17:07 afresh127 joined 17:08 fstd12 joined, p6bannerbot sets mode: +v afresh127, fake_space_whale left, p6bannerbot sets mode: +v fstd12 17:09 afresh127 left
patrickb *back 17:10
17:10 JKL92 left
jnthn afk 17:10
17:11 fstd12 left
patrickb I'd like to have some outside opinion on my current approach of relocatability in p6. In short: Add an op that returns the installation path determined via the executable path (moar). Then make use of that op in nqp / p6 to locate stuff. (Probably by setting config<prefix> and config<libdir> or something). 17:20
Is that a viable approach? Better ideas?
pmurias patrickb: seems viable 17:21
17:21 Guest48947 joined 17:22 p6bannerbot sets mode: +v Guest48947, Guest48947 left
pmurias patrickb: did you conisder determining the installation path based on the path to the moar file that's being executed (not saying it's a better idea) 17:23
s/conisder/consider
patrickb pmurias: That's what I want to do.
17:23 fake_space_whale joined
pmurias patrickb: I mean the .mbc file (not expressing myself clearly) 17:24
patrickb hm...
17:24 p6bannerbot sets mode: +v fake_space_whale
patrickb you mean share/perl6/runtime/perl6.moarvm ? 17:26
The path to that file is currently passed to moar from a wrapper script. 17:27
And when running nqp it's a different file.
17:29 td002 joined, td002 left
pmurias just a random suggestion, on rakudo.js I load stuff relative to rakudo.js because the node can be in some random location 17:29
patrickb Then one could implement that op differently on JS. 17:31
The idea is that the op returns the installation path, not the path to the executable. 17:32
17:35 eherget10 joined, p6bannerbot sets mode: +v eherget10 17:38 switch_29 joined, switch_29 left, eherget10 left 17:40 bubo6 joined 17:41 Loshki27 joined, bubo6 left, p6bannerbot sets mode: +v Loshki27 17:45 Loshki27 left
pmurias patrickb: seems sane 17:45
17:46 habibilus26 joined 17:47 p6bannerbot sets mode: +v habibilus26, habibilus26 left 17:52 mrdata23 joined 17:53 p6bannerbot sets mode: +v mrdata23, mrdata23 left
Geth rakudo: ddb5f8fc4a | (Paweł Murias)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
Put in nqp::p6settypes on not moar backends

This reverts parts of commit de4e82259be36ac9c97b56d594591ea796a1b131.
17:57
patrickb afk 17:59
18:07 volition joined 18:08 p6bannerbot sets mode: +v volition 18:12 volition left 18:14 e2k2 joined, e2k2 left 18:21 Arsiesys0 joined 18:22 Arsiesys0 left 18:27 Phazeus14 joined, p6bannerbot sets mode: +v Phazeus14 18:29 Phazeus14 left 18:44 iviv10 joined 18:45 p6bannerbot sets mode: +v iviv10 18:46 xKlocks- joined, p6bannerbot sets mode: +v xKlocks- 18:48 Guest72951 joined, p6bannerbot sets mode: +v Guest72951 18:49 iviv10 left, xKlocks- left 18:50 Guest72951 left 18:51 emk11 joined, p6bannerbot sets mode: +v emk11
nine pmurias: thanks again for fixing up my mess! 18:51
18:55 emk11 left
pmurias is src/core/ShapedArray.pm6 autogenerated? 18:57
[Coke] don't think so 19:00
jnthn I think *something* to do with shaped arrays is now
19:01 fake_space_whale left
nine src/core/native_array.pm6 is auto generated 19:02
19:10 tnias joined 19:11 p6bannerbot sets mode: +v tnias 19:13 Zoffix joined, p6bannerbot sets mode: +v Zoffix, tnias left
Zoffix pmurias: I think the numberd files are. There are a bunch of scripts in build: ~/R/rakudo (master)$ ls tools/build/make* 19:14
oR MAYBE it's just native
19:15 oharvey16 joined, p6bannerbot sets mode: +v oharvey16 19:16 oharvey16 left 19:25 dlan22 joined, p6bannerbot sets mode: +v dlan22
samcv question. it seems we default to uppercase hex in all cases except with buffers 19:25
19:25 pmurias left
samcv m: "hello".encode('utf16').say 19:26
camelia utf16:0x<68 65 6c 6c 6f>
samcv m: "hello".encode('utf16')>>.base(16).say
camelia (68 65 6C 6C 6F)
samcv but .base and others will use uppercase. this may or may not be intentional
19:28 pmurias joined, p6bannerbot sets mode: +v pmurias
Zoffix vaguely recalls consistifying this somewhere; or maybe there was a ticket 19:28
19:29 dlan22 left 19:32 x0908d3b229 joined 19:33 p6bannerbot sets mode: +v x0908d3b229 19:34 pmurias left 19:35 m1st joined 19:36 m1st is now known as Guest93999, p6bannerbot sets mode: +v Guest93999 19:38 wac20 joined, p6bannerbot sets mode: +v wac20 19:40 x0908d3b229 left, pmurias joined, p6bannerbot sets mode: +v pmurias, Guest93999 left 19:41 wac20 left 19:50 pmurias left, reptar_ joined 19:51 p6bannerbot sets mode: +v reptar_, pmurias joined, p6bannerbot sets mode: +v pmurias 19:55 reptar_ left, pmurias left, incertia16 joined 19:56 p6bannerbot sets mode: +v incertia16, pmurias joined 19:57 p6bannerbot sets mode: +v pmurias 19:59 AlienPenguin29 joined, incertia16 left 20:00 p6bannerbot sets mode: +v AlienPenguin29 20:01 zyme0 joined, alphageek joined, p6bannerbot sets mode: +v zyme0 20:02 p6bannerbot sets mode: +v alphageek, AlienPenguin29 left 20:03 Zoffix left 20:05 meridion15 joined, nebuchadnezzar joined, zyme0 left, alphageek left, p6bannerbot sets mode: +v meridion15, p6bannerbot sets mode: +v nebuchadnezzar 20:08 meridion15 left 20:13 mclarke3 joined 20:14 p6bannerbot sets mode: +v mclarke3 20:17 mclarke3 left
Geth rakudo/js: 224 commits pushed by 17 authors
review: github.com/rakudo/rakudo/compare/5...2ca5bd3d8b
20:17
20:32 mmlj4 joined 20:33 p6bannerbot sets mode: +v mmlj4 20:35 robertle left 20:38 mmlj4 left 20:54 patchvonbraun27 joined 20:55 p6bannerbot sets mode: +v patchvonbraun27 20:57 patchvonbraun27 left 21:01 patrickb left 21:12 deviant4 joined, dTd6 joined 21:13 p6bannerbot sets mode: +v deviant4, p6bannerbot sets mode: +v dTd6 21:15 dTd6 left 21:17 deviant4 left 21:29 Butt3rfly8 joined, p6bannerbot sets mode: +v Butt3rfly8 21:30 Butt3rfly8 left
pmurias Zoffix: github.com/perl6/roast/blob/master...rat.t#L492 works by accident 21:43
Irrational.new uses div_I to box an numbers as UInt which would fail if div_I didn't do caching
because nqp::div_I can't box the result as UInts under normal circumstances 21:44
21:53 Gohla1 joined, p6bannerbot sets mode: +v Gohla1 21:56 Gohla1 left 21:57 apejens19 joined 21:58 apejens19 left 22:19 commavir left 22:20 commavir joined 22:21 p6bannerbot sets mode: +v commavir 22:37 rorx26 joined, rorx26 left 22:41 linux_user joined 22:42 p6bannerbot sets mode: +v linux_user 22:43 arkoldthos6 joined, p6bannerbot sets mode: +v arkoldthos6 22:44 linux_user left 22:46 arkoldthos6 left 22:48 argonel11 joined 22:49 p6bannerbot sets mode: +v argonel11, wondratsch joined 22:50 argonel11 left, p6bannerbot sets mode: +v wondratsch 22:51 wondratsch left 22:57 oida19 joined 22:58 p6bannerbot sets mode: +v oida19, oida19 left 23:15 pmurias left 23:20 lizmat joined, p6bannerbot sets mode: +v lizmat 23:32 Maarten9 joined 23:33 p6bannerbot sets mode: +v Maarten9 23:37 Maarten9 left
lizmat weekly: cry.nu/perl6/adding-and-improving-...in-moarvm/ 23:38
notable6 lizmat, Noted!
23:38 ajaiswal14 joined 23:39 p6bannerbot sets mode: +v ajaiswal14 23:41 ajaiswal14 left 23:46 Twoll6 joined 23:47 p6bannerbot sets mode: +v Twoll6 23:51 Twoll6 left