Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_logs/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by AlexDaniel on 12 June 2018.
00:11 MasterDuke left 00:51 MasterDuke joined
Geth nqp/new-runner-enable-execname: 2e65fa1f0d | 陈梓立++ (committed using GitHub Web editor) | t/nqp/114-pod-panic.t
Update 114-pod-panic.t
01:51
02:01 MasterDuke left
Geth nqp/W4anD0eR96-patch-1: 1c59d2b68c | 陈梓立++ (committed using GitHub Web editor) | t/nqp/022-optional-args.t
Test invalid syntax on optional args
02:16
nqp: W4anD0eR96++ created pull request #480:
Test invalid syntax on optional args
02:17 MasterDuke joined
Geth rakudo: jstuder-gh++ created pull request #1995:
Issue 1975: Fix WIN32 Proc::Async process termination issue
02:29
MasterDuke nqp: say(nqp::tc("hello world")) 02:30
camelia HELLO WORLD
MasterDuke nqp: say(nqp::tclc("hello world")) 02:32
camelia Hello world
MasterDuke m: say "hello world".tc
camelia Hello world
MasterDuke m: say "hello world".tclc
camelia Hello world
02:51 perlpilot left 02:54 perlpilot joined
AlexDaniel 6c: say Rat.new(10⁴⁰⁰, 9⁹⁹⁹) 03:19
committable6 AlexDaniel, gist.github.com/3f3c4f435f5d19d499...efdf1eefd1
AlexDaniel ↑ that's an interesting progression
03:34 AlexDaniel left, AlexDaniel joined
Geth nqp: 1c59d2b68c | 陈梓立++ (committed using GitHub Web editor) | t/nqp/022-optional-args.t
Test invalid syntax on optional args
04:08
nqp: 0d797a89f3 | 陈梓立++ (committed using GitHub Web editor) | t/nqp/022-optional-args.t
Merge pull request #480 from perl6/W4anD0eR96-patch-1

Test invalid syntax on optional args
nqp/new-runner-enable-execname: 7fe69fc6cd | 陈梓立++ (committed using GitHub Web editor) | t/nqp/114-pod-panic.t
Update 114-pod-panic.t
04:10
nqp/W4anD0eR96-patch-2: 28908b2d5b | 陈梓立++ (committed using GitHub Web editor) | t/nqp/114-pod-panic.t
Update 114-pod-panic.t
04:12
rakudo: zoffixznet self-assigned Crazy Rats stringify as 0.00000…000Inf github.com/rakudo/rakudo/issues/1996
ddf496c72b | (Elizabeth Mattijsen)++ | 2 files

  - Set(|Hash) perlifies as Foo.new(...)
  - Bag(|Hash)|Mix(|Hash) perlifies as (...).Baggy (as coercer)
  - No longer specical case frequency/weight of 1
