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.
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Merge pull request #2061 from rakudo/revert-2038-issue-2022 00:03
travis-ci.org/rakudo/rakudo/builds/403319203 github.com/rakudo/rakudo/compare/2...2d071b83f0
buggable [travis build above] ☠ All failures are due to: failed make test (1 failure). Across all jobs, only t/04-nativecall/12-sizeof.t test file failed. 00:03
Geth rakudo: ugexe++ created pull request #2065:
Remove undocumented/unspecced gethostname()
00:24
geekosaur um. what's your alternative to it? because it's kinda needed in network code 00:26
likely it should be spec-ed and related to the standard inet API, and the assumption of that is why it wasn't documented
Geth nqp: bdaeaaf647 | 陈梓立++ (committed using GitHub Web editor) | docs/ops.markdown
typo
00:49
Geth rakudo: ugexe++ created pull request #2066:
Remove unused Universal role
01:39
nqp: 5a8c75bd1b | MasterDuke17++ (committed using GitHub Web editor) | docs/ops.markdown
Add return types to doc signature of some ops
01:46
Geth nqp: 4e2304c205 | MasterDuke17++ (committed using GitHub Web editor) | docs/ops.markdown
Add nqp::gethostname to the docs
01:54
MasterDuke p6: use nqp; say(nqp::stat_time('.', 8)) 02:35
camelia 1531449317.8038583 02:36
MasterDuke r: use nqp; say(nqp::stat_time('.', 8))
camelia 1531449317.8038583
1531449317
Geth nqp/truffle: dd426269a7 | (Daniel Green)++ | 6 files
[truffle] Implement nqp::<l?stat l?stat_time>
03:20
[Tux] Rakudo version 2018.06-163-g612d071b8 - MoarVM version 2018.06-203-g1b1edfe5f
csv-ip5xs0.959 - 0.972
csv-ip5xs-207.962 - 8.137
csv-parser26.112 - 26.301
csv-test-xs-200.450 - 0.458
test9.020 - 9.314
test-t2.207 - 2.322
test-t --race0.961 - 0.964
test-t-2038.614 - 39.704
test-t-20 --race13.926 - 14.039
06:46
2018-06-25 11:30:00 test-t 2.238
2018-06-25 11:26:31 test-t 2.230
2018-06-18 19:07:25 test-t 2.227
2018-05-07 18:35:13 test-t 2.227
2018-07-13 08:21:27 test-t 2.207
:) 06:47
AlexDaniel robertle: yeah, that's correct. I hope I clarified it github.com/robertlemmen/perl6-cach...-404721424 07:23
robertle: auto backlinking on github is a bit unfortunate in this case :) It's in the list on R#2047 because it randomly succeeded on 2018.06 and randomly failed on HEAD, so toaster shows it red 07:24
synopsebot R#2047 [open]: github.com/rakudo/rakudo/issues/2047 [⚠ blocker ⚠] [WIP] Rescalar merge & other toaster-related stuff
AlexDaniel the ones with ✓ are modules that are OK 07:25
robertle AlexDaniel: ok, understood! I don't know how to make that test totally deterministic, as it is about timing. but I have doubled the timings and therefore the margin. perhaps that makes it less flappy for you as well... 07:27
AlexDaniel hmm… 07:28
Ulti [TuxCM]: in your tests which is P6 vs P5 (no XS) times? 09:01
"test" with 9s is that the perl6 time?
oh I see test-t --race is also p6 nice 09:05
jnthn Hmm, is that a new low for test-t? :) 10:23
lizmat yeah, it is
maybe time for a bump ?
lizmat *nudge* :-) 10:24
jnthn Can't remember when the last bump was :)
But feel free to do one now
I'm off working in a branch again
lizmat ok, will
do
jnthn On the latest headache-inducing change :)
Ulti yeah I can report my tests are seeing some super nice improvement too 10:25
jnthn Cool :)
Ulti I'll try and dig out my scripts from xmas and add another datapoint
jnthn Currently working on more precise tracking of what we need to keep around for deoptimization purposes, so we can hopefully throw out more instructions when specializing, plus unblock some other opts. 10:28
AlexDaniel releasable6: status 10:35
releasable6 AlexDaniel, Next release in ≈8 days and ≈8 hours. 8 blockers. 0 out of 163 commits logged
AlexDaniel, Details: gist.github.com/607fb95a4f125db960...17a86799b1
Geth nqp: b1e80f0331 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
Bump MoarVM for the latest goodies
10:36
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...3-g1b1edfe
rakudo: e6c5e85988 | (Nick Logan)++ | 3 files
Remove unspecced/used pre-6.c jvm modules
10:50
rakudo: 3905ac0bc3 | (Jonathan Worthington)++ (committed using GitHub Web editor) | 3 files
Merge pull request #2063 from ugexe/remove-unused-jvm-modules

