🦋 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 00:01 reportable6 joined 01:23 coverable6 left, linkable6 left, evalable6 left, unicodable6 left, notable6 left, benchable6 left, bloatable6 left, shareable6 left, greppable6 left, nativecallable6 left, releasable6 left 01:24 bloatable6 joined, releasable6 joined 01:25 evalable6 joined, coverable6 joined, linkable6 joined, notable6 joined, greppable6 joined, shareable6 joined 01:26 nativecallable6 joined, unicodable6 joined, benchable6 joined 01:37 sivoais left 02:08 sivoais joined 02:30 nine left 02:32 nine joined 02:35 Guest10 joined, Guest10 is now known as XliffMac 02:38 jacob_c joined 02:41 jacob_c left 02:47 XliffMac left 02:49 sivoais left 03:41 kjp left 03:49 sivoais joined 04:16 kjp joined 05:36 benchable6 left, statisfiable6 left, coverable6 left, tellable6 left, quotable6 left, squashable6 left, bloatable6 left, evalable6 left, committable6 left, sourceable6 left, reportable6 left, bisectable6 left, unicodable6 left, notable6 left, shareable6 left, linkable6 left, releasable6 left, greppable6 left, nativecallable6 left 05:37 unicodable6 joined, notable6 joined, shareable6 joined, sivoais left, reportable6 joined, coverable6 joined, benchable6 joined, quotable6 joined, nativecallable6 joined, greppable6 joined, statisfiable6 joined 05:38 tellable6 joined, linkable6 joined, releasable6 joined, sourceable6 joined, evalable6 joined, squashable6 joined 05:39 committable6 joined, bisectable6 joined, bloatable6 joined 06:00 reportable6 left 06:01 reportable6 joined 06:39 sivoais joined 06:44 sivoais left 07:29 sivoais joined
Geth rakudo/main: c5599481c0 | (Stefan Seifert)++ | 3 files
RakuAST: support .= initializers
09:52
lizmat nine: looks like this borked t/12-rakuast/var.rakutest 10:40
constant foo = "bar"
No such method 'IMPL-COMPILE-TIME-VALUE' for invocant of type
'RakuAST::StrLiteral'
investigating
Ah, it looks like the initializer now *must* be a RakuAST::Initializer 10:43
and cannot be something as simple as a StrLiteral ?
hmmm... that's odd: StrLiteral -> Literal -> CompileTimeValue 10:45
m: say Q|constant foo = "bar"|.AST.DEPARSE 10:57
camelia constant foo = = "bar"
lizmat nine: ^^ I think codegenning constants with Initializer::Assign is wrong ?
I mean, shouldn't that be at least Initializer::Bind ? 10:59
Geth rakudo/main: be633ca0c3 | (Elizabeth Mattijsen)++ | 2 files
RakuAST: add .rake/deparse support for RakuAST::Initializer::CallAssign
11:21
tbrowder__ note i just changed a windows.yml test for one of my many failing windows modules to use rakudo version 2022.07 and it's now passing. 11:33
12:00 reportable6 left 12:01 reportable6 joined
Geth rakudo/main: c843b6f996 | (Elizabeth Mattijsen)++ | 2 files
RakuAST: adapt tests/deparsing to new reality

with regards to constant initializers
12:22
tbrowder__ i think the TAP problem needs some serious love--it's bad publicity for Raku. i hang out a lot on the debian users list and pitch Raku when i can. i get lots of push back when i say it's ready for production. bad testing for windows on github doesn't help. 12:25
lizmat tbrowder__: I can only agree... but we don't have enough people doing Windows :-( 12:50
Geth rakudo/main: e08b201dd3 | (Elizabeth Mattijsen)++ | 3 files
RakuAST: add .raku support for RakuAST::RuleDeclaration

This one is a little more troublesome, as it needs to remove the RakuAST::Regex::WithSigspace entries from the tree before an actual
  .raku representation can be made.