This seems inconsistent, but there is a reason for this. ... (22 more lines)
04:13
04:17 AlexDaniel left, AlexDaniel joined 04:58 perlpilot left
lizmat Files=1242, Tests=76407, 320 wallclock secs (15.31 usr 5.24 sys + 2225.32 cusr 221.69 csys = 2467.56 CPU) 05:44
06:23 CIAvash[m] left, AlexDaniel`` left 06:24 ilmari[m] left 06:26 benchable6 left, greppable6 left, squashable6 left, bisectable6 left, releasable6 left, releasable6 joined, squashable6 joined, greppable6 joined, bisectable6 joined, benchable6 joined 06:31 lizmat left 06:54 lizmat joined 07:05 MasterDuke left
lizmat after a night's sleep, I've come to the conclusion that: 07:06
1. we cannot have similar .perl for Baggy and Setty 07:07
2. that the problem is really in the .perl ification of QuantHashes, *not* in the itemization of Pairs
we want the following both to yield the same Bag: 07:08
(a => 42, b => 666).Bag
[a => 42, b => 666].Bag
if however we would make the interpretation of Pairs dependent on the itemization, then the latter would change in semantics 07:09
as the array iterator delivers containers, rather than values
so: perlification of Settys will use 'Set.new()', as that will take all values given at "face value" (aka no special handling for Pairs) 07:11
perlification of Baggys will use ().Bag syntax *and* not special case when the value is one 07:12
if a Baggy then contains a Pair as a key with value 1, it will be rendered as ":foo => 1" rather than as ":foo" 07:13
removing the ambiguity between a => 42 => 1 and a => 42
07:35 stmuk_ joined, ilmari[m] joined
[TuxCM] Rakudo version 2018.06-44-g3cbf25e0f - MoarVM version 2018.06-34-g411f73fdc
csv-ip5xs0.896 - 0.936
csv-ip5xs-207.406 - 7.886
csv-parser24.259 - 24.894
csv-test-xs-200.427 - 0.464
test8.650 - 8.799
test-t2.300 - 2.384
test-t --race0.966 - 0.987
test-t-2042.268 - 42.331
test-t-20 --race14.309 - 15.343
07:46
08:03 AlexDaniel`` joined, CIAvash[m] joined
10:14 pmurias joined 10:53 MasterDuke joined
MasterDuke pmurias: around? 10:59
dogbert17 stupid question of the day. Is Hash.kv known to be slower than using Hash.keys and then retrieving the value using the key? 11:01
m: my %colors = ("00" => ["1","2"], "11" => ["0","2"]); for ^1000000 { for %colors.kv -> $k, $v {my $s = "test" ~ $v[1]; }}; say time - INIT time 11:03
camelia 9
dogbert17 m: my %colors = ("00" => ["1","2"], "11" => ["0","2"]); for ^1000000 { for %colors.keys -> $k {my $s = "test" ~ %colors{$k}[1]; }}; say time - INIT time
camelia 5 11:04
lizmat dogbert17: I am not surprised: the iterator for .kv is much more complex, as it needs to keep state between alternating between key and value 11:05
iterating over a hash could maybe be faster using .pairs (or nothing, as .pairs is implicit) 11:06
and then get the .key / .value
dogbert17 lizmat: thx, so if you're after speed, kv should be avoided in preference of keys or pairs then
lizmat well, benchmark to be sure, I would say 11:07
dogbert17 :)
lizmat but .kv is simply more complicated, so slower
dogbert17 m: my %colors = ("00" => ["1","2"], "11" => ["0","2"]); for ^1000000 { for %colors.pairs -> $p {my $s = "test" ~ $p.value[1]; }}; say time - INIT time # like this 11:08
camelia 5
dogbert17 if I did that right it runs quite a bit faster than kv 11:09
lizmat dogbert17: s/time/now
dogbert17 oops
m: my %colors = ("00" => ["1","2"], "11" => ["0","2"]); for ^1000000 { for %colors.pairs -> $p {my $s = "test" ~ $p.value[1]; }}; say now - INIT now # like this
camelia 5.233219
lizmat yes, otherwise you only get second granularity 11:10
dogbert17 m: my %colors = ("00" => ["1","2"], "11" => ["0","2"]); for ^1000000 { for %colors.kv -> $k, $v {my $s = "test" ~ $v[1]; }}; say now - INIT now
camelia 9.0061334
dogbert17 cool, I'm looking at onw of rindolf's benchmarks where p5 crushes p6. He uses kv a lot there 11:11
MasterDuke pmurias: is the argument to the @Deserializer annotation needed/used for anything? 11:13
pmurias MasterDuke: it's used when building the truffle ast 11:17
when passing the array structure to nqp::runtruffle the argument is used for the ast name (that's in the first array element) 11:18
MasterDuke: if the argument is not present it's generated from the class name
MasterDuke pmurias: not all the annotations had an argument, but that could be ok then? 11:19
pmurias MasterDuke: yes, it's generated by default
MasterDuke: so for NQPConcatNode it ends up being "concat" 11:20
MasterDuke pmurias: so it's only needed for the ones with '-' in the name? 11:21
btw, i tried doing chars again, but get `org.perl6.nqp.truffle.MalformedAstException: Expected an AST node that produces a str` 11:22
pmurias MasterDuke: yes, the one with - name are internal ones, for all the ones called after NQP ops I want stuff to be autogenerated 11:25
MasterDuke: hmm, what are you passing as an argument to chars?
MasterDuke: what are you testing you chars on 11:27
?
MasterDuke heh, nm, just spotted my typo. work now
*works 11:28
pmurias: also, i assume the imports in TruffleCompiler.java for the nodes that now use the Deserializer aren't needed? 11:29
e.g. `import org.perl6.nqp.truffle.nodes.expression.NQPUcNode;`
pmurias MasterDuke: yes, those are missed leftovers 11:32
Geth nqp/truffle: c2120c5385 | (Paweł Murias)++ | 2 files
[truffle] Generate op classes for ops that have _i, _s, etc. suffixes
11:33
pmurias MasterDuke: btw too see the generated code (TruffleCompilerGen and stuff that truffle generated) I add a -s generated-stuff-output-dir to the javac call in the Makefile 11:34
I have to leave for lunch at grandparents place &
MasterDuke thanks, i'll add the most recent minor changes i made 11:35
pmurias fixes rushed last commit
MasterDuke pmurias: when you're free, i'd be curious to heard how add_i and such should be done 11:36
Geth nqp/truffle: 0db8567297 | (Paweł Murias)++ | src/vm/jvm/dsl/org/perl6/nqp/dsl/Processor.java
[truffle] Fix previous commit
11:37
pmurias MasterDuke: for the _i ops I think just using the boilerplate generation script and filling the implementation in should work 11:39
MasterDuke: I just updated the script to handle _i suffixes :)
got to run for real &
Geth nqp: 4971fb59a6 | 陈梓立++ (committed using GitHub Web editor) | t/nqp/114-pod-panic.t
More robust test
12:01
nqp: 28908b2d5b | 陈梓立++ (committed using GitHub Web editor) | t/nqp/114-pod-panic.t
Update 114-pod-panic.t
nqp: 2d5d8868c0 | 陈梓立++ (committed using GitHub Web editor) | t/nqp/114-pod-panic.t
Merge pull request #478 from perl6/W4anD0eR96-patch-2

