🦋 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:12 MasterDuke joined
MasterDuke . 02:15
tellable6 2024-03-17T13:10:53Z #raku-dev <lizmat> MasterDuke you broke the build of NQP on MacOS
2024-03-17T13:12:12Z #raku-dev <lizmat> MasterDuke and thus the build of Rakudo :-(
2024-03-17T13:15:02Z #raku-dev <lizmat> MasterDuke: gist.github.com/lizmat/16321bbfe4a...ef87c97467 02:16
MasterDuke lizmat: doh. i got so excited i figured it out i pushed without even thinking about other platform. it also broke on windows. my bad 02:17
vrurg: is there a way to do platform-dependent stuff in the makefile template? 02:18
vrurg MasterDuke: not sure. Let me see.
Ah, of course! 02:19
MasterDuke or is there a way to get make to check the modification times of the sources files instead of the generated file?
vrurg @if(platform!=windows
Generated files must depend on the sources they're made of. 02:20
And they do, unless something is missing.
Check for receipts with GEN_CAT 02:21
02:22 MasterDuke48 joined
MasterDuke48 ugh, /me is annoyed with this usb wifi adapter 02:22
vrurg Have you seen my replies? 02:23
MasterDuke48 hm. i'm not sure what you mean by 'check for receipts'?
have you seen what happened yesterday+today?
vrurg Makefile receipt is the commands a target is executing to be fulfilled. 02:24
02:24 MasterDuke left
vrurg No, I barely follow IRC these days. 02:24
MasterDuke48 github.com/Raku/nqp/blob/main/tool...#L137-L141 runs every time you `make test`. it recompiles P5QREGEX 02:25
because it GEN_CATs the files and so of course the new file has a newer modification date and gets recompiled. i tried to fix this by `touch`ing the generated file's modification date to the newest of the sources files 02:27
vrurg Ah, this part. Well, back then when I was implementing the templates, it was confusing me too. I tried to closely reproduce the previous makefile approach. It's likely that it was always they way it is.
Touching is a very bad idea. 02:28
MasterDuke48 but if there's a way to get make to rely on the modification dates of the source files instead of the generated file i wouldn't have to do that
vrurg It has to depend on other files. One just must find out which ones exactly. Maybe I overlooked something and added something extra? 02:45
What I see is that it (for moar backend) depends on nqp-m and nqp.moarvm. 02:48
Perhaps this is what triggers rebuilds?
MasterDuke48: Try removing @bsm(NQP)@ in Makefile-backend-common.in. It also worth replacing @bpm(BUILD_RUNNER)@ with @bpm(BUILD_RUNNER_BIN)@. 02:51
Though the latter is anyway depends on BUILD_RUNNER, but it's more reliable to have direct dependency on what the actual recepipt is using. 02:52
MasterDuke48 that seems to be working... 02:54
vrurg Good. It was giving me some headaches back then, I was happy to get it working somehow. :) 02:57
03:20 kjp left 03:23 kjp joined
Geth nqp: MasterDuke17++ created pull request #815:
Don't (re)compile P5QREGEX every time test are run
03:30
07:42 MasterDuke48 left 07:49 sena_kun joined
Geth rakudo/main: cf474c929a | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/MethodContainer.nqp
Streamline Metamodel::MethodContainer role

  - change for loops into while loops where possible
  - abstract error handling into separate method
  - reduce null checks, they appear to not be necessary
  - simplify "handles" check
  - simplify caching logic
  - abstract method introspection logic into a sub
09:39
rakudo/main: ae5262543c | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/PrivateMethodContainer.nqp
Streamline Metamodel::PrivateMethodContainer
09:56
lizmat greppable: @!multi_methods_to_incorporate 10:54
greppable6 lizmat, Found nothing!
11:13 sjn left, sjn joined
Geth rakudo/main: 9395af5d88 | (Elizabeth Mattijsen)++ | t/harness6
Unbreak t/harness