This also adds a RakuAST::Regex::QuantifiedAtom.replace-atom method as the atom can also have a RakuAST::Regex::WithSigspace in it.
Also make sure RakuAST::Regex::WithSigspace correctly deparses with an additional space behind it.
12:59
lizmat aka: the subtle difference between "rule foo { \d+ }" and "rule foo { \d + }" 13:00
nine: this just handles the .raku: still to do is to *add* the RakuAST::Regex::WithSigspace for rules in RakuAST module space, rather than in grammar/action space 13:02
afk&
tbrowder__ lizmat: is it possible, for windows only as an interim solution, to change TAP to have a mode where it execute tests sequentially or else test in another way? 13:06
just in case parallelism is the problem?
lizmat TEST_JOBS=1
tbrowder__ ah, right! i’ll see if i can fudge a yml file. thnx 13:08
lizmat really afk& 13:10
13:50 linkable6 left, evalable6 left, linkable6 joined 13:53 evalable6 joined
tbrowder__ ok, i have a windows.yml file that uses TEST_JOBS=1 (in yaml / github workflows format) that works. 14:00
next problem is how to get the same job to add system requirements for windows? example: linux prereqs for PDF::Lite requires libfreetype6-dev. how do i put that in a workflow for windows? 14:03
ah, i see docs on github... 14:13
choclatey may be the answer 14:16
15:09 nine4 joined
nine4 Apparently PDF::Lite doesn't declare that dependency on libfreetype6 at all 15:10
15:17 nine4 left, nine71 joined 15:20 nine71 left
tbrowder__ yes, that's one problem, issue was filed some days ago. 15:50
i just released a module "Windows::Test" i will use as a test bed for Win64 testing and asking anyone to give me a link to a module that fails using it. i want to see if i can modify the github windows vm to override some testing problems. 15:53
Geth rakudo/main: 591157170d | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Raku.pm6
RakuAST: the atoms collector doesn't need to be dynamic
16:18
16:20 linkable6 left, evalable6 left 16:22 evalable6 joined 16:23 linkable6 joined 16:37 sivoais left 17:09 sivoais joined 17:14 sivoais left 17:19 sivoais joined
Geth rakudo/main: 3b0adfa43d | (Elizabeth Mattijsen)++ | 5 files
RakuAST: rework deparsing of regexes

Since a trailing space on an atom can have meaning when :sigspace is active, we cannot deparse regexes always with spaces around them. This is a conservative approach that may change in the future if we've found another way to make sure that the semantics of a deparsed regular expression does not differ from the AST.
This required a lot of changes with tests.
17:47
18:00 reportable6 left, reportable6 joined
Geth rakudo/main: 837a2eb87b | (Elizabeth Mattijsen)++ | 3 files
RakuAST: Adhere to the convention that .replace-xxx returns Nil
18:20
ugexe I won’t make it back home for like 15 more minutes; dunno if I’ll catch the end of the rsc meeting or not 19:03
nevermind, its an hour later today so ill be there 19:29
19:57 jacob_c joined
Geth rakudo/lizmat-do: 3da9a5a728 | (Elizabeth Mattijsen)++ | 2 files
Introduce Any.do(&)

Similar to Kotlin's apply, and basically the same as Supply.do already does, but now for any value. Calls the given Callable with the invocant as the topic. Usually executed for its side-effects.
   $ raku -e 'my $a = 42; dd a.do: { .say; .Num }'
   42
   42e0
Inspired by a conversation with jnthn
20:49
rakudo: lizmat++ created pull request #5234:
Introduce Any.do(&)
japhb lizmat: Does that work for undefined and non-concrete values as well? (I was thinking "How is this different from a usage perspective from 'do with a', but then remembered that the latter construction wouldn't do undefineds.) 20:53
gfldex m: my $a; $a.&{ .say; .Num }; 21:05
camelia (Any)
No such method 'Num' for invocant of type 'Any'. Did you mean 'sum'?
in block <unit> at <tmp> line 1
gfldex m: my $a = 42; $a.&{ .say; .Num };
camelia 42
gfldex Do we really need do? :->
gfldex .oO( With this PR, it's do-able in Raku! ) 21:06
Nemokosch yes, it already existed.. 21:48
22:07 ab5tract left
Geth rakudo/lizmat-do: cbd3c8fed5 | (Elizabeth Mattijsen)++ | 3 files
Got the semantics wrong: supposed to return the invocant

Also, make this a s.e feature.
22:36
lizmat 5.e :-(
sleep&