🦋 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:03
ab5tract left
00:31
epony left
01:05
opoku joined
01:57
Kaipei left
02:29
ab5tract joined
|
|||
Geth | rakudo: thundergnat++ created pull request #5150: Update to Unicode 15.0 |
02:37 | |
02:39
ab5tract left,
epony joined
02:40
ab5tract joined
|
|||
Geth | roast: thundergnat++ created pull request #825: Update to Unicode 15.0 |
03:00 | |
03:24
opoku left
03:36
ab5tract left
03:37
ab5tract joined
03:48
ab5tract left,
ab5tract joined
03:54
ab5tract left
03:55
ab5tract joined
04:00
ab5tract left
06:00
reportable6 left
06:01
reportable6 joined
06:14
kjp left
06:17
kjp joined
06:34
epony left
07:03
epony joined
|
|||
Geth | nqp/main: da9c50361d | (Patrick Böker)++ | Configure.pl Don't errors without git but all needed files are present |
07:53 | |
nqp/main: 82d55d68bb | (Patrick Böker)++ (committed using GitHub Web editor) | Configure.pl Merge pull request #791 from patrickbkr/no-git-configure Don't error without git but all needed files are present |
|||
rakudo/main: e3e962c2f9 | (Patrick Böker)++ | Configure.pl Don't errors without git but all needed files are present |
07:54 | ||
rakudo/main: 178a774fe5 | (Patrick Böker)++ (committed using GitHub Web editor) | Configure.pl Merge pull request #5149 from patrickbkr/no-git-configure Don't error without git but all needed files are present |
|||
08:03
linkable6 left,
evalable6 left
08:06
linkable6 joined,
evalable6 joined
09:30
samebchase left
09:31
samebchase joined
09:39
Kaipei joined
09:47
sena_kun joined
12:00
reportable6 left
12:01
reportable6 joined
|
|||
lizmat | I wonder whether we should move RakluAST::Deparse to lib | 12:56 | |
and have RakuAST::Node.DEPARSE require that file | 12:57 | ||
with 200 classes currently having deparsing logic and more than 200 to go still | 12:58 | ||
ugexe | how do we decide what goes in lib/ and what goes in the core anyway | 12:59 | |
lizmat | well, that's a more general issue | ||
ugexe | i thought we had some vague reasoning already, but maybe not | ||
main thing i can think of is the potential uninstall-ability / upgradability of things in lib/ | 13:00 | ||
lizmat | in this case, moving it transparently to lib would be easy as all access is handled through the RakuAST::Node.DEPARSE method | ||
practical issue is I'm not sure how to require a module in lib from the "Raku/ast sorta Raku but not quite and really nqp" land | 13:01 | ||
practically, it would mean not having to re-compile the whole core for RakuAST::Deparse development | 13:02 | ||
which would save like 30+ seconds for each fix / test | |||
Geth | rakudo/main: 19b3757ec3 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Deparse.pm6 Part 2 of HLLizing RakuAST::Deparse - also made sure the methods are in alphabetical order for better search in a soon to be 50K+ / 1700+ cloc file, which will at least double in size yet - added visual markers to guide entry of newer .deparse candidates at the right location |
13:04 | |
lizmat | nine: in the Perl6 grammar, 42.WHAT codegens to a nqp::what(42) | 13:23 | |
in the Raku Grammar it codegens to a method call .WHAT | 13:24 | ||
same for .HOW | |||
is this intentional, or is this a codegen issue in Raku grammar / actions ? | 13:25 | ||
and same for .WHO | 13:26 | ||
and DEFINITE | 13:27 | ||
nine | I guess just NYI special cases. | ||
lizmat | ok, so it's just a matter of fixing the IMPL-TO-QAST method ? | 13:28 | |
nine | Yes. | 13:29 | |
lizmat | and .REPR | ||
ok | |||
I'll put that on my list :-) | |||
nine | About moving Deparse to lib, you can get the same development benefits by implementing it in lib and then moving the working code to the setting. Don't have to use lib as permanent location for that | 13:30 | |
Oh, and DEPARSE is also used by RakuAST, so it will have to be in core | |||
lizmat | ah? | 13:31 | |
Ah, I see | |||
src/Raku/ast/code.rakumod | |||
1443:nqp::bindattr_s($regex, Regex, '$!source', self.DEPARSE); | |||
ok, that settles that question then :-) | 13:32 | ||
Geth | rakudo/main: 5abd89601f | (Elizabeth Mattijsen)++ | 2 files Add deparsing tests to calls Before, we checked only whether the deparsed code would roundtrip. This adds checks to see if the deparsed code actually looks like something we're expecting. Found some issues with .WHAT macroish method calls, so these are marked TODO. |
13:39 | |
lizmat | nine: also looks like "42.REPR(666)" is legal in Raku grammar.. :-) | 13:50 | |
will also look at fixing that | |||
nine | I wonder if these macros really should become a different RakuAST node. They are very different beasts from regular method calls. That problem with arguments is an example of that. The difference in deparsing another one. | 13:52 | |
lizmat | yeah, that may be a better solution | ||
so fix the grammar to catch these, and create different RakuAST nodes for them | |||
check | |||
nine | yes, that's what I'm thinking | 13:53 | |
Then passing an arg there would become a syntax error | |||
lizmat | hmmm.. actually, Call::Method already has a IMPL-SPECIAL-OP method that returns the op name for a given method name | 13:54 | |
looks like there is code for it already in Call::Method | |||
nine | Yes, the alternative to what I just suggested would be to catch those args in the check phase | ||
The SPECIAL-OPS hash was introduced by jnthn, so we can assume that at least at that point he was sure those should be RakuAST::Call::Method nodes | 13:56 | ||
lizmat | ok, so now we need to figure out why they don't fire | 13:57 | |
ah, but maybe they do: a deparse with --target=ast wouldn't reveal that, or would it ? | |||
nine | no, it wouldn't | 13:58 | |
lizmat | right... ok, it looks what is just missing, is the check for args in the grammar, and the deparsing | 13:59 | |
nine | Not in the grammar, in PERFORM-CHECK in RakuAST::Call::Method | 14:00 | |
lizmat | aha, ok :-) | 14:01 | |
afk for a few hours& | 14:13 | ||
14:20
ab5tract joined
14:22
ab5tract left
14:23
ab5tract joined
|
|||
Geth | rakudo: 2colours++ created pull request #5151: "numeric comparisons" with coercion rather than overload |
14:34 | |
rakudo: 2colours++ created pull request #5152: Dateish "numeric comparisons" pt 2 |
14:43 | ||
17:22
melezhik joined
17:24
melezhik left
17:28
melezhik joined
17:34
melezhik left
18:00
reportable6 left
18:01
reportable6 joined
|
|||
Geth | rakudo/main: 4a6c5541b8 | (Stefan Seifert)++ | src/Raku/ast/scoping.rakumod RakuAST: also merge NQP package stubs |
18:02 | |
18:04
Geth left,
Geth joined
18:17
discord-raku-bot left
18:18
discord-raku-bot joined
18:36
discord-raku-bot left,
discord-raku-bot joined
|
|||
[Coke] | github.com/Raku/nqp/issues/59 - someone want to comment "you can't do that in NQP" so I can close this old ticket? :) | 18:38 | |
(that I opened in 2012) | |||
nqp: class EEK {method Numeric() {return 3}}; my $a:= EEK.new(); say(+$a); | 18:39 | ||
camelia | Cannot intify object of type EEK at src/vm/moar/ModuleLoader.nqp:130 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/ModuleLoader.moarvm:) from <tmp>:1 (<ephemeral file>:<mainline>) from NQP::src/HLL/Compiler.nqp:196 (/home/camelia/rakudo-m-inst-2/sha… |
||
[Coke] | nqp: class EEK {method Numeric() {return 3}}; my $a:= EEK.new(); say($a.Numeric); | ||
camelia | 3 | ||
18:40
discord-raku-bot left,
discord-raku-bot joined
|
|||
[Coke] | This was a partcl blocker back in ancient history | 18:40 | |
19:25
ab5tract left,
ab5tract joined
|
|||
lizmat | nine: so I added a PERFORM-CHECK method to RakuAST::Call::Method, but it is not getting called | 19:39 | |
should it be registered somewhere ? | |||
thoughts? | 19:41 | ||
nine | is RakuAST::CheckTime | 19:43 | |
lizmat | ack | 19:45 | |
20:11
hythm left
20:34
ab5tract left
20:35
ab5tract joined
|
|||
Geth | rakudo/main: 123ad032ed | (Elizabeth Mattijsen)++ | 3 files Fix deparsing of macroish method calls - introduce a RakuAST::Call::Method.macroish method - adapt deparsing of RakuAST::Call::Method accordingly - introduce a RakuAST::ArgList.has-args method - introduce CHECK testing and sorry if macroish && has-args - unTODO now passing tests Note: the error message appears to lack file and line number, but I think that's still just NYI at this moment |
20:53 | |
lizmat | nine: ^^ suggestions for improvements ? | 20:54 | |
nine | Instead of the shortname method you could just use self.name.canonicalize | 21:07 | |
Geth | rakudo/main: 8b9fb402b9 | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod RakuAST: Fix attribute accessor putting a non-statement into statement list Need to wrap the RakuAST::Var::Lexical in a RakuAST::Statement::Expression |
21:08 | |
rakudo/main: 2279a0aed7 | (Stefan Seifert)++ | 3 files RakuAST: implement tracing execution (use trace) |
|||
nine | 88 passing test and 601 passing spectest files | 21:09 | |
japhb | lizmat++ nine++ | 21:23 | |
21:33
ab5tract left
21:34
ab5tract joined
21:47
sena_kun left
21:48
sena_kun joined
21:52
Kaipei left,
Kaipei joined
22:21
ab5tract left
22:26
sena_kun left
|