🦋 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:02 reportable6 joined 00:39 hythm left 01:00 hythm joined 01:06 codesections left
elcaro I added some comments. Trying not to blog post too hard in a PR comment 🤐 01:14
nemokosch well, I don't hold back, it multiplies 01:58
on a positive note, it's MUCH faster to read it than to write it 02:01
:d
_elcaro_ I think I hit most the points I wanted to... So I won't add more (yet?) I just wanted to offer a semi-opposing viewpoint. You are clearly passionate about Raku, and quite vocal, so more opinions are needed to gauge community sentiment. 02:11
03:03 linkable6 left, evalable6 left 03:04 evalable6 joined, linkable6 joined 04:04 benchable6 left, squashable6 left, unicodable6 left, tellable6 left, notable6 left, reportable6 left, evalable6 left, committable6 left, linkable6 left, statisfiable6 left, bloatable6 left, releasable6 left, reportable6 joined, unicodable6 joined 04:05 committable6 joined, statisfiable6 joined, releasable6 joined, tellable6 joined, squashable6 joined, linkable6 joined 04:06 benchable6 joined, evalable6 joined 04:07 notable6 joined, bloatable6 joined 04:23 hythm left 04:46 raiph left 05:24 jgaz left 06:00 reportable6 left 06:02 reportable6 joined 07:23 kjp left 07:27 kjp joined 07:44 squashable6 left 07:46 squashable6 joined
nemokosch I'm rolling out this many arguments and elaborate them in the hope that this is a universal language that won't just get wiped away. Counter-arguments and showing evidence that disproves an argument is more than welcome but I really hope it won't be cast as "just an opinion"... 09:15
nine lizmat: what do you need the bare WVal for? If I have a value that should be referenced by the AST I use RakuAST::Declaration::External::Constant 09:51
lizmat Slang::Roman Slang::Date 09:52
in the legacy grammar, they return a QAST::WVal 09:54
well, Slang::Date does, Slang::Roman a QAST::IVal 09:55
anyways, RakuAST::Constant allows an easy interface now that also makes it easy to provide custom deparsing logic 09:56
nine Yes, sounds like constants or literals
lizmat so that 0rXXXXII will deparse as 0rXXXXII instead of 42
12:00 reportable6 left
ab5tract m: Q| dd my class { has $.z is default(42) where * == 42 }.new.z | .AST.EVAL 12:01
camelia ===SORRY!=== Error while compiling
Confused
------> dd my class { has $.z is default(42)⏏ where * == 42 }.new.z
lizmat is default not working on attributes yet ? 12:02
ab5tract or is it choking on the presence of the where clause?
12:03 reportable6 joined
ab5tract m: Q| dd BEGIN (* == 42)(42) | .AST.EVAL 12:03
camelia ===SORRY!===
Unknown compilation input 'qast'
lizmat m: Q| class { has $.z is default(42); }|.AST
camelia ( no output )
lizmat m: Q| class { has $.z is default(42) where * == 42; }|.AST
camelia ===SORRY!=== Error while compiling
Confused
------> class { has $.z is default(42)⏏ where * == 42; }
lizmat looks like the where clause not being anticipated yet ? 12:04
ab5tract looks like it..
nine: I don't know if this is a good use case for figuring out the begin time stuff, but currently we can't WhateverCode at BEGIN time 12:08
12:12 codesections joined
Geth nqp/main: 6d03c11077 | (Patrick Böker)++ | azure-pipelines.yml
Bump MacOS and Linux Images

Replicates
  github.com/rakudo/rakudo/commit/ff...4e33acb6e2
and
  github.com/rakudo/rakudo/commit/09...d207be9afa
12:26
rakudo/main: 75c615c4c6 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: add vetPerlForSyntax rule

To make it easier on slang builders (specifically Slang::Otherwise) and to improve readability of the statement:sym<for> rule.
12:41
12:55 codesections left 14:15 raiph joined
ugexe github.com/rakudo/rakudo/blob/75c6...od#L28-L34 14:39
is it a good idea to have a public method that when called changes the underlying type of an attribute that is used elsewhere? 14:40
it seems kind of racey 14:42
lizmat it does
ugexe what im particularly interested in at the moment is if its racey in a way that could result in having an undefined value at some point (even if only briefly) when it should have a value 14:44
i'm thinking probably not, since the problem i'm looking at also shows up for auth-matcher but that method isn't racey in this way 14:45
use Zef:ver($?DISTRIBUTION.meta<version>):api($?DISTRIBUTION.meta<api>):auth($?DISTRIBUTION.meta<auth>); 14:47
use Zef::Client:ver(Zef.^ver):api(Zef.^api):auth(Zef.^auth);
it could also be something related to how i do imports
but --ll-exception doesn't give any additional information about where its happening :(
oh i think i understand now 14:52
the problem is indeed related to that !stringify method
gah nevermind. i thought with using -Ilib (which uses Distribution::Hash) that maybe we were setting the ver and auth fields to '', but we only do that for auth. in that sense !stringify is busted for auth. however, i also see this error happening with version 14:55
oh, maybe because i'm doing `use Zef:ver($?DISTRIBUTION.meta<version>`, and Distribution::Hash / -Ilib doesn't have a version key (just ver in this case) 14:57
so auth is broken because of !stringify, and version is broken because one of the Distribution objects doesn't normalize all the same fields as some of the other distribution objects
its a bit unfortunate that in a META6.json the name 'version' is better than 'ver', but we use 'ver' in code i.e. `use Foo:ver<1>`, `MyFoo.^ver`, etc 15:01
15:04 jgaz joined
ugexe doh, `raku -e 'my $cr = CompUnit::Repository::FileSystem.new(prefix => $*CWD.add("lib")); say $cr.distribution.meta<ver>'` shows "*" (for the zef repo) which means that we do normalize version/ver, so back to the drawing board 15:12
looks like there is still leftover lock::soft or whatever code in the CURs github.com/rakudo/rakudo/blob/75c6...d#L94-L108 15:32
15:50 squashable6 left 15:52 squashable6 joined 17:34 codesections joined 19:00 codesections left 19:09 hythm joined 19:18 raiph left 20:53 hythm left
Geth rakudo: ab5tract++ created pull request #5392:
RakuAST: Fix more WhateverCode combinations
21:01
21:16 ab5tract left 21:17 ab5tract joined
ab5tract that should be +1 spectest from that PR 21:44
21:56 codesections joined 22:22 codesections left 22:30 codesections joined 23:30 AlexDaniel joined