More robust test
nqp/truffle: 4 commits pushed by (Daniel Green)++ 12:17
12:20 [Tux] left 12:58 llfourn left 13:01 llfourn joined, Zoffix left
Geth rakudo: 64bdb3dd7b | (Moritz Lenz)++ | lib/Test.pm6
Test.pm6: small style improvement

  "until !" better written as "while"
14:02
nqp: dbee32dc1c | MasterDuke17++ (committed using GitHub Web editor) | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java
Just typo fixes in comments
14:54
14:59 lizmat left 15:11 Ven`` joined 15:16 MasterDuke left 15:25 Ven`` left 15:26 Ven`` joined 16:10 Ven`` left 16:11 Ven`` joined 18:11 Ven`` left 18:15 Ven`` joined 18:27 Ven`` left 18:28 Ven`` joined 18:37 llfourn left 18:41 llfourn joined 19:17 MasterDuke joined 19:28 Ven`` left 19:46 microfed joined 21:02 pmurias left 21:07 MasterDuke left 21:10 lizmat joined
lizmat weekly: blog.theperlshop.com/2018/06/28/how...cross-post 21:20
notable6 lizmat, Noted!
21:29 ggoebel left 21:45 ggoebel joined 22:14 dalek left
samcv how do i divide a Rat without getting a Num? 22:22
AlexDaniel use FatRat? 22:29
samcv thanks :) 22:30
22:57 Ven`` joined 23:09 Ven`` left 23:27 synopsebot left