🦋 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.
00:00 reportable6 left, reportable6 joined 00:07 jgaz joined 00:44 kjp left 00:57 kjp joined 04:00 quotable6 left, bisectable6 left, bloatable6 left, unicodable6 left, statisfiable6 left, nativecallable6 left, linkable6 left, sourceable6 left, squashable6 left, tellable6 left, evalable6 left, releasable6 left, committable6 left, notable6 left, coverable6 left, greppable6 left, benchable6 left, shareable6 left 04:01 evalable6 joined, releasable6 joined, greppable6 joined, committable6 joined, statisfiable6 joined, quotable6 joined, linkable6 joined 04:02 bisectable6 joined, bloatable6 joined, nativecallable6 joined, shareable6 joined, sourceable6 joined, squashable6 joined, unicodable6 joined 04:03 benchable6 joined, notable6 joined, tellable6 joined, coverable6 joined 05:45 Util left, Util joined 06:00 reportable6 left 06:02 reportable6 joined 07:03 statisfiable6 left, notable6 left, bloatable6 left, committable6 left, squashable6 left, quotable6 left, evalable6 left, benchable6 left, unicodable6 left, bisectable6 left, greppable6 left, sourceable6 left, reportable6 left, releasable6 left, tellable6 left, coverable6 left, nativecallable6 left, shareable6 left, linkable6 left, quotable6 joined, tellable6 joined 07:04 statisfiable6 joined, committable6 joined, nativecallable6 joined, sourceable6 joined, reportable6 joined 07:05 evalable6 joined, benchable6 joined, releasable6 joined, squashable6 joined, greppable6 joined, coverable6 joined, shareable6 joined 07:06 bisectable6 joined, notable6 joined, unicodable6 joined, linkable6 joined, bloatable6 joined
patrickb lizmat: Could the RAST based highlighting thing possibly work without executing code in BEGIN blocks or similar? 07:31
jdv: There was talk about a point release to have a release that works on Windows. What's your opinion? 07:33
lizmat patrickb: no, BEGIN blocks would get executed, INIT blocks wouldn't, CHECK I would need to check 07:49
patrickb I feared so. Thanks for confirming! 07:55
lizmat nine: any idea why: 08:52
m: say Q|.Str|.AST
camelia RakuAST::StatementList.new(
RakuAST::Statement::Expression.new(
expression => RakuAST::Term::TopicCall.new(
RakuAST::Call::Method.new(
name => RakuAST::Name.from-identifier("Str")
)
)
)
)
lizmat is ok and:
m: say Q|$_.Str|.AST
camelia ===SORRY!=== Error while compiling
Confused
------> $_.Str⏏<EOL>
lizmat is not?
the above is a golf
nine: it feels like the .AST method in core_epilogue is missing something, perhaps an outer resolver? 09:35
also: only seems to happen with method calls on variables 09:37
where the variable somehow cannot be resolved
setting up a $*R before the call to .compile, makes it bomb inside that resolver it seems 09:38
my $*R := RakuAST::Resolver.new(:global(GLOBAL), :context($eval_ctx)); 09:40
still I think that just indicates that the resolver inside the EVAL isn't seeing its own known variables for some reason 09:41
shorter golf: 09:50
m: say Q|++$_|.AST
camelia RakuAST::StatementList.new(
RakuAST::Statement::Expression.new(
expression => RakuAST::ApplyPrefix.new(
prefix => RakuAST::Prefix.new("++"),
operand => RakuAST::Var::Lexical.new("\$_")
)
)
)
lizmat m: say Q|$_++|.AST
camelia ===SORRY!=== Error while compiling
Confused
------> $_++⏏<EOL>
lizmat so it feels something's amiss with ApplyPostfix that isn't amiss with ApplyPrefix
brb
10:46 linkable6 left, evalable6 left 10:49 evalable6 joined 10:50 linkable6 joined
lizmat hmmm., traced it down to line 900 in Actions: if nqp::istype($postfix, RakuAST::Postfixish) { 11:05
fails even though the $postfix is a RakuAST::Postfix
12:00 reportable6 left 12:01 reportable6 joined 12:22 jgaz left
Geth rakudo/main: f581d020c6 | (Elizabeth Mattijsen)++ | src/Raku/Actions.nqp
RakuAST: fix .AST not handing method calls on variables

This turned out to be caused by RakuAST::Methodish not having been properly resolved at .AST time. So resolve it properly by wrapping it in a self.r() call in the Actions.
12:56
lizmat nine: ^^ found it :-)
13:22 evalable6 left, linkable6 left 13:23 evalable6 joined, linkable6 joined
Geth rakudo/main: c5b917db1d | (Elizabeth Mattijsen)++ | 4 files
RakuAST: var declaration can now handle traits

When called as RakuAST::VarDeclaration::Simple. The grammar never directly sets any traits, but manual building ASTs probably will.
Also fix .raku and deparsing, and add a test.
13:45
rakudo/main: 0557d83472 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Deparse.pm6
RakuAST: fix deparsing of ::Parameter

  - traits were not included
  - 'Any' means default, so don't mention that
14:02
jdv patrickb: probably. its been fridays most of my tenure. 14:25
but it varies
Geth rakudo/main: 0fecf561ff | (Elizabeth Mattijsen)++ | 4 files
RakuAST: allow traits to be set with ::Type::Enum

  - fix .raku and deparsing by creating a "clean-clone" method to
   make sure the hidden mixed-in roles are not leaking out.
Note: it feels wrong that the xxxEnumeration roles are first added as traits to the RakuAST:: object, instead of directly to the meta object. But that's for another day.
15:24
16:09 jgaz joined 16:27 kurahaupo left 16:28 kurahaupo joined 17:06 [Coke] left 17:07 [Coke] joined 18:00 reportable6 left 18:03 reportable6 joined
Geth nqp/main: 43e8c520b3 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM to get support for unix domain sockets

  leont++
18:21
rakudo/main: 2eadafa58e | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get support for unix domain sockets

  leont++
18:32
rakudo/main: 6f9bc5b14c | (Leon Timmermans)++ (committed using GitHub Web editor) | src/core.c/IO/Socket/Async.pm6
Add connect-path and listen-path to IO::Socket::Async
18:33
rakudo/main: c452fdbf0a | (Elizabeth Mattijsen)++ | src/core.c/IO/Socket/Async.pm6
Enable IO::Socket::Async.connect/listen-path on MoarVM only

As that's the only backend it will work on, at least for now.
18:51
lizmat so, regarding running roast with 6.e.PREVIEW as default: 19:01
what if we would install another executable / alias (e.g. raku-latest) and have the loading logic check the name and then go for latest in core setting loading? 19:02
then we could pass that as the name to the harness and be done with it? No fudging of roast files needed?
afk& 19:05
[Coke] raku-6e raku-6d raku-latest 19:11
19:15 evalable6 left, linkable6 left 19:17 evalable6 joined, linkable6 joined 21:00 MasterDuke joined 21:06 jgaz left 21:08 jgaz joined
gfldex lizmat: how about `RAKUDO_OVERRIDE_VERSION=6.e.PREVIEW raku your-script-here.raku`. That would make it a general purpose feature. 22:19
And we don't need a dozen executables in 20 years time. 22:21