🦋 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. |
|||
02:31
codesections joined
02:58
codesections left
|
|||
releasable6 | Next release in ≈1 day and ≈15 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 03:00 | |
03:45
codesections joined
04:40
codesections left
08:00
finanalyst joined
|
|||
Geth | rakudo/main: dc4e30ce2a | (Stefan Seifert)++ | src/Raku/ast/resolver.rakumod RakuAST: use type suggestions when reporting undeclared types No idea why I thought routine suggestions would be of any help here. Again MasterDuke++ for staying vigilant! |
08:25 | |
rakudo/main: 8f268d294e | (Stefan Seifert)++ | 2 files RakuAST: actually support old EXPORTHOW API Even though according to a comment, this API should have been removed before "6.0.0" there's at least one spectest still using it. |
08:39 | ||
nine | 1290 by implementing a feature that has been deprecated for more than 10 years | 08:40 | |
Intruiging: there are 6 POD related spectest files failing. Of these, 5 fail due to missing support for macros. Who'd have thought that macros play such a large role in documentation? | 08:45 | ||
On a side note: I'm quite surprised that there are even spectests about macros. Right now the language specification requires an implementation to have an "experimental" support (i.e. even the test files need `use experimental :macros;`). So the specification requires something that by definition is subject to change. | 08:46 | ||
09:17
librasteve_ joined
|
|||
lizmat | update on the remaining blin issue: | 09:42 | |
reverting the .assuming work is an option, but would require todoing a lot of spectests | 09:43 | ||
09:53
sena_kun joined
10:00
sena_kun left
10:03
finanalyst left
|
|||
lizmat | nine: just confirmed that the &sub returned by .assuming does not have a serialization context | 10:06 | |
nine | If assuming is running at BEGIN time it needs to do everything that a BEGIN time EVAL does, i.e. it needs to be running as part of the outer compilation. | 10:11 | |
10:11
finanalyst joined
|
|||
lizmat | I understand what you're saying: is that a matter of setting the outer context correctly ? | 10:13 | |
in the $ast.EVAL call? | 10:15 | ||
nine | Look at what happens in Actions when outer_ctx is set in the compilation options | 10:19 | |
lizmat | or some parameter to $compunit.IMPL-TO-QAST-COMP-UNIT ? | ||
lizmat looks | 10:25 | ||
ok, I'm getting the impression that this is going to be unsolvable until we've merged the bootstrap | 10:38 | ||
as the legacy grammar doesn't have an $*OUTER-RESOLVER | 10:39 | ||
10:39
finanalyst left
|
|||
lizmat | which would be required if a specific context were to be specified in .EVAL | 10:39 | |
nine | That can very well be the case | 10:44 | |
10:50
sivoais left
10:51
sivoais joined
|
|||
Geth | roast: cb93f5abcb | (Elizabeth Mattijsen)++ | 4 files TODO all test that depend on RakuAST based .assuming It looks like using a RakuAST-based assuming won't be able to work in pre-compiled modules, at least not until the Raku bootstrap has been merged. So mark all tests that would fail with the old implementation as TODO, hopefully only for a short time |
11:23 | |
rakudo/main: eb2315f1c4 | (Elizabeth Mattijsen)++ | 2 files Restore the old implementation of .assuming A blin run made it clear that quite a few modules in the ecosystem depend on .assuming being used in a pre-compiled module environment. Alas, this appears to be incompatible with the RakuAST based .assuming while running with the legacy system: it looks like it is going to ... (6 more lines) |
11:26 | ||
11:29
JimmyZhuo joined
|
|||
nine | bootstrap-rakuast is now at 1289, just one test behind main (a Proc::Async test failing because of the POPULATE issue) | 11:41 | |
lizmat++ | |||
JimmyZhuo | nqp::die("RO assignment"); | 11:51 | |
$lhs_ast.node.typed_sorry('X::Assignment::RO::Comp', | |||
variable => $lhs_ast.name); | |||
It seems there is no good way to add_sorry here, and Var::Lexical has no attr $!is-parameter, so can't do it at check time? | |||
nine | I'm sure it's possible. It's just hard :) | 11:56 | |
Var::Lexical has no $!is-parameter, but what about what Var::Lexical resolves to? | 11:57 | ||
i.e. $left.resolution | |||
You could probably also cheat and in RakuAST::ApplyInfix's PERFORM-CHECK generate the QAST for $left and then check whether that fits the criteria | 11:59 | ||
So, one of the big breaks from Perl to Raku is sigil invariance, i.e. you always use the same sigil to access some value unlike Perl where you write $a[0] for accessing @a's first element. | 12:27 | ||
m: class Foo { has $.name; method foo() { say $.name } }.new(:name(me => "you")).foo; | 12:28 | ||
camelia | me => you | ||
nine | m: class Foo { has $.name; method foo() { say @.name } }.new(:name(me => "you")).foo; | ||
camelia | (me => you) | ||
nine | m: class Foo { has $.name; method foo() { say %.name } }.new(:name(me => "you")).foo; | ||
camelia | {me => you} | ||
nine | So much for that... | ||
lizmat realizes she's badly in need of a vacation | 12:35 | ||
nine | You and me both baby :) | ||
[Coke] | I am all for removing :experimental spec tests. Those should probably be in rakudo itself so we don't accidentally break anything, but not roast. | 12:38 | |
(Or having them all be TODO?, I guess?) | 12:39 | ||
nine | Test harness complains even about passing TODOs | 12:40 | |
JimmyZhuo | t/experimental/xxx.t ?? | ||
nine | Also it's not even a TODO. A TODO would imply "this is what we want but just don't have yet". It's *experimental*. It's "we don't even know what we want". A specification saying "we require you to do....something, we actually don't know what" isn't much of a specification at all. | 12:41 | |
[Coke] | So let's rip it out, yes. | 12:50 | |
Geth | rakudo/main: 6c791595e7 | (Stefan Seifert)++ | src/Raku/Actions.nqp RakuAST: support shorthand syntax for meta method calls Fixes: $.^name |
13:05 | |
nine | 1291 | ||
JimmyZhuo | nine: thanks, looks like I get the way, will try it tomorrow | ||
13:06
JimmyZhuo left
|
|||
nine | ++JimmyZhuo | 13:06 | |
JimmyZhuo: just a heads up. My desktop won't be available over the weekend | 13:07 | ||
tellable6 | nine, I'll pass your message to JimmyZhuo | ||
Geth | rakudo/main: 7476648eea | (Stefan Seifert)++ | 2 files RakuAST: fix $?CLASS not resolved on implicit method signature |
13:53 | |
rakudo/main: a4c3ed56c0 | (Stefan Seifert)++ | src/Raku/ast/call.rakumod RakuAST: prohibit special dispatchers on macroish calls Calls like .WHAT or .WHO are not really method calls but more akin to macros, only that they are special cased by the compiler itself. Using special dispatchers like .? on them doesn't make sense. |
|||
nine | 1292 | ||
16:08
codesections joined
|
|||
Geth | rakudo/main: c19be7eefd | (Stefan Seifert)++ | 2 files RakuAST: support indirect method calls with multiple arguments Fixes: foo $o: 1, 2 |
16:08 | |
nine | 1294 by fixing a feature that I'd kill off in an instant | 16:09 | |
[Coke] | lizmat: can you bump nqp & moar to latest? | ||
(or anyone!) (I am on a train at the moment) | 16:11 | ||
releasable6: status | |||
releasable6 | [Coke], Next release in ≈1 day and ≈2 hours. There are no known blockers. Changelog for this release was not started yet | ||
[Coke], Details: gist.github.com/67a215c33d7dbd55ec...842aff3b3c | |||
[Coke] | github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 16:14 | |
I have't categorized any yet, looks like a majority of rakuast, which I think we just pull the commit hashs for and add a status report of passing tests. | 16:15 | ||
nine | [Coke]: seems like they are already at the latest | 16:18 | |
[Coke] | nine++ #thanks for checking! | 16:19 | |
Geth | rakudo/main: a70fbf6f48 | (Will Coleda)++ | docs/release_guide.pod This module is explicitly skipped by blin |
16:25 | |
16:29
codesections left
|
|||
[Coke] | looks like the only one left on github.com/rakudo/rakudo/issues/5825 is for HTTP::Tiny which lizmat could not reproduce | 16:33 | |
... and looking at the "new output" - I don't see a failure. | 16:34 | ||
I see 3 TODO'd subtests that didn't pass | 16:35 | ||
ah, a bunch of 503 Service Temporarily Unavailable. | 16:36 | ||
so that's probably fine. closing blin ticket. | |||
Geth | rakudo/main: 8fbe800efd | (Stefan Seifert)++ | 2 files RakuAST: support hypering of private method calls Fixes: class Foo { trusts GLOBAL; method !foo { } }; (Foo.new,)>>!Foo::foo |
17:07 | |
nine | 1295 | ||
[Coke] | 4ee9503bdcd65d9017f24c5455f297eec7409cc5 | 17:09 | |
linkable6 | (2025-03-07) github.com/rakudo/rakudo/commit/4ee9503bdc Re-imagine .assuming using RakuAST | ||
[Coke] | so many rakuast tickets today (cleaning those up in the changelog draft) | 17:19 | |
m: say ( 39*7+4) | 17:23 | ||
camelia | 277 | ||
[Coke] | ^^ # of rakuast commits as of right now for this release | ||
formatting looks off on that draft for rakuast, will investigate later. | 17:24 | ||
-> afk | |||
nine | I don't think that number is gonna change in the next few hours :) Next one is a tricky parsing problem and I have to leave soon | 17:25 | |
Geth | rakudo/main: f7f670f39d | (Stefan Seifert)++ | 3 files RakuAST: support $.foo: 1,2 syntax RakuAST equivalent of commit 4a1323ed262f579abbb69dae5708e9baba2e874d |
17:59 | |
nine | Ok, I was wrong. 1296 it is | ||
jdv | aka the 23cm ham band | 18:02 | |
1296mhz;) | |||
lizmat | [Coke]: MoarVM and NQP are already up to date on rakudo main | 18:16 | |
Geth | rakudo/main: 9b95ab96c3 | (Stefan Seifert)++ | 2 files RakuAST: support quoted private method calls Fixes: self."!foo"() |
18:22 | |
rakudo/main: 915c8defd6 | (Stefan Seifert)++ | src/Raku/ast/call.rakumod RakuAST: throw appropriate exception class when private method not found at compile time |
|||
nine | 1297 | ||
Huh...a case that fails on RakuAST exactly in the same way that it fails on JVM. | 18:30 | ||
And when the optimizer is turned off. | 18:31 | ||
The optimizer optimizes using a raku-meth-call-qualified dispatcher. That's why it fails on JVM. | 18:35 | ||
18:43
rakkable left
18:44
rakkable joined
|
|||
lizmat | rakkable: eco-pr macro | 18:44 | |
rakkable | lizmat, Running: eco-provides macro, please be patient! | ||
lizmat, Found 285 lines in 66 files (38 distributions): | |||
lizmat, gist.github.com/ebe9d3bcda51502695...5908f99ae2 | |||
lizmat | rakkable: eco-pr §macro | 18:46 | |
rakkable | lizmat, Running: eco-provides §macro, please be patient! | ||
lizmat, Found 107 lines in 37 files (26 distributions): | |||
lizmat, gist.github.com/a4efbbdd1865735d04...344ab6478f | |||
lizmat | much better | ||
rakkable: eco-pr 'use experimental :macros' | 18:47 | ||
rakkable | lizmat, Running: eco-provides 'use experimental :macros', please be patient! | ||
lizmat, No occurrences found for: eco-provides 'use experimental :macros' | |||
lizmat | rakkable: eco-pr ':macros' | ||
rakkable | lizmat, Running: eco-provides ':macros', please be patient! | ||
lizmat, No occurrences found for: eco-provides ':macros' | |||
lizmat | rakkable: eco-pr :macros | 18:48 | |
rakkable | lizmat, Running: eco-provides :macros, please be patient! | ||
lizmat, Found 4 lines in 4 files (4 distributions): | |||
lizmat, gist.github.com/c3ca023eb02f182ffb...791aa2c2a7 | |||
lizmat | ok, looks like there are only 2 modules that actually use the experimental :macros feature in the ecosystem | 18:49 | |
Xliff's GLib::Raw::Macros and OO::Monitors | 18:50 | ||
the latter now being an ecosystem module, so relatively easy to get fixed :-) | |||
rakkable: eco-pr wait-condition | 18:52 | ||
rakkable | lizmat, Running: eco-provides wait-condition, please be patient! | ||
lizmat, OO::Monitors:ver<1.1.4>:auth<zef:raku-community-modules>/lib/OO/Monitors.rakumod | |||
lizmat, 108:macro wait-condition($cond) is export { | |||
lizmat, 109: my $cond-attr = get-cond-attr($cond, 'wait-condition'); | |||
lizmat, That was all! | |||
lizmat | rakkable: eco-pr meet-condition | ||
rakkable | lizmat, Running: eco-provides meet-condition, please be patient! | ||
lizmat, OO::Monitors:ver<1.1.4>:auth<zef:raku-community-modules>/lib/OO/Monitors.rakumod | |||
lizmat, 113:macro meet-condition($cond) is export { | |||
lizmat, 114: my $cond-attr = get-cond-attr($cond, 'meet-condition'); | |||
lizmat, That was all! | |||
lizmat | ok, looks like nobody is using the macros exported by OO::Monitors *phew* | 18:53 | |
Geth | rakudo/main: f3ae9c3876 | (Stefan Seifert)++ | src/Raku/ast/call.rakumod RakuAST: optimize qualified method calls This actually fixes a case that would otherwise fail (and still does so on the JVM): class Baz { submethod blarb() { } }; class Grtz is Baz { }; Grtz.new.Baz::blarb |
18:55 | |
nine | 1298 and that's it for today | ||
Turning computer off now :) | |||
lizmat | .tell Xliff: are you using OO::Monitor's wait-condition / need-condition in your code ? | 19:02 | |
tellable6 | lizmat, I'll pass your message to Xliff | ||
20:19
finanalyst joined
|
|||
jdv | was 1298 a good year? | 21:19 | |
21:46
sena_kun joined,
finanalyst left
|
|||
releasable6 | Next release in ≈19 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 23:00 | |
23:25
sena_kun left
|