🦋 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.
Geth Web-Template/main: b7f898ceb3 | (Polgár Márton)++ | 5 files
2.0
00:05
Nemokosch sorry for the spam, I wanted to sort out known issues at least 00:11
Geth rakudo/main: a525e4870e | (Elizabeth Mattijsen)++ | t/12-rakuast/statementprefixes.rakutest
Add another CATCH block test

Which sadly has a todo now for some reason
10:08
rakudo/main: 80241850a1 | (Elizabeth Mattijsen)++ | 2 files
Normalize naming of statementprefixes test file
10:09
rakudo/main: 16bc5008a0 | (Elizabeth Mattijsen)++ | 2 files
Normalize naming of statements test file
10:11
rakudo/main: 5 commits pushed by (Elizabeth Mattijsen)++ 10:16
rakudo/main: c3e81a776a | (Elizabeth Mattijsen)++ | 2 files
Move phaser tests to correct file
10:21
Geth rakudo/main: f0bcdcd2b0 | (Elizabeth Mattijsen)++ | src/Raku/ast/statementprefixes.rakumod
Normalise RakuAST class specifications (5/N)
10:45
nine lizmat: a proper .raku might be nice, but it can wait until RakuAST is done. The scope of this project is large enough as it is :) 11:14
lizmat well, it would help getting more people involved, I think 11:15
and it would basically be just another implementation of RakuAST::Deparse
which could be copy-pasted, and then adapted 11:16
it would help me also writing tests for RakuAST
nine lizmat: IMPL-CHECK is run at CHECK time, except when it isn't, i.e. when BEGIN time effects require it (e.g. when we need to actually run that code)
lizmat ok, so there is no way to create compile time errors out of RakuAST nodes 11:17
ones that would actually show where the error is, I mean
nine If it's a net gain, then of course I'm all for it. It just sounds like a lot of additional effort that could be spent on implementing RakuAST itself
Why isn't there?
lizmat m: use MONKEY; EVAL Q/ ENTER say "hello" /.AST 11:18
camelia No exception handler located for catch
at SETTING::src/core.c/Exception.pm6:570 (/home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.c.setting.moarvm:print_exception)
from SETTING::src/core.c/Exception.pm6:626 (/home/camelia/rakudo-m-inst…
nine I have gotten plenty of proper error messages from RakuAST. Of course there can be cases where something is broken 11:24
lizmat I just wondered if it was a problem or a NYI
m: use MONKEY; EVAL Q/ LEAVE say "goodbye" /.AST
camelia ( no output ) 11:25
lizmat hmmm
m: use MONKEY; EVAL Q/ { LEAVE say "goodbye" } /.AST
camelia goodbye
lizmat m: use MONKEY; EVAL Q/ { ENTER say "hello" } /.AST
camelia No exception handler located for catch
at SETTING::src/core.c/Exception.pm6:570 (/home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.c.setting.moarvm:print_exception)
from SETTING::src/core.c/Exception.pm6:626 (/home/camelia/rakudo-m-inst…
lizmat seems like compunit needs some scope added or checks for phasers added 11:26
nine Ah, that is actually an error while trying to report a missing method. It's trying to create suggestions and fails and then crashes
lizmat what method is missing ? 11:27
nine Oh, wait. It may be a different thing. 11:28
Geth rakudo/main: ed8d70d475 | (Elizabeth Mattijsen)++ | 3 files
Add deparsing and tests for RakuAST::StatementPrefix::Phaser::Leave
11:50
Geth rakudo/main: ee21efd8a4 | (Elizabeth Mattijsen)++ | 2 files
Add tests for RakuAST::StatementPrefix::Phaser::End
12:01
lizmat nine: looks like CHECK and INIT phasers suffer from same 12:03
ah, looks like all of the other thunky phasers suffer from it 12:05
nine Are they even implemented yet? 12:26
Geth XML/support-io-names: 99c5b63748 | (Polgár Márton)++ | 2 files
Support IO::Path as the type of filenames
12:37
lizmat nine: I don't know :-) 12:57
I guess not 12:59
lizmat turns her attention away from phasers for the moment 13:00
nine: if you could spare a mo, could you look at what is obviously wrong with the code in 1e384b2a7c ? 13:03
nine lizmat: well there is nothing that would call IMPL-CHECK on those args. That isn't an issue with literals, but now you're creating something more complex 13:12
lizmat why is IMPL-CHECK needed ? 13:14
nine Because that's what will resolve those names
I'd say have RakuAST::Stub do ImplicitLookup and have it look up X::StubCode itself and pass the result as an arg 13:16
lizmat hmmm... I guess I don't grok ImplicitLookup yet :-) 13:17
lizmat looks
nine lizmat: look at RakuAST::Term::Reduce for an example. PRODUCE-IMPLICIT-LOOKUPS and get-implicit-lookups 13:20
lizmat nine: I seem to have forgotten how to write QAST for a named argument with a QAST that is the value 14:53
vrurg lizmat: Just add :named<param-name> to .new 14:58
lizmat so I have nqp::push( $qast, $value-qast) 15:01
so I guess I need to add the :named to the $value-qast somehow?
could be a WVal, could be an expression, could be whatever you're allowed to give with:
...
or !!! or ??? 15:02
$qast is basically already the "X::Stubcode.new"
aka, I need to change the positional into a namde
*named
Geth XML/support-io-names: 349c1e05fe | (Polgár Márton)++ | 2 files
Fix method call typings
15:15
vrurg lizmat: If you need to change a QAST then $qast.named('name'). 15:17
$!named is an attribute on QAST::Node. Anything what could be an argument could be a named one.
lizmat check! 15:19
Geth XML: 2colours++ created pull request #67:
Support IO::Path filenames
15:22
Geth XML/main: 99c5b63748 | (Polgár Márton)++ | 2 files
Support IO::Path as the type of filenames
15:24
XML/main: 349c1e05fe | (Polgár Márton)++ | 2 files
Fix method call typings
XML/main: a5643f5815 | (Márton Polgár)++ (committed using GitHub Web editor) | 2 files
Merge pull request #67 from raku-community-modules/support-io-names

Support IO::Path filenames
Geth XML/main: e1f48fc262 | (Polgár Márton)++ | 2 files
0.3.3
15:29
Geth rakudo/main: 4b11fea796 | (Elizabeth Mattijsen)++ | 3 files
Implement X::Stub correctly

  - by having it call die/warn/fail with an X::StubCode object
  - only use implict lookups, no other classes
  - generate QAST directly
  - remove a lot of now dead code and comments
  - simplify deparsing (no "real-args" needed anymore)
... (6 more lines)
16:06
nine lizmat: if it causes test regressions, why do you push it? 16:30
lizmat because I was happy to see have it pass the stub tests, and because it gained two files in "make test" 16:36
I will now work on helper module that will keep track of regressions, so that you can easily know what files we lost 16:37
nine And who will fix those regressions? 16:41
lizmat I will 16:42
nine: we did establish that we cannot create proper compile time errors from RakuAST::Node classes, right? 16:43
lizmat if anytihing, we would need to provide some sanity-check in the action, and if failed, create a worry there 16:44
nine No, we didn't.
See RakuAST::Resolver's add-sorry and add-worry 16:46
lizmat but those can only be run at CHECK time ?
I mean, when the action does a Raku::Heredoc.new(....) it doesn't have a resolver, so how would that be able to do an "add-worry' ? 16:47
nine Why shouldn't it have a resolver?
Or rather what errors would that throw? 16:48
lizmat well, for improperly indenting your heredoc 16:49
q:to/FOO/\nbar\n FOO
nine Isn't that a CHECK time thing?
lizmat nope, it isn't atm
nine The old frontend not being a good example for anything is the reason why we completely rewrite it 16:50
lizmat Potential difficulties:
Asked to remove 4 spaces, but the shortest indent is 0 spaces
at /Users/liz/Github/rakudo/3:5
------> FOO⏏
hmmm... looks it *is* check time 16:52
ok, will look at check time again :-) 16:53
ok, the verdict is in: looks like my change *gained* two make spectest files and lost 4 16:54
nine I get 618 passing before and 614 passing after the change 16:55
lizmat I get 616 16:56
going to check each fail / pass now separately 16:57
nine And the error is that you're assuming that an ArgList object will always contain args, which is just not true.
lizmat aha... ok 16:58
testing a fix now 16:59
Geth rakudo/main: 56705f35c6 | (Elizabeth Mattijsen)++ | 2 files
Fix regression

Caused by the erroneous assumption that an ArgList would always contain at least one element.
Brings us to 101/138 and.... 620/1355
17:17
lizmat nine ^^
dinner&
Geth XML/main: 8b075d9d57 | (Polgár Márton)++ | 15 files
rakufication of content
17:46
XML/main: 3887476d70 | (Polgár Márton)++ | 20 files
Rakufying file extensions
XML/main: 8429634926 | (Polgár Márton)++ | META6.json
fix META6.json with the new file extensions
17:51
Geth rakudo/main: 5b8f0fe9dd | (Elizabeth Mattijsen)++ | src/core.c/Int.pm6
Oops, empty line snuck in
18:52
rakudo/main: 1c966e570b | (Elizabeth Mattijsen)++ | t/12-rakuast/TODO
These classes are already being tested

or cannot be tested as they're base classes
19:03
lizmat which brings us to 49 RakuAST classes still needing to have tests
afk again& 19:06
[Coke] nine++ lizmat++ 19:54