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:25
MasterDuke joined,
MasterDuke left,
MasterDuke joined
|
|||
Geth | rakudo: vrurg++ created pull request #2941: Fix incorrect handling of unknown 6.c modifiers |
00:33 | |
rakudo: 0296102e65 | (Vadim Belman)++ | tools/templates/main-version.in Fix incorrect handling of unknown 6.c modifiers |
00:56 | ||
rakudo: e522d082f5 | (Vadim Belman)++ (committed using GitHub Web editor) | tools/templates/main-version.in Merge pull request #2941 from vrurg/add_version_6e Fix incorrect handling of unknown 6.c modifiers |
|||
vrurg | notable6: tenesianu.blogspot.com/2019/05/per...roids.html | 02:17 | |
notable6 | vrurg, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Notable | ||
vrurg | note: weekly tenesianu.blogspot.com/2019/05/per...roids.html | 02:18 | |
notable6 | vrurg, Noted! | ||
04:02
Kaypie left,
Kaypie joined
04:35
chansen_ left
04:38
vrurg left
04:39
chansen_ joined
04:44
chansen_ left
04:52
chansen_ joined
05:35
squashable6 left
05:39
squashable6 joined,
ChanServ sets mode: +v squashable6
|
|||
lizmat | Files=1262, Tests=108002, 202 wallclock secs (26.71 usr 7.48 sys + 2839.43 cusr 269.16 csys = 3142.78 CPU) | 07:10 | |
07:43
MasterDuke left
08:46
patrickb joined
10:04
HarmtH joined
10:30
patrickb left,
robertle left
|
|||
Geth | roast: 660bcf1645 | (Elizabeth Mattijsen)++ | S07-hyperrace/basics.t Update comment; instead of hanging, it now segfaults |
10:40 | |
rakudo: 667c75d315 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals/JSON.pm6 Make to-json about 60% faster. Ported from a PR for JSON::Fast, with the Exception handling built in again. |
10:41 | ||
rakudo: 161d7eeff0 | (Elizabeth Mattijsen)++ | lib/MoarVM/Profiler.pm6 Make Callee.file always return something So we can reliable use .file on the _by_file methods. |
10:46 | ||
10:52
patrickb joined
10:54
lizmat left
11:02
lizmat joined
|
|||
AlexDaniel | lizmat: that's 66.7% faster or 1.67 as fast… :) | 11:36 | |
lizmat | whatever... I had a 5MB unpretty JSON file that took 10 seconds to jsonify, it now only takes 6 | 11:37 | |
± noise... | |||
so I figured I'd be conservative in the speed improvement claim | |||
AlexDaniel | yeah that's pretty cool, just a reminder that we have tools/speedup.p6 that is meant to consistify these numbers :) | 11:38 | |
for anyone interested: gist.github.com/AlexDaniel/481618b...c7efdb95f9 | 11:39 | ||
lizmat | AlexDaniel++ | 11:42 | |
11:53
ufobat_ left
|
|||
Geth | rakudo/SetHash-set-unset: b9d9943c34 | (Elizabeth Mattijsen)++ | src/core/SetHash.pm6 Give SetHash a set/unset method Inspired by seeing things like: %sethash{$_} = True for @to-be-added; in the wild. Instead, one can now do: ... (5 more lines) |
12:37 | |
rakudo: lizmat++ created pull request #2942: Give SetHash a set/unset method |
12:38 | ||
rakudo: lizmat self-unassigned @a[-1;0]:exists returns True github.com/rakudo/rakudo/issues/2929 8540c94d3d | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals/JSON.pm6 |
12:53 | ||
lizmat | bisectable6: dd (2, 4 ... 1_000_000).iterator | 13:08 | |
bisectable6 | lizmat, Bisecting by output (old=2015.12 new=161d7ee) because on both starting points the exit code is 0 | ||
lizmat, bisect log: gist.github.com/696698f1e1a770a001...69da5b885a | 13:09 | ||
lizmat, (2015-12-25) github.com/rakudo/rakudo/commit/07...dc61f84053 | |||
lizmat, The result looks a bit unrealistic, doesn't it? Most probably the output is different on every commit (e.g. 「bisect: say rand」) | |||
patrickb | .seen vrurg | 13:10 | |
yoleaux | I saw vrurg 02:18Z in #perl6-dev: <vrurg> note: weekly tenesianu.blogspot.com/2019/05/per...roids.html | ||
13:13
Kaypie left,
Kaypie joined
|
|||
ugexe | m: to-json({ Foo => v1 }) | 13:18 | |
camelia | Saw 1 occurrence of deprecated code. ================================================================================ Sub to-json (from GLOBAL) seen at: <tmp>, line 1 Please use JSON::Fast, JSON::Tiny or JSON::Pretty from modules.per…» | ||
ugexe | that could be considered a regression | ||
i'm not sure how careful we have been about stringifying versions in meta data before to-json'ing it | 13:19 | ||
infact that was a difference between the port from JSON::Fast | |||
lizmat: the new json code didn't port this bit of logic: `return "\"" ~ str-escape(~$obj) ~ "\"" if $obj ~~ Str|Version;` | 13:20 | ||
lizmat | ugexe: good catch, will fix | 13:21 | |
nine | .tell patrickb won't be able to review anything this weekend. I'm at my bachelor (LAN-)party | 13:23 | |
yoleaux | nine: I'll pass your message to patrickb. | ||
patrickb | I don't seem to have a commit bit for to perl6/nqp-configure and perl6/nqp. Even though I do have one for rakudo. Is that on purpose? If not, can I also get one for those two repos? | ||
yoleaux | 13:23Z <nine> patrickb: won't be able to review anything this weekend. I'm at my bachelor (LAN-)party | ||
patrickb | hi nine! | ||
AlexDaniel | patrickb: I don't think so, let me fix that… | 13:25 | |
lizmat | ugexe: do we need string escaping for Version objects | ||
AlexDaniel | patrickb: ok, there's an invite that you need to accept | 13:26 | |
patrickb | AlexDaniel: Thanks! | 13:27 | |
nine: That's ok. I'm not blocked by those PRs. | 13:28 | ||
¦ problem-solving: AlexDaniel assigned to jnthn Issue Helper function on SetHashes github.com/perl6/problem-solving/issues/35 | 13:30 | ||
patrickb | Hm. I am inclinded to merge the huge fix-everyhing PRs without nines review. They fix so many failures I'm quite sure stuff won't be worse after the merge. | 13:31 | |
AlexDaniel | patrickb: better now than later | 13:34 | |
ugexe | lizmat: i don't think so... " would always get turned into . anyway | 13:36 | |
lizmat | well, anyway, I copied the current behaviour in the patch | 13:37 | |
AlexDaniel | e: my @to-be-added = eager 1..200_000; my %sethash = SetHash.new(@to-be-added); %sethash{$_} = True for @to-be-added; | 13:41 | |
evalable6 | 13:42 | ||
AlexDaniel | err that's not what I wanted | ||
e: my @to-be-added = eager 1..200_000; %sethash{$_} = True for @to-be-added; say now - INIT now; | |||
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/OwtMoRazl8 Variabl… |
||
AlexDaniel, Full output: gist.github.com/6b3fe4dc6de4cf8f06...4ed940fc0c | |||
AlexDaniel | e: my @to-be-added = eager 1..200_000; my %sethash = SetHash.new(); %sethash{$_} = True for @to-be-added; say now - INIT now; | ||
evalable6 | 0.2608523 | ||
AlexDaniel | e: my @to-be-added = eager 1..200_000; my %sethash = SetHash.new(@to-be-added); say now - INIT now; | 13:43 | |
evalable6 | 4.1744451 | ||
lizmat | wow | 13:47 | |
e: my @to-be-added = eager 1..200_000; my %sethash is SetHas = @to-be-added; say now - INIT now; | 13:48 | ||
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/RjihIRQKs0 Can't u… |
||
lizmat, Full output: gist.github.com/46533e29a6d11ddfec...2f9aa4d338 | |||
lizmat | e: my @to-be-added = eager 1..200_000; my %sethash is SetHash = @to-be-added; say now - INIT now; | ||
evalable6 | 0.7373008 | ||
lizmat | e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash = @to-be-added; say now - $then; | 13:49 | |
evalable6 | 0.67547787 | ||
lizmat | e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash; %sethash{$_} = True for @to-be-added; say now - $then; | ||
evalable6 | 1.99042913 | 13:50 | |
lizmat | ah... | ||
my %sethash = SetHash.new does 2 things: it creates a SetHash, *and* then stores that in a Hash | 13:51 | ||
AlexDaniel: did you mean to use := instead of = perhaps ? | |||
e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash := SetHash.new(@to-be-added); say now - $then; | 13:52 | ||
evalable6 | 0.35582762 | ||
lizmat | e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash; %sethash{$_} = True for @to-be-added; say now - $then; | ||
evalable6 | 1.9214767 | ||
lizmat | *phew* | ||
dogbert17 | patrickb: thx for fixing the 'nuke' bug in rakudobrew | 13:54 | |
patrickb | dogbert17: Your welcome! | ||
AlexDaniel | e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash; %sethash{$_} = True for @to-be-added; say now - $then; | 14:00 | |
evalable6 | 2.06118205 | ||
AlexDaniel | e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash; %sethash ,= SetHash.new(@to-be-added); say now - $then; | ||
evalable6 | 0.2771428 | ||
AlexDaniel | lizmat: can you bench this against your proposed .set method? | ||
lizmat | will in a mo | 14:03 | |
AlexDaniel: 0.2206553 vs 0.2176162 I would say, pretty much within noise | 14:06 | ||
ah, sorry...missed the first one | |||
AlexDaniel | the first one is just a for loop so yeah, it'll be 10 times slower | 14:07 | |
lizmat | 1.383803 (for), 0.2206553 (,=) and 0.2176162 (.set) | 14:08 | |
AlexDaniel | I don't have an alternative for unset though | ||
greppable6: \=\ True\ for | 14:09 | ||
greppable6 | AlexDaniel, 3 lines, 3 modules: gist.github.com/c79a76cf88ee72e7bb...5c3d1da30c | ||
14:10
patrickb left
|
|||
lizmat | AlexDaniel: (-)= :-) | 14:10 | |
AlexDaniel | e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash; %sethash (+)= SetHash.new(@to-be-added); say now - $then; | 14:23 | |
evalable6 | 2.76878196 | ||
lizmat | e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash; %sethash (+)= @to-be-added; say now - $then; | 14:25 | |
evalable6 | 7.0819087 | 14:26 | |
lizmat | wow | ||
expected that to be fasterer | |||
AlexDaniel | timotimo: what do you think, am I the only one who struggles with JSON::Fast? :) Like all the time I do something like `for %foo<blah>` and it doesn't work and then I have to add @() or [0] randomly until it works | 14:30 | |
like, I can never get it to work right away on the first try… | |||
for example | 14:32 | ||
m: use JSON::Fast; my %data = from-json(‘{"array": [1, 2, 3]}’); .say for %data<array> | |||
camelia | ===SORRY!=== Could not find JSON::Fast at line 1 in: inst#/home/camelia/.perl6 inst#/home/camelia/rakudo-m-inst-1/share/perl6/site inst#/home/camelia/rakudo-m-inst-1/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-1/share… |
||
AlexDaniel | mmmm | ||
star: say 42 | |||
camelia | sudo: /home/camelia/bin/perl6-m: command not found | ||
AlexDaniel | e: my %data = from-json(‘{"array": [1, 2, 3]}’); .say for %data<array> | ||
evalable6 | [1 2 3] Saw 1 occurrence of deprecated code. =============================================… |
||
AlexDaniel, Full output: gist.github.com/424b6cbc586bbc3c3b...ce41a72138 | |||
AlexDaniel | so that's [1 2 3], definitely not what I wanted | 14:33 | |
and how do I fix that, uhh… | |||
e: my %data = from-json(‘{"array": [1, 2, 3]}’); .say for %data<array>[0] | |||
evalable6 | 1 Saw 1 occurrence of deprecated code. ===================================================… |
||
AlexDaniel, Full output: gist.github.com/94d838d1152199e36f...c43c50cfd4 | |||
AlexDaniel | that doesn't work… | ||
e: my %data = from-json(‘{"array": [1, 2, 3]}’); .say for @(%data<array>) | |||
evalable6 | 1 Saw 1 occurrence of deprecated code. ===================================================… |
||
AlexDaniel, Full output: gist.github.com/14e5d0cd7c4f8b2faa...28f849a535 | |||
AlexDaniel | yaaay | ||
timotimo: and that's how it goes like constantly | |||
14:34
vrurg joined
14:35
patrickb joined
|
|||
timotimo | AlexDaniel: i'm sure everybody struggles like that | 14:37 | |
i'm not yet sure how to correctly go forward | |||
like, just changing it would break people's code, so it'll have to be :api<2> or something, but what? | |||
AlexDaniel | timotimo: JSON::Easy? :) | 14:46 | |
timotimo | but then it won't be fast :P | ||
AlexDaniel | timotimo: what about JSON | 14:47 | |
timotimo | then it will be neither easy nor fast :P | ||
AlexDaniel | but it will be very easy to type | ||
timotimo | for gradual typing enthusiasts we shall offer J, JS, JSO, and JSON | 14:50 | |
15:06
Kaypie left
|
|||
AlexDaniel | e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash; %sethash = |%sethash, |SetHash.new(@to-be-added); say now - $then; | 15:06 | |
evalable6 | 6.1007064 | ||
lizmat | AlexDaniel: yeah, there isn't currently a cheap way of doing that :-( | 15:18 | |
e: my @to-be-added = eager 1..200_000; my $then = now; my %sethash is SetHash; %sethash = |%sethash, |@to-be-added; say now - $then; | |||
evalable6 | 1.18713267 | 15:19 | |
lizmat | you don't need to make the new thing a SetHash first | ||
patrickb | vrurg: I'd be grateful for another look here: github.com/rakudo/rakudo/pull/2939...r289604989 | 15:20 | |
15:30
squashable6 left
15:32
squashable6 joined
|
|||
Geth | ¦ problem-solving: AlexDaniel assigned to jnthn Issue Removed Syntactic Feature github.com/perl6/problem-solving/issues/36 | 16:27 | |
16:41
squashable6 left
16:43
squashable6 joined
16:52
vrurg left
17:00
AlexDaniel left
17:02
gfldex left,
AlexDaniel joined
17:03
gfldex joined
|
|||
Geth | rakudo: b20ccbae44 | (Elizabeth Mattijsen)++ | src/core/array_operators.pm6 push|append|unshift|prepend as sub die on named parameters Fixes #2943 |
17:16 | |
synopsebot | RAKUDO#2943 [open]: github.com/rakudo/rakudo/issues/2943 Sub push doesn't die on named parameters | ||
Geth | roast: dd9a661f02 | (Elizabeth Mattijsen)++ | S32-array/push.t Add tests for R#2943 |
17:26 | |
synopsebot | R#2943 [closed]: github.com/rakudo/rakudo/issues/2943 Sub push doesn't die on named parameters | ||
18:08
lizmat left
18:12
lizmat joined
18:22
patrickb left
18:50
leont joined
18:54
gfldex left
18:55
gfldex joined
|
|||
tobs | Does anyone have an idea about R#2571? I'm bundling an executable with my module but the executable is stripped when installed. | 19:24 | |
synopsebot | R#2571 [open]: github.com/rakudo/rakudo/issues/2571 %?RESOURCES execute bit lost on installation | ||
tobs | Don't know if it's too hairy to support that in a cross-platform way. Maybe the easiest solution is to make a copy to $*TMPDIR on startup and chmod that? | 19:25 | |
ugexe | what needs to happen is META6.json extended to store attributes of all files in the distribution, so that upon installation CURI can try to accommodate | 19:36 | |
something like `"manifest" => [ {"path" : "lib/Foo.pm6", "perms" : "..." }, {"path" : "resources/whatever.exe" : "perms" : "..." }]` | 19:37 | ||
we'd eventually also use that to mark files that are generated at build time vs not actually included in the distribution, and so on | 19:38 | ||
sha1 name, file modified times, etc | 19:39 | ||
lizmat | m: dd [{ a => 42}], dd [{ a => 42},] # subtle differencve... and a bit of a WAT ? | 19:41 | |
camelia | Array element = [{:a(42)},] Array element = [:a(42)] Nil |
||
lizmat | m: dd [{}] # also maybe a WAT ? | ||
camelia | Array element = [] | ||
tobs | ugexe: That sounds like a bigger project. Guess I'll be able to turn the executable into something I can NativeCall into by midnight instead. | 19:43 | |
To be honest, I've been mostly cargo-culting META6 so far. I wouldn't be able to file an appropriate issue right now. | |||
well, the file itself is documented. What I lack is understanding of CURI | 19:44 | ||
ugexe | you can to be able to tell CURI what to do with the file. its api doesn't take "file paths", it takes a Distribution which can be an e.g. socket. This means CURI has no way to infer what the original e.g. permissions of a file are | 19:46 | |
so those things needs to be described in META6.json somewhere, and CURI made to understand that new description | 19:47 | ||
of course tooling would usually generate those entries into META6.json for path based distributions | |||
tobs | it feels a bit like reinventing tar | 19:51 | |
ugexe | pretty much | 19:52 | |
tobs | but it sheds some light for me on the abstractions involved, thanks | ||
ugexe | using tar files as our main distribution format (ala install literal .tar files) would solve the unicode name and case sensitivity issues on various systems | 19:54 | |
although that wouldnt work so well for non pure-perl6 distributions (i.e. NativeCall) | |||
Geth | rakudo: a6a2ba90f9 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals/JSON.pm6 Remove unnecessary code Probably stuck around from a different path in the to-json refactor. |
19:57 | |
timotimo | lizmat: that's "just" single-argument rule; just like [<foo bar baz>] is the syntax to get an array of strings, though with [{ }] it's not quite as useful | 20:10 | |
lizmat | yeah, I realized it was the 1arg rule.. :-) but that's really not very clear from that context | 20:11 | |
m: my @a = { a => 42 }; dd @a' | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my @a = { a => 42 }; dd @a7⏏5' expecting any of: infix infix stopper postfix statement end statem… |
||
lizmat | m: my @a = { a => 42 }; dd @a | ||
camelia | Array @a = [:a(42)] | ||
lizmat | ^^^ but I guess that's the same thing | ||
timotimo | yeah, that's a more explicit way to write it i guess | 20:12 | |
20:20
MasterDuke joined,
MasterDuke left,
MasterDuke joined
|
|||
Geth | rakudo: 2566db7b9d | (Elizabeth Mattijsen)++ | src/core/List.pm6 Revert "Re-imagine PR #2493" This reverts commit 8f424c9d8ecac7c6fbf4f3aa7e0e5fc4b46ea8fe. Not seeing a way to fix this atm, so reverting and re-opening the pull request on which this was based (as well as the issue that caused this). |
20:33 | |
synopsebot | RAKUDO#2493 [closed]: github.com/rakudo/rakudo/pull/2493 Fix is-lazy propagation bug in List::Reifier | ||
21:09
squashable6 left
21:14
squashable6 joined
21:36
gfldex left
21:38
gfldex joined
|
|||
lizmat calls it a day | 21:43 | ||
21:51
squashable6 left
21:54
squashable6 joined
22:07
gfldex left
22:10
vrurg joined
23:03
leont left
23:35
HarmtH left
23:41
HarmtH joined
|