It was broken since fa9cd8ef55 and nobody noticed :-(
11:26
lizmat greppable6: add_multi_method 11:36
greppable6 lizmat, 20 lines, 5 modules: gist.github.com/9923394219340854b4...06255227a3
12:34 Geth left 12:35 Geth joined
Geth rakudo/main: 57c929695d | (Elizabeth Mattijsen)++ | 2 files
Add a Metamodel::Locking role

This provides a "protect" method that will ensure that any code given will be executed by one thread at a time for a given metamodel class instance.
This just adds the logic, it is not being used anywhere yet.
12:35
rakudo/main: a55e7fd033 | (Elizabeth Mattijsen)++ | 2 files
Apply locking to Metamodel::Composing role
12:36
Template6: paultcochrane++ created pull request #29:
Link to initial mention of Template Toolkit in README
12:54
Template6/main: 2106f47656 | (Paul Cochrane)++ (committed using GitHub Web editor) | lib/Template6.rakumod
Link to initial mention of Template Toolkit in README (#29)

  ... so that it's easier to navigate to the relevant background
information when reading the README online.
12:55
Template6: paultcochrane++ created pull request #30:
Link to internal modules mentioned in README
13:06
Template6/main: 3bbe60033e | (Paul Cochrane)++ (committed using GitHub Web editor) | lib/Template6.rakumod
Link to internal modules mentioned in README (#30)

  ... so that it's easier to navigate to the relevant file when viewing
the README online.
13:13
Template6: paultcochrane++ created pull request #31:
Format code-like text as code in README
13:16
Template6/main: ed33ac13e8 | (Paul Cochrane)++ (committed using GitHub Web editor) | lib/Template6.rakumod
Format code-like text as code in README (#31)

  ... so that it stands out in the docs more obviously as code and thus
the context is implicitly clearer when reading the docs.
13:19
rakudo/main: dce688d43a | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/Configuration.nqp
Streamline Metamodel::Configuration

  - centralize/optimize null state
  - use more ternaries
13:47
rakudo/main: 7ab1bba3b6 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/Concretization.nqp
Move Metamodel::Concretization to use ::Locking
14:03
rakudo/main: 68628fe35b | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/ParametricRoleHOW.nqp
Move Metamodel::ParametricRoleHOW to use ::Locking
rakudo/main: cf46bd5ecd | (Elizabeth Mattijsen)++ | 4 files
Move Metamodel::C3MRO to use ::Locking

And added ::Locking role to classes that now need it
14:30
rakudo/main: 20fbb0f106 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/MetaMethodContainer.nqp
Move Metamodel::MetaMethodContainer to use ::Locking
14:43
rakudo/main: 67c3b6628d | (Elizabeth Mattijsen)++ | 2 files
Ensure Metamodel::MethodContainer uses protection

Also make sure Metamodel::EnumHOW does the ::Locking role, as it's also a consumer of Metamodel::MethodContainer
15:05
rakudo/main: be990a2ea1 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/PrivateMethodContainer.nqp
Ensure Metamodel::PrivateMethodContainer uses protection
15:19
rakudo/main: efeb9d7742 | (Elizabeth Mattijsen)++ | 3 files
Streamline Metamodel::RolePunning

  - replace flag for "pun made" by nqp::null flag on the $!pun attribute
  - make sure punning uses protection in .pun (.make_pun still free)
  - simplify a lot of logic using nqp::ifnull
Also make sure ::ParametricRoleGroupHOW and ::CurriedRoleHOW know how to protect
16:01
lizmat vrurg: I have good hopes that ^^ fixes a lot crashes with parallel IO 16:03
Geth rakudo/main: b110ebb7bc | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RolePunning.nqp
Can use lexical instead of attribute here
16:21
lizmat notable6: weekly 17:55
notable6 lizmat, 6 notes: gist.github.com/5cdbe41570c540cbd8...cc9d0a6ff2
lizmat notable6: weekly reset 18:09
notable6 lizmat, Moved existing notes to “weekly_2024-03-18T18:09:12Z”
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2024/03/18/2024-...pen-comma/ 18:40
23:45 sena_kun left