🦋 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 | rakudo/string-repo-id: c1742f045b | (Nick Logan)++ | 2 files Ensure path-spec is a Str |
02:45 | |
rakudo: ugexe++ created pull request #5621: Ensure path-spec is a Str |
02:49 | ||
rakudo/main: c1742f045b | (Nick Logan)++ | 2 files Ensure path-spec is a Str |
06:45 | ||
rakudo/main: 233fe99ebe | niner++ (committed using GitHub Web editor) | 2 files Merge pull request #5621 from rakudo/string-repo-id Ensure path-spec is a Str |
|||
07:51
sena_kun joined
08:02
sena_kun left
|
|||
Geth | rakudo/main: ed1c48a53d | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod RakuAST: warn about precedence issues with range operator Warns about |4.. 5 and ~4.. 5 |
09:33 | |
rakudo/main: dfd2ccdaa2 | (Stefan Seifert)++ | 3 files RakuAST: promote worries to sorries in scopes where fatal is active Makes use fatal; { |4.. 5} throw at compile time |
|||
rakudo/main: d87bd876ff | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod RakuAST: warn about precedence issues with reversed range operator Warns about |4 R.. 5 and ~4 R.. 5 |
|||
lizmat | 1102 for me | 10:34 | |
I wonder whether the failing test for me could be related to the fact on Apple silicon we don't have any JIT | 10:35 | ||
so I wonder what your result would be with the JIT disabled | |||
nine | But it passes even for you when run individually and it's still not JITing then | 10:39 | |
lizmat | hmmm true | 10:44 | |
ab5tract | I always nuke *.moar before running tests, not sure if that could have anything to do with it.. | 10:51 | |
Maybe slowly expanding upwards in the test hierarchy to see if there’s some sort of freaky interdependence on a previous test? | 10:52 | ||
Though I assume you run spectests concurrently, so dependent ordering shouldn’t really be a thing anyway | 10:53 | ||
lizmat: I’ll give it a run on my Mac and see what happens | 10:54 | ||
lizmat | is it an Intel or a Apple Silicon Mac ? | ||
*an | |||
ok, this is getting weird: | 10:56 | ||
t/spec/S26-documentation/07a-tables.rakudo.moar (Wstat: 0 Tests: 77 Failed: 0) | |||
TODO passed: 42 | |||
however, if I run it manually it fails that TODOd test | 10:57 | ||
oops, my bad... it does pass | |||
so, it looks like there's quite a number of test files that pass TODOd tests (and all other tests) but are marked as failures | 10:58 | ||
at least 3: S26-documentation/07a-tables, S26-documentation/08-formattingcode.t S26-documentation/09-configuration.t | 11:02 | ||
oops, my bad (again): they are already ok | 11:03 | ||
they're just listed at the end... which put me on a false trail | 11:04 | ||
lizmat goes back to hacking on App::Rak and associated modules | |||
Geth | rakudo/main: d9037aea5f | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod RakuAST: fix chaining of smartmatches In many cases we can compile a smartmatch just like a normal infix. Even more, we have to do so to allow for chaining smart matches. Fixes 0 ~~ 0 ~~ 0 Fixes 0 ~~ 0 ~~ /0/ |
11:19 | |
rakudo/main: cd1aae8989 | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod RakuAST: fix chaining of negated meta operators Sadly we have to remove the shortcut as it interferes with chaining. Fixes 3 !> 3 !> 1 |
|||
rakudo/main: f340f39edd | (Stefan Seifert)++ | src/Raku/ast/circumfix.rakumod RakuAST: have parentheses break up operator chains Fixes ($x =:= $x) ~~ Bool |
|||
nine | And that's 1106 | ||
lizmat | 1104 for me: t/spec/S02-names-vars/names.t flapped | 11:27 | |
running again | 11:28 | ||
it unflapped | 11:32 | ||
so 1105 for me | 11:33 | ||
11:42
MasterDuke left
|
|||
lizmat | Meh, can't synthetically create a whatevercode yet | 11:52 | |
nine | What do you mean? | 12:01 | |
lizmat | m: say Q|*.Str|.AST | 12:04 | |
camelia | RakuAST::StatementList.new( RakuAST::Statement::Expression.new( expression => RakuAST::ApplyPostfix.new( operand => RakuAST::WhateverCode::Argument.new, postfix => RakuAST::Call::Method.new( name => RakuAST::Name.fr… |
||
lizmat | operand => RakuAST::WhateverCode::Argument.new | ||
nine | That looks correct? | ||
lizmat | it needs more info to when *not* generated from the grammar | 12:05 | |
aka: the .raku representation is incomplete, but I don't know how to make that complete | |||
nine | Oh, you mean something like assembling a curried expression completely manually? | 12:07 | |
lizmat | yes | ||
nine | What's the point? Currying is just a syntactic shortcut. It exists because typing { $_.Str } is boring, so we can just write *.Str instead. If you're creating an AST, you'll have to type a lot anyway, so you may as well create that RakuAST::Block the curried expression represents | 12:08 | |
lizmat | well, that's what I'm doing now :-) | 12:10 | |
and actually, it's not a lot of typing, it is a lot of copy-pasting | 12:11 | ||
thanks to .AST | |||
nine | Oh darn....seems like I'm gonna have to implement "Useless use" warnings now | 12:22 | |
That goes about as badly as I expected :D | 13:58 | ||
But surprisingly the prep work actually already makes a test file pass. | 14:16 | ||
Prep work being propagating sink information into expressions | |||
lizmat | oooh... didn't realize we weren't doing that already | 14:17 | |
nine | No, only statements so far as that's what we need to know whether to generate a p6sink op | 14:18 | |
15:05
dawids joined
|
|||
Geth | rakudo/main: bac1ee8f61 | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod RakuAST: fix short-circuiting of ^^ and xor Xor is different to other iffy infixes in that it can only short-circuit a possible third argument when chaining. Thus we must not compile chained xor as a set of nested calls to infix:<xor> and instead have to compile it to an xor op with all operands. Furthermore to get a Nil as falsey result, we need to add that as an additional argument. Fixes 1 ^^ 2 ^^ say "no!" |
15:15 | |
rakudo/main: c3c6e4585f | (Stefan Seifert)++ | 2 files RakuAST: propagate sink context into expressions Will be used for "Useless use of ... in sink context" warnings. |
|||
rakudo/main: 4cfc790075 | (Stefan Seifert)++ | src/Raku/ast/literals.rakumod RakuAST: warn about literals being used in sink context |
|||
lizmat | 1107! | 15:31 | |
16:26
sena_kun joined
|
|||
nine | 11081109 | 16:27 | |
Geth | rakudo/main: 10297c640e | (Stefan Seifert)++ | src/Raku/Grammar.nqp RakuAST: fix exceptions thrown by the grammar missing additional info While the <.foo: ...> syntax may be more eye pleasing, it's not actually possible to pass named arguments with this syntax. Instead those args are silently swallowed. Switch to {self.foo: ...} instead. |
||
rakudo/main: bc16b3c246 | (Stefan Seifert)++ | src/Raku/Actions.nqp RakuAST: throw proper error when adverbing things that can't be adverbed Fixes 3 :foo to throw the correct exception |
|||
rakudo/main: 191787bb4d | (Stefan Seifert)++ | src/Raku/Grammar.nqp RakuAST: throw proper error when trying to meta the ternary operator Fixes: 1 R?? 2 !! 3 |
|||
nine | 1109 | 16:28 | |
lizmat | confirmed minus 1 :-) | 17:24 | |
nine | Wow....got a test that reproducably segfaults | 17:28 | |
lizmat | nice! | 17:29 | |
jdv | love a segfault. i got perl to kick one sans xs recently. good times. | ||
much easier with raku, unfortunately. | 17:30 | ||
nine | A frame without a static frame | 17:33 | |
lizmat | .oO( I was not properly framed! ) |
17:40 | |
jdv | shame | 17:42 | |
nine | Shortest segfault in quite a while: RAKUDO_RAKUAST=1 ./rakudo-m -e '() ~~ :()' | 17:53 | |
jdv | thats an impressive golf of a segfault | 17:55 | |
17:56
dawids left
|
|||
lizmat | confirmed | 17:56 | |
on Apple Silicon | |||
nine | Smartmatch (p6invokeunder to be precise) assumes hat a Signature always has a $!code object. Apparently the old compiler adds a stub there. | 17:59 | |
I meant p6isbindable | 18:00 | ||
Geth | rakudo/main: f6b628f346 | (Stefan Seifert)++ | src/Raku/ast/signature.rakumod RakuAST: fix segfault trying to smartmatch a signature p6isbindable requires a Signature to have an associated code object |
18:54 | |
21:55
sena_kun left
23:12
MasterDuke joined
|