Remove unspecced/used pre-6.c jvm modules
10:51
rakudo: 359ac12d97 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP for the latest MoarVM goodies
11:16
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....0-gb1e80f0
6850a64f83 | (Elizabeth Mattijsen)++ | src/core/Map.pm6

  - split out handling Map/Hash and Object Hash handling
  - fixes R#2062
travis-ci Rakudo build failed. Jonathan Worthington 'Merge pull request #2063 from ugexe/remove-unused-jvm-modules 11:50
travis-ci.org/rakudo/rakudo/builds/403502723 github.com/rakudo/rakudo/compare/6...05ac0bc3a6
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 11:50
synopsebot R#2062 [open]: github.com/rakudo/rakudo/issues/2062 Initializing a Hash/Map from a list of a object hashes shows object hash internals
Geth roast: c606a52330 | (Elizabeth Mattijsen)++ | S32-hash/map.t
Add test for R#2062
12:26
synopsebot R#2062 [open]: github.com/rakudo/rakudo/issues/2062 Initializing a Hash/Map from a list of a object hashes shows object hash internals
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Bump NQP for the latest MoarVM goodies' 12:41
travis-ci.org/rakudo/rakudo/builds/403510173 github.com/rakudo/rakudo/compare/3...9ac12d9753
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 12:41
lizmat hmmm... segfaults in stage optimize :-( 12:43
fwiw., I can't reproduce
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Part 1 of Map.STORE refactor 13:30
travis-ci.org/rakudo/rakudo/builds/403530200 github.com/rakudo/rakudo/compare/3...50a64f83e4
Geth nqp/truffle: 7f4f19e6c5 | (Paweł Murias)++ | README.pod
[truffle] Undo incorrect change in README.pod
13:48
Geth rakudo: 2670236fae | (Nick Logan)++ | src/core/Systemic.pm6
Remove unused Universal role
14:06
rakudo: 83b4c8dcf4 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core/Systemic.pm6
Merge pull request #2066 from ugexe/remove-universal-role

Remove unused Universal role
dogbert17 hmm, 'Stage optimize : Cannot invoke this object (REPR: P6opaque; QAST::Block)' 14:51
lizmat dogbert17: Travis earlier had segfaults in Stage optimize, but that later cleared 14:53
dogbert17 I get them on my 32 bit Linux VM, 64 bit seems to be ok 14:54
I'll see if I can find a suspect commit 15:02
Geth rakudo: 199d276b2e | (Elizabeth Mattijsen)++ | src/core/Map.pm6
Fix test in Map.WHICH

It would generate the .WHICH with "Map|" even if there were other roles mixed in.
15:19
lizmat m: say MY::.keys 15:43
camelia (!UNIT_MARKER ::?PACKAGE EXPORT $¢ $! $?PACKAGE $_ $/ $=pod $=finish GLOBALish)
lizmat m: say quietly MY::.keys
camelia ()
lizmat apparently quietly creates a scope with a new MY:: ?? Is that a bug / feature / DIHWIDT ? 15:44
jnthn Arguably bug 15:46
Geth rakudo: bb5db6a89d | (Elizabeth Mattijsen)++ | src/core/PseudoStash.pm6
Give PseudoStash its own non-value based .WHICH

PseudoStash is a Map, but a Map that actually can have containers for values. Since Map is considered a value-type, this meant that the .WHICH of e.g. a MY:: could change if the value of a lexical variable was changed. That is not good. Instead, mark PseudoStash no longer as a value type, even though it *is* a Map.
15:48
lizmat Sometimes I think we need to swap the hierarchy of Map / Hash and Array / List around 15:49
Geth rakudo: ae6058ce53 | (Elizabeth Mattijsen)++ | src/core/Map.pm6
Part 2 of 2 of Map.STORE refactor

  - fix issue with Object Hash detection
  - make .STORE a multi
  - add a candidate for handling Maps
   - if it is an actual Map (no subclass / roles), it's basically a clone
   - if it is a normal Hash / Map, now 4x as fast
   - if it is an Object Hash, now 1.5x as fast
  - add some comments
16:55
Geth rakudo: 9f524d0adb | (Elizabeth Mattijsen)++ | 2 files
Eradicate Map.STORE_AT_KEY

This was really a Rakudo implementation detail, but was used as a semi- official API between Map/Hash. Even though we're now calling .Str on things that potentially are already Str, the approach of not using a method call makes Map initialization from a list of values about 1.4x as fast.
17:40
6.d-prep: a5fc2e8e34 | (Zoffix Znet)++ | TODO/README.md
Remove link to p5p discussion

Flipped through a few responses, but it seems the only thing that got "birthed" is people arguing about who meant what and smartmatch deprecation.
17:41
6.d-prep: b564ec7864 | (Zoffix Znet)++ | TODO/README.md
Remove more outdated text
17:42
lizmat FWIW, I think the Rakudo Star readme could also get a looking over before release 17:46
Geth 6.d-prep: 96bc98fd24 | (Zoffix Znet)++ | 3 files
Start draft of New Feature Addition Policy

  - First take of first draft of what I think are Good Ideas™
  - 1884 words, without the appendix. I'd prefer to get that under 1000 words
  - Impact score business is too confusing (easier when tool to
   calculate score from code prototype exists?)
  - Might be overly-tied to one particular implementation. Need better
   rules for a world with 2+ implementations
17:54
6.d-prep: 8c9f9288cf | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
Update `nail down the META6.json spec` item
18:12
AlexDaniel * Add another 50pt if the class is `Cool` 19:45
haha
that doc is pretty cool 19:49
can't tell if it's indeed helpful, but it's cool
.oO( 50pt because it's cool? )
19:52
okay, the appendix is really helpful I think 19:57
dogbert17 m: class XY { has $.x = 0; has $.y = 0; }; multi infix:<+> (XY \a, XY \o) { a.clone: |([«+»] (a, o)».Capture».hash) } 20:38
camelia ( no output )
dogbert17 m: gist.githubusercontent.com/dogbert...tfile1.txt 20:42
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3https:7⏏5//gist.githubusercontent.com/dogbert17/a
expecting any of:
colon pair
dogbert17 evalable: gist.githubusercontent.com/dogbert...tfile1.txt
evalable6 dogbert17, Successfully fetched the code from the provided URL
(exit code 1) Cannot modify an immutable Map (Map.new(()))
in sub infix:<+> at /tmp/fos6…
dogbert17, Full output: gist.github.com/ccb2c1c4c7a5c01f98...d720e329e7
dogbert17 lizmat: this might be something for you ^^
lizmat possibly :-) 20:43
dogbert17 it's one of Rindolf's scripts. It worked the other day but perhaps the code is cutting corners 20:45
Geth rakudo: ac2fa03b20 | (Elizabeth Mattijsen)++ | src/core/Map.pm6
Make Map.WHICH about 8x as fast

  - based on a 500 element Map
  - sha1 the string, so the length is always the same
  - make it a proper ValueObjAt object
lizmat well, there used to be a bug that you could actually *change* immutable Maps, and I fixed that
dogbert17 aha, so corners were indeed cut then 20:47
lizmat perhaps, but there's no occurrence of Map in that codse
perhaps, but there's no occurrence of Map in that code
and the error points to some meta-op action
ok, so .Capture returns a Map, and apparently that Map is being changed / reinitialized somehow 20:49
sorry, .Capture.hash returns a Map
dogbert17 should it be Hash instead? 20:52
lizmat yeah 20:53
.hash is only guaranteed to return something hashy, but that wouldn't need to be changeable
.Hash *is* mutable
dogbert17 the script works with that change (in four places) 20:54
lizmat grr... apparently .hash is documented as returning a Hash :-( 20:55
docs.perl6.org/routine/hash
dogbert17 that's definitely an error 20:56
lizmat .ask masak do you think .hash should always return a .Hash , or can it also return an immutable Map ?
yoleaux lizmat: I'll pass your message to masak.
lizmat dogbert17: you mean in the documentation?
dogbert17 yeah 20:57
best to wait and listen to what masak says :) 20:58
lizmat .ask jnthn do you think .hash should always return a .Hash , or can it also return an immutable Map ?
yoleaux lizmat: I'll pass your message to jnthn.
lizmat the idea of .hash was (afaik) that it returns something Associative, not necessarily a Hash 20:59
dogbert17: I would make this a documentation issue
dogbert17 I have heard something similar
lizmat it was changed last Feb, but the old version was equally wrong: "Coerce the invocant to L<Hash>." 21:00
dogbert17 perhaps timtoady is lurking around. He might have an opinion.
lizmat m: dd set(<a b c>).hash # can also coerce to an Object Hash 21:01
camelia (my Any %{Any} = :a, :b, :c)
lizmat m: dd set(<a b c>).Hash 21:02
camelia (my Bool %{Any} = :a, :b, :c)
lizmat hmmm... I guess .Hash does that also
Geth 6.d-prep: 2b36d1240b | (Zoffix Znet)++ (committed using GitHub Web editor) | d-docs/New-Features-Policy.md
Clarify types in extra points are actual types, not subclasses
21:03
dogbert17 eats some ice cream to counter the heat 21:06
Zoffix If .hash returned the same thing as .Hash, there'd be no point in having it. .hash returning an Associative is the analogous version of .list returning a Positional (with some warts R#1344) 21:14
synopsebot R#1344 [open]: github.com/rakudo/rakudo/issues/1344 [@LARRY] What is a "list"?
Zoffix How come set.hash returns an Any hash, but .Hash returns Bool one? 21:16
lizmat Zoffix: good question... 21:17
Zoffix thinks Any version is better, since the user can convert the values to something else 21:20
…but when I try looks like you can convert them anyway :|
m: my $h := <a a b c>.Set.Hash; $h.map: {.value = "{.key} is there"}; dd $h
camelia (my Bool %{Any} = :a("a is there"), :b("b is there"), :c("c is there"))
Zoffix m: my $h := <a a b c>.Set.Hash; $h.map: {.value = "{.key} is there"}; dd "$h<a> is totally a Bool, 'cause it's a Bool hash, yo" 21:21
camelia "a is there is totally a Bool, 'cause it's a Bool hash, yo"
Zoffix m: my $h := <a a b c>.Set.Hash; $h.map: {.value = "{.key} is there"}; dd "$h<a> is totally a Bool, 'cause it's a Bool hash, yo"; $h<z> = "meows"
camelia "a is there is totally a Bool, 'cause it's a Bool hash, yo"
Type check failed in binding to parameter 'assignval'; expected Bool but got Str ("meows")
in block <unit> at <tmp> line 1
Zoffix hehe
Filed as R#2068 21:25
synopsebot R#2068 [open]: github.com/rakudo/rakudo/issues/2068 Set.Hash returns badly typed Hash
Zoffix m: dd [«+»] (1 =>2, 3=>4)».Capture».hash 21:29
camelia Cannot modify an immutable Map (Map.new(()))
in block <unit> at <tmp> line 1
Zoffix m: Map.new «+» Map.new
camelia Potential difficulties:
Useless use of «+» in sink context
at <tmp>:1
------> 3Map.new 7⏏5«+» Map.new
Cannot modify an immutable Map (Map.new(()))
in block <unit> at <tmp> line 1
Zoffix Not a rakudo bug IMO
lizmat well, a rakudo bug got fixed and now it dies :-) 21:30
lizmat m: my %m is Map = a => 42; %m = b => 666; # this used to work 21:30
camelia Cannot modify an immutable Map (Map.new((a => 42)))
in block <unit> at <tmp> line 1
Zoffix mhm
And the docs on docs.perl6.org/routine/hash are also accurate. For Capture.hash they say it returns an Associative 21:32
And I think these coercers are documented somewhere else too 21:33
s: 42, 'hash', \()
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/ac2f...ny.pm6#L77
Zoffix would've used .list.map 21:34
This looks familiar actually....
wow, I'm the author of 203 out of 425 currently open rakudo Issues :| 21:35
lizmat
.oO( don't shoot the messenger )
21:36
Zoffix I think it was just me mentioning it on IRC that Any.list returns the immutable List, while Any.hash returns a mutable Hash
Ah, added to the inconsistencies.txt file temp.perl6.party/inconsistencies.txt
lizmat yeah, sometimes I think we need another NSGLR (not so great List Refactor) 21:37
Zoffix :)
lizmat ok, I've swapped the Set.hash/Hash from Any/Bool to Bool/Mu , and other QuantHashes 21:39
there's quite a bit of spectest fallout :-(
Zoffix wonder if those are proptests and not spectests 21:40
(proptests = proposed tests; that aren't part of 6.c and are proposed for 6.d release)
and so can be tweaked more liberally 21:41
Zoffix &
lizmat ah, hmmm.... good point 21:41
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make Map.WHICH about 8x as fast 21:45
travis-ci.org/rakudo/rakudo/builds/403725085 github.com/rakudo/rakudo/compare/9...2fa03b207c
buggable [travis build above] ☠ All failures are due to: failed make test (1 failure). Across all jobs, only t/04-nativecall/22-method.t test file failed. 21:45
Geth rakudo: 7629820461 | (Elizabeth Mattijsen)++ | 3 files
QuantHash.Hash returns Any values, .hash returns QuantHash values

As part of R#2068
21:53
synopsebot R#2068 [open]: github.com/rakudo/rakudo/issues/2068 Set.Hash returns badly typed Hash
lizmat enough for today& 22:00
travis-ci Rakudo build passed. Elizabeth Mattijsen 'QuantHash.Hash returns Any values, .hash returns QuantHash values 22:54
travis-ci.org/rakudo/rakudo/builds/403747928 github.com/rakudo/rakudo/compare/a...29820461d9