00:00
MasterDuke joined
00:25
hungrydonkey joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 4de852e4e5 | (Vadim Belman)++ | 2 files Set attribute's rw status when added to a container It was previously set in `compose_attributes` which is called by `ClassHOW` only. This was causing roles always ignoring the default `rw` status and thus `is rw` trait not having effect on them. This fix presumes that the trait is always applied before attributes are thrown in. Fixes #3495 |
00:30 | |||||||||||||||||||||||||||||||||||||
linkable6 | RAKUDO#3495 [closed]: github.com/rakudo/rakudo/issues/3495 [attributes][objects][roles] `is rw` trait applied to roles does not work | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 85660c8fa2 | (Vadim Belman)++ | 2 files Apply late `also is rw` trait to the existing attributes This handles the following case: ``` class C { has $.a; ... (8 more lines) |
||||||||||||||||||||||||||||||||||||||
rakudo: 40352398db | (Vadim Belman)++ (committed using GitHub Web editor) | 2 files Merge pull request #3496 from vrurg/rakudo_3495 Support of `is rw` trait applied to roles. |
|||||||||||||||||||||||||||||||||||||||
roast: b12064dff5 | (Vadim Belman)++ | 2 files Add tests for `is rw` trait on roles In support of rakudo/rakudo#3496 and following rakudo/rakudo#3495 |
|||||||||||||||||||||||||||||||||||||||
roast: f63ef08b6a | (Vadim Belman)++ | 2 files Added tests for late applied `also is rw` No matter when `is rw` is applied, attributes without explicit `is readonly` trait have to repsect it: ``` class C { ... (7 more lines) |
|||||||||||||||||||||||||||||||||||||||
linkable6 | RAKUDO#3496 [closed]: github.com/rakudo/rakudo/pull/3496 Set attribute's rw status when added to an AttributeContainer | ||||||||||||||||||||||||||||||||||||||
roast: c7ecb2d748 | (Vadim Belman)++ (committed using GitHub Web editor) | 3 files Merge pull request #620 from perl6/rakudo_3495 Add tests for `is rw` trait on roles |
|||||||||||||||||||||||||||||||||||||||
01:25
hungrydonkey left
01:34
sena_kun joined
01:36
Altai-man_ left
02:13
ufobat__ joined
02:17
ufobat_ left
02:51
cognomin_ joined
02:54
cognominal left
03:33
Altai-man_ joined
03:35
sena_kun left
04:30
hungrydonkey joined
04:31
hungrydonkey left
04:37
hungrydonkey joined
05:32
hungryd66 joined
05:34
sena_kun joined
05:36
Altai-man_ left,
hungrydonkey left
|
|||||||||||||||||||||||||||||||||||||||
releasable6 | Next release in ≈2 days and ≈11 hours. 4 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 07:00 | |||||||||||||||||||||||||||||||||||||
07:33
Altai-man_ joined
07:35
sena_kun left
07:40
cognominal joined
07:44
cognomin_ left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Files=1303, Tests=111145, 211 wallclock secs (28.80 usr 7.99 sys + 2943.57 cusr 277.35 csys = 3257.71 CPU) | 07:52 | |||||||||||||||||||||||||||||||||||||
07:53
domidumont joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 9217b1c763 | (Elizabeth Mattijsen)++ | src/core.c/Hash.pm6 Reduce number of lookups for Hash.DELETE-KEY If an existing key is removed, it will only do 2 hash lookups (atkey and deletekey), whereas before it would do 3 (existskey, atkey and deletekey). Should make a noticeable difference on larger hashes. |
08:46 | |||||||||||||||||||||||||||||||||||||
lizmat | this in reference to github.com/Raku/problem-solving/is...-588535467 | ||||||||||||||||||||||||||||||||||||||
afk for a few hours& | 09:21 | ||||||||||||||||||||||||||||||||||||||
09:34
sena_kun joined
09:35
Altai-man_ left
10:06
hungryd66 left
10:10
hungrydonkey joined
10:12
hungryd10 joined,
hungrydonkey left
10:17
hungrydonkey joined,
hungryd10 left
10:18
|Tux| left
10:20
hungryd72 joined,
hungrydonkey left
10:31
|Tux| joined
|
|||||||||||||||||||||||||||||||||||||||
sena_kun | releasable6, status | 10:35 | |||||||||||||||||||||||||||||||||||||
releasable6 | sena_kun, Next release in ≈2 days and ≈8 hours. 4 blockers. 60 out of 242 commits logged (⚠ 2 warnings) | ||||||||||||||||||||||||||||||||||||||
sena_kun, Details: gist.github.com/ae7acdd2d2efb3e55e...265faf059a | |||||||||||||||||||||||||||||||||||||||
10:37
hungrydonkey joined
|
|||||||||||||||||||||||||||||||||||||||
sena_kun | I am doing a kind notification the release date is close and we still have some serious blockers. | 10:37 | |||||||||||||||||||||||||||||||||||||
10:40
hungryd72 left
10:51
hungrydonkey left
10:52
hungrydonkey joined
11:33
Altai-man_ joined
11:36
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
lizmat has annotated her commits of the past month in github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 11:45 | ||||||||||||||||||||||||||||||||||||||
Altai-man_ ^^ | 11:46 | ||||||||||||||||||||||||||||||||||||||
Altai-man_ | saw it, lizmat++ | ||||||||||||||||||||||||||||||||||||||
11:53
MasterDuke left
12:08
hungrydonkey left,
hungryd52 joined
12:12
hungryd52 left
12:13
hungrydonkey joined
|
|||||||||||||||||||||||||||||||||||||||
|Tux| |
|
12:18 | |||||||||||||||||||||||||||||||||||||
Altai-man_ | is that just me or these numbers are increasing every time I see them? | 12:41 | |||||||||||||||||||||||||||||||||||||
lizmat | they're fluctuating, but generally haven't been going down for a long time now :-( | ||||||||||||||||||||||||||||||||||||||
12:46
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
patrickb | Altai-man_, lizmat: tux.nl/Talks/CSV6/speed4.html | 12:48 | |||||||||||||||||||||||||||||||||||||
12:52
patrickb left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | bisectable6: 2020.01 HEAD say :($ is raw where True, $ is copy, Int $ is rw, $ is raw where True = 2).perl | 13:13 | |||||||||||||||||||||||||||||||||||||
bisectable6 | jnthn, Using old=2020.01 new=HEAD in an attempt to do what you mean | ||||||||||||||||||||||||||||||||||||||
jnthn, Bisecting by output (old=2020.01 new=9217b1c) because on both starting points the exit code is 0 | |||||||||||||||||||||||||||||||||||||||
jnthn, bisect log: gist.github.com/b7992194f19d10fc26...225cc2dd15 | |||||||||||||||||||||||||||||||||||||||
jnthn, (2020-01-17) github.com/rakudo/rakudo/commit/3f...10da3cd756 | |||||||||||||||||||||||||||||||||||||||
Altai-man_ | jnthn, errata was clean on release. maybe something later influenced the change to start making weird things | 13:14 | |||||||||||||||||||||||||||||||||||||
jnthn | Altai-man_: It's a straightforward regression that somehow isn't caught by our current tests | 13:15 | |||||||||||||||||||||||||||||||||||||
Caused by the commit bisectable6 found | |||||||||||||||||||||||||||||||||||||||
m: say :($).raku | 13:16 | ||||||||||||||||||||||||||||||||||||||
camelia | :($) | ||||||||||||||||||||||||||||||||||||||
jnthn | m: say :($ where 42).raku | ||||||||||||||||||||||||||||||||||||||
camelia | :($ where { ... }) | ||||||||||||||||||||||||||||||||||||||
jnthn | m: say :($ is raw where 42).raku | ||||||||||||||||||||||||||||||||||||||
camelia | :(\ where { ... }) | ||||||||||||||||||||||||||||||||||||||
lizmat | bingo | ||||||||||||||||||||||||||||||||||||||
ok, shall I fix that one ? | |||||||||||||||||||||||||||||||||||||||
jnthn | committable6: 2020.1 say :($ is raw where 42).raku | ||||||||||||||||||||||||||||||||||||||
committable6 | jnthn, ¦2020.1: «Cannot find this revision (did you mean “2020.01”?)» | ||||||||||||||||||||||||||||||||||||||
jnthn | committable6: 2020.01 say :($ is raw where 42).raku | ||||||||||||||||||||||||||||||||||||||
committable6 | jnthn, ¦2020.01: «:($ is raw where { ... })» | ||||||||||||||||||||||||||||||||||||||
jnthn | Yes | ||||||||||||||||||||||||||||||||||||||
Please :) | |||||||||||||||||||||||||||||||||||||||
I'll see if I can figure out the other Rakudo blocker, though it's not well golfed... | 13:18 | ||||||||||||||||||||||||||||||||||||||
lizmat | looks like 21b809745d is the one | 13:24 | |||||||||||||||||||||||||||||||||||||
linkable6 | (2020-01-30) github.com/rakudo/rakudo/commit/21b809745d Actually fix Parameter's handling of default values | ||||||||||||||||||||||||||||||||||||||
lizmat | jnthn: should $SIG_ELEM_IS_RAW be set on such a parameter ? | 13:27 | |||||||||||||||||||||||||||||||||||||
jnthn | No idea | 13:29 | |||||||||||||||||||||||||||||||||||||
At a guess, yes | |||||||||||||||||||||||||||||||||||||||
Since it has the `is raw` trait | 13:30 | ||||||||||||||||||||||||||||||||||||||
lizmat | aaah... | ||||||||||||||||||||||||||||||||||||||
duh | |||||||||||||||||||||||||||||||||||||||
jnthn | I think the problem largely is that normalzing to \foo is fine in general, but *not* if it's anonymous | ||||||||||||||||||||||||||||||||||||||
lizmat | yup, gotcha | ||||||||||||||||||||||||||||||||||||||
13:34
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | running spectest now | 13:35 | |||||||||||||||||||||||||||||||||||||
13:36
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: d0ee46628c | (Elizabeth Mattijsen)++ | S06-signature/introspection.t Add test for $#3492 |
13:39 | |||||||||||||||||||||||||||||||||||||
rakudo: 2aa4d09596 | (Elizabeth Mattijsen)++ | src/core.c/Parameter.pm6 Make sure unnamed raw parameters have the '$' sigil Fixes R#3492 |
13:40 | ||||||||||||||||||||||||||||||||||||||
linkable6 | R#3492 [open]: github.com/rakudo/rakudo/issues/3492 [BLOCKER][regression] 6.c/d-errata and S06-signature/introspection.t | ||||||||||||||||||||||||||||||||||||||
sena_kun | releasable6, status | 13:41 | |||||||||||||||||||||||||||||||||||||
releasable6 | sena_kun, Next release in ≈2 days and ≈5 hours. 3 blockers. 139 out of 242 commits logged (⚠ 2 warnings) | ||||||||||||||||||||||||||||||||||||||
sena_kun, Details: gist.github.com/9f45d08ebaf21aba58...e013e61df0 | |||||||||||||||||||||||||||||||||||||||
sena_kun | lizmat, errata tests run clean? | ||||||||||||||||||||||||||||||||||||||
lizmat runs spectest again :-) | 13:42 | ||||||||||||||||||||||||||||||||||||||
sena_kun: a lot of TOD passed, but otherwise clean | 13:48 | ||||||||||||||||||||||||||||||||||||||
sena_kun | lizmat++ | ||||||||||||||||||||||||||||||||||||||
lizmat | *TODO :-) | ||||||||||||||||||||||||||||||||||||||
13:50
pmurias joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | *sigh* OO::Plugin is a *lot* of code, and somewhere - maybe in Rakudo, maybe in the module - hash randomization causes a behavior change. | 14:05 | |||||||||||||||||||||||||||||||||||||
lizmat | one obvious hash is the export hash | 14:21 | |||||||||||||||||||||||||||||||||||||
jnthn | Not sure how it's ordering would come into it though | 14:27 | |||||||||||||||||||||||||||||||||||||
I am bumping the back trace every time we do a hash iteration and throwing in `.sort`s in various places to see if it makes a difference... | 14:31 | ||||||||||||||||||||||||||||||||||||||
14:39
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | jnthn: sanity question: is prefix ⚛ supposed to work on anything else than a atomicint ? | 14:41 | |||||||||||||||||||||||||||||||||||||
jnthn | Well, or anything of the same size | 14:42 | |||||||||||||||||||||||||||||||||||||
lizmat | also, what does it mean combined with binding ? | ||||||||||||||||||||||||||||||||||||||
jnthn | That's also a native int | ||||||||||||||||||||||||||||||||||||||
lizmat | but Holder is *not* a native int ? | ||||||||||||||||||||||||||||||||||||||
jnthn | Though what it actually works on is an intlexref or intattrref I guess | ||||||||||||||||||||||||||||||||||||||
lizmat | my $holder := ⚛$!holder; | ||||||||||||||||||||||||||||||||||||||
jnthn | Oh, I misread :) | 14:43 | |||||||||||||||||||||||||||||||||||||
No, it can work on a reference too | |||||||||||||||||||||||||||||||||||||||
It's just an atomic read | |||||||||||||||||||||||||||||||||||||||
Somehow my brain inserted a ++ :P | |||||||||||||||||||||||||||||||||||||||
lizmat | so it would also work on an Opaque ? | ||||||||||||||||||||||||||||||||||||||
jnthn | Opaque? | ||||||||||||||||||||||||||||||||||||||
lizmat | a non-native object | ||||||||||||||||||||||||||||||||||||||
jnthn | Typically it's on a Scalar, which has P6opaque representation, if that's what you mean | ||||||||||||||||||||||||||||||||||||||
And it's an atomic read of the $!value of the Scalar | 14:44 | ||||||||||||||||||||||||||||||||||||||
lizmat | ok, that's not clear from the doc: docs.raku.org/type/atomicint#prefix_⚛ | ||||||||||||||||||||||||||||||||||||||
jnthn | Woudln't that page be about the candidate for atomicint only? | 14:45 | |||||||||||||||||||||||||||||||||||||
docs.raku.org/type/Scalar#prefix_%E2%9A%9B | |||||||||||||||||||||||||||||||||||||||
The other candidate is documented there | |||||||||||||||||||||||||||||||||||||||
lizmat | ok, I guess that could be cross-referenced | 14:46 | |||||||||||||||||||||||||||||||||||||
jnthn | Going through all these hash iterator sites will take forever... | 14:50 | |||||||||||||||||||||||||||||||||||||
vrurg | jnthn: I left a comment on the issue, but there is not much to add. I'll try to do more when over with my daytime work. | 14:55 | |||||||||||||||||||||||||||||||||||||
jnthn | vrurg: OK. If you build a MoarVM where you tweak `#define MVM_HASH_RANDOMIZE 0` then you'll get the failure very time | 14:56 | |||||||||||||||||||||||||||||||||||||
*every time | |||||||||||||||||||||||||||||||||||||||
Or at least, I do :) | |||||||||||||||||||||||||||||||||||||||
I note that the thing it bisects to can make a big difference in the nubmer of hashes that get allocated when doing matching | 14:57 | ||||||||||||||||||||||||||||||||||||||
So it may be a legit bisect in terms of "yes, the behavior changes here", but not actually to blame. | 14:58 | ||||||||||||||||||||||||||||||||||||||
I did look through that code to see if there was anything obviously sensitive to hash ordering, but also nothing in Match.pm6 ever shows up in the stack traces of the places we do a hash iteration | 14:59 | ||||||||||||||||||||||||||||||||||||||
vrurg: I'll leave it for you to look a bit further, with this new info. | 15:02 | ||||||||||||||||||||||||||||||||||||||
[Coke] | jnthn: Could I interest you in github.com/rakudo/rakudo/issues/3057 ? (need to free up file descriptors when using Proc::Async to pipe processes) | 15:03 | |||||||||||||||||||||||||||||||||||||
I am happy to offer a pint and a curry in exchange. :) | |||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: Sure. Don't waste your time. Thanks! | ||||||||||||||||||||||||||||||||||||||
15:10
hungrydonkey left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | [Coke]: Well, gist.github.com/jnthn/f660e30516a1...a3d082c336 seems to fix it, though need to see what spectest etc. thinks | 15:18 | |||||||||||||||||||||||||||||||||||||
15:20
moritz_ is now known as moritz
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | jnthn: I can do the testing bit. | 15:21 | |||||||||||||||||||||||||||||||||||||
let me know where to send the curry. :) | |||||||||||||||||||||||||||||||||||||||
jnthn | I cant htink of | 15:22 | |||||||||||||||||||||||||||||||||||||
oops | |||||||||||||||||||||||||||||||||||||||
I can't think of a reason this patch would cause problems | |||||||||||||||||||||||||||||||||||||||
Though...hmm | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: d18d6e9a35 | (Elizabeth Mattijsen)++ | src/core.c/Lock/Async.pm6 Change cas to nqp::cas in Lock::Async.lock This appears to at least work around the problems as reported in: github.com/MoarVM/MoarVM/issues/1237 With this fix the t/spec/S17-promise/lock-async-stress2.t test runs more than 1000x without breaking. ... (7 more lines) |
15:25 | |||||||||||||||||||||||||||||||||||||
[Coke] | jnthn: should I wait or can I start making branches to try this out? :) | 15:26 | |||||||||||||||||||||||||||||||||||||
jnthn | [Coke]: I'll push it to make things easier to test with | ||||||||||||||||||||||||||||||||||||||
spectest...passed, but I had still got 6.c-errata checked out :P | |||||||||||||||||||||||||||||||||||||||
(from earlier bug hunt) | |||||||||||||||||||||||||||||||||||||||
So now waiting on the proper one :) | 15:27 | ||||||||||||||||||||||||||||||||||||||
sena_kun | releasable6, status | ||||||||||||||||||||||||||||||||||||||
releasable6 | sena_kun, Next release in ≈2 days and ≈3 hours. 2 blockers. 141 out of 243 commits logged | ||||||||||||||||||||||||||||||||||||||
sena_kun, Details: gist.github.com/b1cecdbcf80d25d566...f24f7ab3bb | |||||||||||||||||||||||||||||||||||||||
[Coke] | jnthn++ | 15:29 | |||||||||||||||||||||||||||||||||||||
jnthn | dran, it seems to cause a test failure... | ||||||||||||||||||||||||||||||||||||||
*darn | |||||||||||||||||||||||||||||||||||||||
[Coke] | I was trying to find a place in Proc::Async::Pipe to fix this, and was coming up empty, thanks. | ||||||||||||||||||||||||||||||||||||||
jnthn | Yeah, double closes happen. So it can't be quite that simple. | 15:30 | |||||||||||||||||||||||||||||||||||||
language class, bbl | 15:31 | ||||||||||||||||||||||||||||||||||||||
[Coke] | you getting those failures in moarvm itself? | ||||||||||||||||||||||||||||||||||||||
~~ | |||||||||||||||||||||||||||||||||||||||
jnthn | No, it seems we get them 'cus MoarVM now does a close but then we also .close | 15:32 | |||||||||||||||||||||||||||||||||||||
So yeah, needs more thought | |||||||||||||||||||||||||||||||||||||||
15:33
Altai-man_ joined
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | still, thanks for checking. | 15:34 | |||||||||||||||||||||||||||||||||||||
15:36
sena_kun left
15:39
hungrydonkey joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 2854144462 | (Elizabeth Mattijsen)++ | src/core.c/Lock/Async.pm6 Change other cas to nqp::cas in Lock::Async |
15:58 | |||||||||||||||||||||||||||||||||||||
15:58
hungrydonkey left
15:59
hungrydonkey joined
16:04
toddr joined
16:09
pmurias left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: e81e5162d0 | (Elizabeth Mattijsen)++ | src/core.c/Lock/Async.pm6 We already have a simple method to create a kept Promise So use that :-) |
16:19 | |||||||||||||||||||||||||||||||||||||
[Coke] | lizmat: is it worth pre-caching that kept promise? | 16:31 | |||||||||||||||||||||||||||||||||||||
s/caching/creating/ | |||||||||||||||||||||||||||||||||||||||
Looks like in either #ifdef it's only used the one time. | |||||||||||||||||||||||||||||||||||||||
lizmat | you mean, inside Promise? or in Lock::Async | 16:32 | |||||||||||||||||||||||||||||||||||||
the ifdef is for the JS backend, that doesn't support locking adaik | |||||||||||||||||||||||||||||||||||||||
*afaik | |||||||||||||||||||||||||||||||||||||||
[Coke] | github.com/rakudo/rakudo/commit/e81e5162d0 - looks like you remove KEPT-PROMISE entirely. | ||||||||||||||||||||||||||||||||||||||
you *could* remov... | |||||||||||||||||||||||||||||||||||||||
and use Promise.kept in those two spots directly | 16:33 | ||||||||||||||||||||||||||||||||||||||
lizmat | yeah, but Promise.kept creates a new one every time | ||||||||||||||||||||||||||||||||||||||
now, one could argue that should also be a singleton, but I didn't want to cross that bridge so close before the release | 16:34 | ||||||||||||||||||||||||||||||||||||||
[Coke] | ahhhh. thanks. | 16:35 | |||||||||||||||||||||||||||||||||||||
16:38
domidumont left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Yes, that's an important optimization :) | 16:52 | |||||||||||||||||||||||||||||||||||||
(caching the kept Promise for Lock::Async) | |||||||||||||||||||||||||||||||||||||||
Not convinced about making Promise.kept a singleton, might cause a few too many surprises... | |||||||||||||||||||||||||||||||||||||||
lizmat | yeah, that's why I didn't do that :-) | 17:12 | |||||||||||||||||||||||||||||||||||||
jnthn: fwiw, I feel that the Promise object has become a little overweight, with a lot of unneeded baggage in some, maybe a lot, situations | |||||||||||||||||||||||||||||||||||||||
jnthn: I've added some debugging info, and it looks like 1 in 3 attempts to get a lock fails | 17:14 | ||||||||||||||||||||||||||||||||||||||
is that something you'd expect for that benchmark ? | |||||||||||||||||||||||||||||||||||||||
*stress test | |||||||||||||||||||||||||||||||||||||||
jnthn | [Coke]: Think I've got a properer fix | 17:20 | |||||||||||||||||||||||||||||||||||||
lizmat: For sure, it's basically a contention handling test | 17:22 | ||||||||||||||||||||||||||||||||||||||
lizmat | indeed... anyways, for a test, I put in the cas() instead of the nqp::cas() and sure enough, 135 attempts later there was a crash | ||||||||||||||||||||||||||||||||||||||
jnthn | I'm not seeing any attributes one could easily remove from `Promise`; perhaps you could save 8 bytes by using a single field for vow taken and report-broken-if-sunk, if careful | 17:24 | |||||||||||||||||||||||||||||||||||||
[Coke] | jnthn: oooh | 17:26 | |||||||||||||||||||||||||||||||||||||
Geth | nqp: 3f99c1ba6e | (Jonathan Worthington)++ | tools/templates/MOAR_REVISION Get MoarVM with async proc stdin close support |
17:31 | |||||||||||||||||||||||||||||||||||||
17:34
sena_kun joined
17:36
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: cdbd60c1c4 | (Jonathan Worthington)++ | 2 files Fix handle leak when chaining Proc::Async We request that the VM close the handle upon process termination. |
17:41 | |||||||||||||||||||||||||||||||||||||
jnthn | [Coke]: Hopefully this helps without breaking stuff :) | ||||||||||||||||||||||||||||||||||||||
Passes spectest, at least :) | 17:42 | ||||||||||||||||||||||||||||||||||||||
sena_kun | jnthn, I'll check all release specs after $dayjob and launch blin tonight | ||||||||||||||||||||||||||||||||||||||
lizmat | jnthn: wondering if it would make sense to have a separate lock/unlock combo for Lock::Async.protect | 17:43 | |||||||||||||||||||||||||||||||||||||
jnthn | .oO( pancakes in orbit ) |
||||||||||||||||||||||||||||||||||||||
lizmat | since in that case, the promises would never get out, so we wouldn't need vows on them | ||||||||||||||||||||||||||||||||||||||
jnthn | Don't think it'd help, given Promise.keep is just a method that does self.vow.keep anyway | 17:45 | |||||||||||||||||||||||||||||||||||||
In the uncontended case, you just get back the singleton Promise anyway. In the contended case, this is a drop in the ocean. | |||||||||||||||||||||||||||||||||||||||
releasable6: status | 17:48 | ||||||||||||||||||||||||||||||||||||||
releasable6 | jnthn, Next release in ≈2 days and ≈1 hour. 1 blocker. 141 out of 247 commits logged | ||||||||||||||||||||||||||||||||||||||
jnthn, Details: gist.github.com/d252e5542a58a0e1f7...297fb3302e | |||||||||||||||||||||||||||||||||||||||
jnthn | 1 blocker :D | ||||||||||||||||||||||||||||||||||||||
Much better than the 4 earlier | |||||||||||||||||||||||||||||||||||||||
lizmat | yeah, and I think we could undo the BLOCKER there, since it may actually be in the module itself ? | 17:49 | |||||||||||||||||||||||||||||||||||||
jnthn | Let's see what vrurg finds | ||||||||||||||||||||||||||||||||||||||
We just need it removed (or fixed) before the weekend. | |||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: Got a few minutes and got results. Writing a comment. | 17:50 | |||||||||||||||||||||||||||||||||||||
lizmat | why does gist.github.com/Whateverable/d252e...297fb3302e mention commits from 2019 ? | 17:51 | |||||||||||||||||||||||||||||||||||||
hmmmm... | |||||||||||||||||||||||||||||||||||||||
sena_kun | lizmat, well | 17:53 | |||||||||||||||||||||||||||||||||||||
I can explain that | |||||||||||||||||||||||||||||||||||||||
one second | |||||||||||||||||||||||||||||||||||||||
vrurg | jnthn: Done. The bisection looks correct and it's not about hashes, it's about the structure in Perl6::Grammar object passed to the action method. | ||||||||||||||||||||||||||||||||||||||
vrurg is afk for a couple of hours. | |||||||||||||||||||||||||||||||||||||||
sena_kun | lizmat, they were dome in 2019 in a branch (e.g. github.com/rakudo/rakudo/pull/3286) and was merged around 22 days ago, so after 2020.01. thus these commits are from 2019, but they were not logged in a release, because they were not released. | 17:54 | |||||||||||||||||||||||||||||||||||||
s/dome/done/ | |||||||||||||||||||||||||||||||||||||||
lizmat | hmmm... | ||||||||||||||||||||||||||||||||||||||
sena_kun | lizmat, no? this seems like the case to me. | ||||||||||||||||||||||||||||||||||||||
lizmat will double-check | |||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: I hoped it'd be a bug in the module, but still looks like a regression. :( | 18:01 | |||||||||||||||||||||||||||||||||||||
18:04
hungrydonkey left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | vrurg: Did you replicate it being sensitive to whether hash randomization is disabled or not? | 18:14 | |||||||||||||||||||||||||||||||||||||
vrurg | jnthn: no need for. Failure or success depended on which order of keys was returned from a hash. | 18:15 | |||||||||||||||||||||||||||||||||||||
The core of problem is that the rule must return a list of dependencies. But on HEAD it always return an empty list. | 18:16 | ||||||||||||||||||||||||||||||||||||||
lizmat | bisectable6: say so Match.^can("replace-with") | 18:17 | |||||||||||||||||||||||||||||||||||||
bisectable6 | lizmat, Bisecting by output (old=2015.12 new=cdbd60c) because on both starting points the exit code is 0 | ||||||||||||||||||||||||||||||||||||||
lizmat, bisect log: gist.github.com/76d986c22a23c9df4e...734aafc707 | |||||||||||||||||||||||||||||||||||||||
lizmat, There are 2 candidates for the first “new” revision. See the log for more details | |||||||||||||||||||||||||||||||||||||||
vrurg | I added dumps of the grammar obects as they're passed into the action method. HEAD returns incomplete list of submatches. | ||||||||||||||||||||||||||||||||||||||
No I'm really away, a lot of urgent calls to place. :( | 18:18 | ||||||||||||||||||||||||||||||||||||||
jnthn | OK, thanks for the update | ||||||||||||||||||||||||||||||||||||||
Umm...hmm | 18:20 | ||||||||||||||||||||||||||||||||||||||
I wonder if it's going to be related to Rakudo/NQP match discrepancies... | 18:21 | ||||||||||||||||||||||||||||||||||||||
18:26
domidumont joined,
domidumont left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | OK, I think what's wrong is this | 18:27 | |||||||||||||||||||||||||||||||||||||
18:28
domidumont joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | The creation of the Match structure is now done by an object attached to the regex code object | 18:28 | |||||||||||||||||||||||||||||||||||||
In the rakudo case it makes a Raku-level list/array thingy | |||||||||||||||||||||||||||||||||||||||
In the NQP case it's an nqp::list | 18:29 | ||||||||||||||||||||||||||||||||||||||
The cursor type when parsing Rakudo code is an NQP cursor | |||||||||||||||||||||||||||||||||||||||
github.com/perl6/nqp/blob/master/s....nqp#L1149 fails (nqp::islist returns false) | 18:30 | ||||||||||||||||||||||||||||||||||||||
This can only happen if you are trying to extend the Rakudo grammar from Raku code, which is certainly not something that is formally supported. | 18:31 | ||||||||||||||||||||||||||||||||||||||
I've no idea how to fix it. | |||||||||||||||||||||||||||||||||||||||
I don't see an easy way, at least. | 18:32 | ||||||||||||||||||||||||||||||||||||||
Well, maybe we can have a way to ask for NQP lists instead | 18:34 | ||||||||||||||||||||||||||||||||||||||
Quite a hack, but possible. | 18:36 | ||||||||||||||||||||||||||||||||||||||
nine | Isn't this quite similar to the issues in the MOP code? | ||||||||||||||||||||||||||||||||||||||
jnthn | Which issues? :) | 18:37 | |||||||||||||||||||||||||||||||||||||
nine | Well, the mostly solved ones, but not completely, making code like this necessary: github.com/niner/Inline-Perl5/blob...W.pm6#L158 | 18:38 | |||||||||||||||||||||||||||||||||||||
jnthn | Kinda, though that one could be solved also through hllize mappings, I guess | 18:39 | |||||||||||||||||||||||||||||||||||||
lizmat | nine: actually, that's also why there is a Rakudo::Internals::IterationSet | ||||||||||||||||||||||||||||||||||||||
which is the nqp::hash equivalent of the IterationBuffer | 18:40 | ||||||||||||||||||||||||||||||||||||||
if we would make IterationSet (or whatever the name is) a full HLL citizen, you could use that | |||||||||||||||||||||||||||||||||||||||
jnthn | Or at least, hllize doing raku -> nqp mapping too was originally intended, since for various cases it's just unwrapping the underlying storage | ||||||||||||||||||||||||||||||||||||||
Anyway, enough for me today...maybe I can put in something for this tomorrow | 18:41 | ||||||||||||||||||||||||||||||||||||||
lizmat | fwiw, I think we need to reconsider the whole way NQP cursors / match object interact / interweave with HLL versions | 18:42 | |||||||||||||||||||||||||||||||||||||
we lose a *lot* of performance there | |||||||||||||||||||||||||||||||||||||||
jnthn | Well, ultimately I think we shouldn't build the list/hash at all in general | 18:45 | |||||||||||||||||||||||||||||||||||||
And just have AT-POS/AT-KEY pull the right thing(s) out of the Cursor | 18:46 | ||||||||||||||||||||||||||||||||||||||
Since most of the time you only access things once anyway | |||||||||||||||||||||||||||||||||||||||
lizmat | yup, I was thinking that as well, possibly reblessing the object on the fly for caching | ||||||||||||||||||||||||||||||||||||||
jnthn | noooo | ||||||||||||||||||||||||||||||||||||||
lizmat | ok :-) | ||||||||||||||||||||||||||||||||||||||
jnthn | rebless = global deopt = very bad for performance | ||||||||||||||||||||||||||||||||||||||
lizmat | ok | 18:47 | |||||||||||||||||||||||||||||||||||||
jnthn | It's bad enough QAST does it :) | ||||||||||||||||||||||||||||||||||||||
Which we did to save memory, which it does I guess... :) | |||||||||||||||||||||||||||||||||||||||
And it was done before we even had a specializer, to be fair | |||||||||||||||||||||||||||||||||||||||
But these days it's probably a net loss | |||||||||||||||||||||||||||||||||||||||
lizmat | how about exposing the NQP cursor object? or are you saying that the NQP Cursor is the new HLL Match object ? | 18:48 | |||||||||||||||||||||||||||||||||||||
jnthn | Cursor and Match were unified a while ago anyway | ||||||||||||||||||||||||||||||||||||||
lizmat | yes, but in many occasions you don't need the Match logic | ||||||||||||||||||||||||||||||||||||||
jnthn | But yeah, I think we can defer a lot of the work at least for Raku | ||||||||||||||||||||||||||||||||||||||
For NQP it's all a bit harder because $<foo> is not a method call | 18:49 | ||||||||||||||||||||||||||||||||||||||
lizmat | github.com/rakudo/rakudo/blob/mast...r.pm6#L362 for instance | ||||||||||||||||||||||||||||||||||||||
jnthn | Yeah, that doesn't care for any captures etc. | 18:50 | |||||||||||||||||||||||||||||||||||||
Anyways, home time for me o/ | |||||||||||||||||||||||||||||||||||||||
lizmat | safe travels! | ||||||||||||||||||||||||||||||||||||||
vrurg | Got a minute... jnthn, you say that extending Raku grammar from Raku is not formally supported. Does it mean than a couple of modules do something kind of illegal? | ||||||||||||||||||||||||||||||||||||||
sena_kun is impudent enough to say that it is probably a borderline issue: if the user plays with how the code processing itself works, as a developer of the latter you cannot guarantee any possible thing will end up working nicely | 18:54 | ||||||||||||||||||||||||||||||||||||||
[Coke] | verified jnthn++'s fix fixes my original Raku/doc issue. Thanks! | 18:55 | |||||||||||||||||||||||||||||||||||||
vrurg | sena_kun: that's clear. The question is wether it is allowed in general or prohibited as such? | 19:23 | |||||||||||||||||||||||||||||||||||||
In the latter case we better ask Damian to pull out his article on creating a slang. :) | 19:25 | ||||||||||||||||||||||||||||||||||||||
19:33
Altai-man_ joined
19:36
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | releasable6: status | 19:38 | |||||||||||||||||||||||||||||||||||||
releasable6 | lizmat, Next release in ≈1 day and ≈23 hours. 1 blocker. 163 out of 247 commits logged | ||||||||||||||||||||||||||||||||||||||
lizmat, Details: gist.github.com/0f8387f42c3e3cb9b0...9f145bbc5c | |||||||||||||||||||||||||||||||||||||||
lizmat | Altai-man_ do we have some automatic process moving the Merge commits to an ignorable lemma ? | 19:39 | |||||||||||||||||||||||||||||||||||||
or do we have to do that manually ? | |||||||||||||||||||||||||||||||||||||||
Altai-man_ | lizmat, I am doing it by hands and I'm ok with that (for now), is there something bad? | 19:42 | |||||||||||||||||||||||||||||||||||||
lizmat | no, then I could do that now as well :-) | 19:43 | |||||||||||||||||||||||||||||||||||||
Altai-man_ | lizmat, I'll prepare the release next Saturday giving no new issues, including complete changelog, announcement, etc. .oO ( was my 2020.01 changelog _so_ bad lizmat wants to do it instead now ) | 19:44 | |||||||||||||||||||||||||||||||||||||
lizmat | nooo... I just want the life of a release manager easier | ||||||||||||||||||||||||||||||||||||||
*make | |||||||||||||||||||||||||||||||||||||||
if you'd rather have I didn't do, just say so :-) | |||||||||||||||||||||||||||||||||||||||
Altai-man_ | lizmat, you are doing some awesome work with compiler, so just leave it to me. And most of your commits are pleasure to document. :) | 19:45 | |||||||||||||||||||||||||||||||||||||
lizmat | okidoki! | ||||||||||||||||||||||||||||||||||||||
19:50
domidumont left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | BTW, they accepted my tutorial for TPC 2020. | 19:53 | |||||||||||||||||||||||||||||||||||||
lizmat | aahhh, that's good news! | ||||||||||||||||||||||||||||||||||||||
in Houston ? right ? | 19:54 | ||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: right. | 20:08 | |||||||||||||||||||||||||||||||||||||
lizmat | cool vrurg+ | ||||||||||||||||||||||||||||||||||||||
+ | |||||||||||||||||||||||||||||||||||||||
vrurg is now looking for good tutorial for creating tutorials. | |||||||||||||||||||||||||||||||||||||||
The last one I had was ~25yrs ago, it was a class of 10-13yo children... :) | 20:09 | ||||||||||||||||||||||||||||||||||||||
Geth | roast/6.d-errata: f846c15087 | (Elizabeth Mattijsen)++ (committed by Altai-man) | S06-signature/introspection.t Fix test for unnamed named parameter in signature |
20:59 | |||||||||||||||||||||||||||||||||||||
21:00
pmurias joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | vrurg: I think prohibited/illegal is too strong, it's more a case of: know you're using something that hasn't been declared a supported API, so have fun and make nice things, but if an internals change breaks it, the burden is primarily on you to fix it, not primarily on the Rakudo team as is the case for regressions when using spec'd stuff. | 21:27 | |||||||||||||||||||||||||||||||||||||
vrurg | jnthn: reasonable. :) Though still would be nice if can pull the list of names somehow without re-parsing it. | 21:28 | |||||||||||||||||||||||||||||||||||||
jnthn | vrurg: Yeah, I'll try and do a workaround tomorrow. Ultimately, we will need a proper/working way to do this. | 21:29 | |||||||||||||||||||||||||||||||||||||
vrurg | jnthn: thanks! And I'll remove the blocker status as seemingly no other modules are affected anyway. | 21:30 | |||||||||||||||||||||||||||||||||||||
jnthn | Yes, mercifully few people are so adventurous :) | ||||||||||||||||||||||||||||||||||||||
vrurg | In either case, I can workaround the problem by manually splitting the list since I can pull out the parsed part as a string. | ||||||||||||||||||||||||||||||||||||||
jnthn | Let's see if I can make an easy fix tomorrow | ||||||||||||||||||||||||||||||||||||||
vrurg is away for lunch. It's damn crazy day today... | 21:32 | ||||||||||||||||||||||||||||||||||||||
21:34
sena_kun joined
21:35
patrickb joined
21:36
Altai-man_ left
21:47
camelia left
22:19
MasterDuke joined
23:03
patrickb left
23:33
Altai-man_ joined
23:36
sena_kun left
23:38
lucasb left
|