🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||||||||||||||||||||||||||||||||||||||
04:17
kjp left
04:18
kjp joined
04:24
kjp left,
kjp joined
|
|||||||||||||||||||||||||||||||||||||||
nine | yes | 06:57 | |||||||||||||||||||||||||||||||||||||
[Tux] |
|
07:03 | |||||||||||||||||||||||||||||||||||||
tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log | |||||||||||||||||||||||||||||||||||||||
Geth | nqp/main: b51dfc5696 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION Bump MoarVM to get various MasterDuke++ fixes |
07:56 | |||||||||||||||||||||||||||||||||||||
rakudo/main: a3841c2618 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION Bump NQP for various MasterdDuke++ fixes on MoarVM |
08:33 | ||||||||||||||||||||||||||||||||||||||
08:56
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | nine: looking at method IMPL-QAST-PSEUDO-PACKAGE-LOOKUP in ast/name | 10:15 | |||||||||||||||||||||||||||||||||||||
nine | I'm sorry! | 10:16 | |||||||||||||||||||||||||||||||||||||
lizmat | is there a reason why CORE is handled differently there ? | ||||||||||||||||||||||||||||||||||||||
is that an optimization? | |||||||||||||||||||||||||||||||||||||||
nine | The commit message explains it. Rakudo commit 0e79b375eb1 | ||||||||||||||||||||||||||||||||||||||
linkable6 | (2023-06-17) github.com/rakudo/rakudo/commit/0e79b375eb RakuAST: fix BEGIN time CORE:: lookup | ||||||||||||||||||||||||||||||||||||||
nine | I should probably put such information more often into comments rather than commit messages :/ | 10:17 | |||||||||||||||||||||||||||||||||||||
Flip side is, git blame on my code is often quite educating | |||||||||||||||||||||||||||||||||||||||
lizmat | aha, but in that case: why not go a step further and *not* create a "permanent" PseudoStash object at all, but do the lookup and make *that* a WVal ? | 10:18 | |||||||||||||||||||||||||||||||||||||
case in point: BEGIN &CORE::prompt; (golfed from why the Prompt module won't precomp under RakuAST | 10:19 | ||||||||||||||||||||||||||||||||||||||
) | |||||||||||||||||||||||||||||||||||||||
nine | Yeah, that would make sense | ||||||||||||||||||||||||||||||||||||||
lizmat | ok, will take that on then | 10:20 | |||||||||||||||||||||||||||||||||||||
nine | In theory it's wrong as Raku does allow for replacing CORE:: symbols. E.g. my &get-prompt := BEGIN -> { &CORE::prompt }; CORE::<&prompt> := -> { say "no" }; get-prompt()() | 10:21 | |||||||||||||||||||||||||||||||||||||
lizmat | also in the case of precomp ? | ||||||||||||||||||||||||||||||||||||||
nine | But I'm inclined to say that this is just horrible and if you really think you need this combination of features, you should overthink your life choices anyway | 10:22 | |||||||||||||||||||||||||||||||||||||
lizmat | yeah, and also: that's why we have .wrap ? | ||||||||||||||||||||||||||||||||||||||
m: BEGIN &max.wrap({ say "no" }); say max | 10:25 | ||||||||||||||||||||||||||||||||||||||
camelia | no True |
||||||||||||||||||||||||||||||||||||||
lizmat | hmmm.. I guess the .wrap wouldn't work either then | ||||||||||||||||||||||||||||||||||||||
nine | Again...life choices | 10:26 | |||||||||||||||||||||||||||||||||||||
lizmat | nine: maybe another approach would be better: how about putting the nqp::ctx of CORE:: into nqp::bindhllsym key ? | ||||||||||||||||||||||||||||||||||||||
so we wouldn't need to go looking for a specific key each time we do CORE:: | 10:27 | ||||||||||||||||||||||||||||||||||||||
so the PseudoStash CORE handling would just need to do a nqp::gethllsym? | |||||||||||||||||||||||||||||||||||||||
also: in that commit, the phrase: "But these dynamically compiled frames won't be serialized anyway" appears to be incorrect | 10:29 | ||||||||||||||||||||||||||||||||||||||
nine | I think so, too | ||||||||||||||||||||||||||||||||||||||
lizmat | would the bindhllsym idea be feasible ? | 10:31 | |||||||||||||||||||||||||||||||||||||
to handle the "At BEGIN time, we don't have the setting as an outer frame for PseudoStash to find." case ? | 10:32 | ||||||||||||||||||||||||||||||||||||||
nine | Worth a shot I guess | 10:38 | |||||||||||||||||||||||||||||||||||||
lizmat | ok, will give that a shot after having done some necessary legal administrativia | 10:49 | |||||||||||||||||||||||||||||||||||||
afk& | 10:57 | ||||||||||||||||||||||||||||||||||||||
11:08
JimmyZhuo joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: zhuomingliang++ created pull request #5838: s/:=/=:=/ in elsif condition |
11:14 | |||||||||||||||||||||||||||||||||||||
nine | I'm re-visiting List.Capture, specifically this statement: | 11:16 | |||||||||||||||||||||||||||||||||||||
nqp::istype(($v := nqp::atpos($!reified, $i)),Pair) ?? nqp::bindkey($hash, $v.key.Str, $v.value) !! nqp::push($list,$v) while nqp::islt_i(++$i,$elems); | |||||||||||||||||||||||||||||||||||||||
My original "fix" was to not sink the body of statements with a while/until modifier. But that violates a spec test that requires a sunk warning and rightly so. | 11:17 | ||||||||||||||||||||||||||||||||||||||
I think I finally understand the reason why the old frontend doesn't generate a p6sink here. It's not the loop. It's that a ternary expression itself is not sinkable, i.e. there's no sink($cond ?? $foo !! $bar). Instead, the operator propagates sink context to its branches. So it's $cond ?? sink($foo) !! sink($bar) | 11:19 | ||||||||||||||||||||||||||||||||||||||
But the branch in this case is an NQP op and those are never sunk. | |||||||||||||||||||||||||||||||||||||||
12:09
finanalyst joined
13:34
JimmyZhuo left
13:56
sena_kun left,
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | SmokeMachine: will try again to get Red working in Blin | 13:59 | |||||||||||||||||||||||||||||||||||||
It would be great if someone wanted to curate a list of "important" modules so I can verify they are getting tested in Blin and not skipped for some reason. | |||||||||||||||||||||||||||||||||||||||
Is our best indicator of those modules right now the # of stars on a repo? | 14:07 | ||||||||||||||||||||||||||||||||||||||
(maybe combined with a dependency matrix) | 14:08 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 17 commits pushed by (Stefan Seifert)++ review: github.com/rakudo/rakudo/compare/a...fb1395deea |
14:10 | |||||||||||||||||||||||||||||||||||||
nine | Oh my....17 commits to do proper reporting of sink context. At least according to this one spectest file | 14:11 | |||||||||||||||||||||||||||||||||||||
14:16
sena_kun left
14:17
sena_kun joined
14:18
Geth left,
Geth joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 17 commits pushed by (Stefan Seifert)++ review: github.com/rakudo/rakudo/compare/a...fb1395deea |
14:19 | |||||||||||||||||||||||||||||||||||||
lizmat | oops, that one already got notified :-) | ||||||||||||||||||||||||||||||||||||||
SmokeMachine | [Coke]: thanks! I have done some fixes on that… I hope it helps. Please let me know if I can help… | 14:21 | |||||||||||||||||||||||||||||||||||||
14:23
sena_kun left
14:24
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | c: say 3 | 14:57 | |||||||||||||||||||||||||||||||||||||
committable6 | [Coke], Seems like you forgot to specify a revision (will use “v6.c” instead of “say”) | ||||||||||||||||||||||||||||||||||||||
[Coke] | c: HEAD say 3 | ||||||||||||||||||||||||||||||||||||||
committable6 | [Coke], ¦HEAD(a3841c2): «3» | ||||||||||||||||||||||||||||||||||||||
[Coke], ¦v6.c (89 commits): «3» | 14:58 | ||||||||||||||||||||||||||||||||||||||
[Coke] | (checking whateverable gist history, the oldest gist is 9 years old) | 15:00 | |||||||||||||||||||||||||||||||||||||
.ask AlexDaniel - any need to cleanup old whateverable gists? It has 500+ and the oldest is 9 years old. Guessing it's fine as is. | 15:05 | ||||||||||||||||||||||||||||||||||||||
tellable6 | [Coke], I'll pass your message to AlexDaniel | ||||||||||||||||||||||||||||||||||||||
[Coke] | SmokeMachine: gist.github.com/coke/9f577f87dbda4...eaa7a3d716 - so testing red, there are 8 other failures blocking it now. | 15:17 | |||||||||||||||||||||||||||||||||||||
gist.githubusercontent.com/coke/0a.../data.json has the json data from that run; anything without a status: OK needs to be reviewed. (surely several of these are blocked by a dep that is failing) | 15:20 | ||||||||||||||||||||||||||||||||||||||
(removed all the status OK and repushed) | 15:23 | ||||||||||||||||||||||||||||||||||||||
rerunning just with License::SPDX.... | 15:32 | ||||||||||||||||||||||||||||||||||||||
I suspect this is a blin bug that thinks JSON::Class is already installed when it's really the "other" one. | 15:33 | ||||||||||||||||||||||||||||||||||||||
15:39
finanalyst left
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | c: d6fb1395deeaa16e2357ec0401d0c64710cd0d34 say 3 | 15:54 | |||||||||||||||||||||||||||||||||||||
committable6 | [Coke], ¦d6fb139: «3» | ||||||||||||||||||||||||||||||||||||||
[Coke] | (json class) which sounds very familiar from previous investigation that I dropped. :) | 15:55 | |||||||||||||||||||||||||||||||||||||
ugexe: is there a zef API or CLI way to say "does this module satisfy this requirement"? | 16:01 | ||||||||||||||||||||||||||||||||||||||
team: blin claims to support pakku which itself has, I think, been replaced, and I don't think anyone is using it or the replacement, only zef. OK to remove support for it from Blin? | |||||||||||||||||||||||||||||||||||||||
s/anyone is/many are/ | 16:02 | ||||||||||||||||||||||||||||||||||||||
ugexe: or a way to turn all the various requirements for a module into a list of things to install. (so that I could figure out in advance that all my json::classes require the other one) | 16:03 | ||||||||||||||||||||||||||||||||||||||
Geth | Blin: 8497e679aa | (Will Coleda)++ | bin/blin.p6 Bug is fixed, no need to skip |
16:11 | |||||||||||||||||||||||||||||||||||||
[Coke] | I see in the JSON::Class failure, that it thinks it's going after version 0.0.21, but in the output, Found: JSON::Class:ver<0.0.6>:auth<zef:vrurg>:api<1.0.5>, which in turn then depends on Test::Async, but blin doesn't have it available, presumably because v0.0.21 didn't require it. | 16:19 | |||||||||||||||||||||||||||||||||||||
SmokeMachine | [Coke]: is there a way I can see the error gotten when installing Red? | 16:28 | |||||||||||||||||||||||||||||||||||||
[Coke] | ... it's not a Red error | 16:32 | |||||||||||||||||||||||||||||||||||||
the dependencies aren't available. | |||||||||||||||||||||||||||||||||||||||
Looks like the root cause is the two packages with the same name. Trying to figure out how to fix blin so it can deal with that. | 16:33 | ||||||||||||||||||||||||||||||||||||||
SmokeMachine | if that's related to Red depending on META6 that depends on JSON::Class that tries to use the wrong one, this should fix it (I think...) but wasn't released yet because it breaks on windows: github.com/jonathanstowe/META6/pull/32 | ||||||||||||||||||||||||||||||||||||||
[Coke] | blin doesn't re-install the dependencies each module, it orders the tests so that by the time it gets to Red, all the dependenices should be available... but the previous JSON::Class issue derails anything that depends on either version, it seems. | 16:34 | |||||||||||||||||||||||||||||||||||||
SmokeMachine | It seems Red depends on Test::Meta that starts the dependency to JSON::Class... maybe if I remove the dependency on that and the test that uses that, it may be fixed? | 16:36 | |||||||||||||||||||||||||||||||||||||
I think I'll remove that (at least for now)... It just tests the META6 file... I think, for now, being able to let blin to let me know when I need to change something because of a new rakudo version broke it (that already happened a few times) is more important... | 16:41 | ||||||||||||||||||||||||||||||||||||||
[Coke] adds github.com/Raku/Blin/issues/39 | 16:42 | ||||||||||||||||||||||||||||||||||||||
SmokeMachine: Depend on what you need. Blin has a bug | 16:43 | ||||||||||||||||||||||||||||||||||||||
For red specifically, we can do a separate test pre-release outside of blin with a compiled HEAD version | |||||||||||||||||||||||||||||||||||||||
... assuming I can't fix this issue by .04 | 16:44 | ||||||||||||||||||||||||||||||||||||||
SmokeMachine | one point on the issue: I don't think Red depends on both JSON::Class... I think it depends only on JSON::Class:auth<zef:jonathanstowe>... | 16:47 | |||||||||||||||||||||||||||||||||||||
but I may be wrong, are you sure about that? | 16:48 | ||||||||||||||||||||||||||||||||||||||
[Coke] | Red doesn't depend on both | 16:49 | |||||||||||||||||||||||||||||||||||||
it has two downstream dependencies on jonathan's at different versions (but those end up in the same dist) | |||||||||||||||||||||||||||||||||||||||
but blin is pulling in the other one for testing and failing. | |||||||||||||||||||||||||||||||||||||||
SmokeMachine | ah, ok, thanks sorry... my english is not very good... | ||||||||||||||||||||||||||||||||||||||
[Coke] | no worries. | ||||||||||||||||||||||||||||||||||||||
er, upstream. water direction is confusing. :) | 16:53 | ||||||||||||||||||||||||||||||||||||||
SmokeMachine | I'm only concerned because I already had to add these 2 exceptions on Red for problems blin did not let me know before Rakudo release: github.com/FCO/Red/blob/master/lib...od#L47-L56 | 16:56 | |||||||||||||||||||||||||||||||||||||
[Coke] | I will mention here when Blin is fixed on this issue, but in the meantime, yes, please double check your module regularly against HEAD | 16:59 | |||||||||||||||||||||||||||||||||||||
(And I will try to make sure it's tested manually around the time of the last Blin run as well) | 17:00 | ||||||||||||||||||||||||||||||||||||||
(until Blin is fixed) | |||||||||||||||||||||||||||||||||||||||
I am glad that those are most recent issue was from 2024.03 | 17:19 | ||||||||||||||||||||||||||||||||||||||
er, that was two different sentences I broke apart and put together in the middle. | |||||||||||||||||||||||||||||||||||||||
ugexe | the META6 pr should fix the issue i believe, although a new release of that module needs to be made | 17:37 | |||||||||||||||||||||||||||||||||||||
[Coke] | github.com/jonathanstowe/META6/pulls ? | 17:59 | |||||||||||||||||||||||||||||||||||||
ugexe: I think will still die even if everyone is specifically using jonathan's version because zef look is recommending vrurgs. | 18:01 | ||||||||||||||||||||||||||||||||||||||
er, zef info | |||||||||||||||||||||||||||||||||||||||
which then causes some confusion when blin is testing | |||||||||||||||||||||||||||||||||||||||
ugexe | because the depends section just asks for JSON::Class | 18:02 | |||||||||||||||||||||||||||||||||||||
or did | |||||||||||||||||||||||||||||||||||||||
and will until a new release is made | |||||||||||||||||||||||||||||||||||||||
[Coke] | I did a test just with License::SPDX and it still failed, and that has no deps on META6 | 18:04 | |||||||||||||||||||||||||||||||||||||
the problem as I understand it: something depends on JSON::Class:ver<0.0.14+> - blin checks and makes sure all the deps for that are tested and installed... and then it tries to check out 'zef info JSON::Class' which isn't the right project, doesn't have the deps available, so that fails, then when we get back to the thing that depending on JSON::Class, JSON::Class isn't installed. | 18:05 | ||||||||||||||||||||||||||||||||||||||
blin isn't installing all the deps at the time of testing module X, it got *all* the deps ever needed for the run up front and ordered the tests so things would work. | |||||||||||||||||||||||||||||||||||||||
s/check out/ build, test, install / | 18:06 | ||||||||||||||||||||||||||||||||||||||
and even if we fixed zef info to report on the json class we happen to need, it's just hiding the issue (and would break testing of anything depending on vrurg's version, probably) | 18:07 | ||||||||||||||||||||||||||||||||||||||
jdv | is that a blin issue or a zef issue or a author issue? | 18:08 | |||||||||||||||||||||||||||||||||||||
[Coke] | blin | ||||||||||||||||||||||||||||||||||||||
blin assumes that everyting named "JSON::Class" is the same thing | |||||||||||||||||||||||||||||||||||||||
ugexe | if something depends on "JSON::Class:ver<0.0.14+>" and somehow tied that into `zef info` i'd expect it to use `zef info "JSON::Class:ver<0.0.14+>"` not `zef info JSON::Class` | ||||||||||||||||||||||||||||||||||||||
[Coke] | ugexe: It's *blin* | 18:09 | |||||||||||||||||||||||||||||||||||||
the fact that zef is recommending the other one is triggering the issue, but it's blin's issue. | |||||||||||||||||||||||||||||||||||||||
jdv | how is it blin. the dist asked for Foo and Foo is there. if it needs Foo:auth<Bar> it should have been more specific, no? | 18:10 | |||||||||||||||||||||||||||||||||||||
[Coke] | *sigh* | 18:11 | |||||||||||||||||||||||||||||||||||||
I have already explained it here 2x and in the ticket once. :) | |||||||||||||||||||||||||||||||||||||||
Foo is NOT there. | |||||||||||||||||||||||||||||||||||||||
jdv | i'll look at the ticket | ||||||||||||||||||||||||||||||||||||||
its on blin? | |||||||||||||||||||||||||||||||||||||||
[Coke] | github.com/Raku/Blin/issues/39 | ||||||||||||||||||||||||||||||||||||||
ugexe | where does it call `zef info JSON::Class`? seems like it just needs to use the full dependency string | 18:13 | |||||||||||||||||||||||||||||||||||||
[Coke] | I am pretty sure blin is getting the deps, then doing stuff on module.name rather than the full module (presumably to avoid having to track v0.0.14 vs. v0.0.20, etc.) | ||||||||||||||||||||||||||||||||||||||
ugexe | presumably that is available wherever blin calls it | ||||||||||||||||||||||||||||||||||||||
[Coke] | "just". | 18:14 | |||||||||||||||||||||||||||||||||||||
ugexe | thats why i'm interested to see where zef info is called | 18:15 | |||||||||||||||||||||||||||||||||||||
[Coke] | It's not literally zef info, it's using the zef modules. | ||||||||||||||||||||||||||||||||||||||
ugexe | ah | ||||||||||||||||||||||||||||||||||||||
github.com/Raku/Blin/blob/8497e679...in.p6#L231 | 18:18 | ||||||||||||||||||||||||||||||||||||||
that seems like it just takes whatever one was added to that hash field last | |||||||||||||||||||||||||||||||||||||||
[Coke] | Thank you. | 18:41 | |||||||||||||||||||||||||||||||||||||
21:59
sena_kun left
22:28
rakkable left,
rakkable joined
|