🦋 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:01
reportable6 joined
00:38
ab5tract left
00:54
discord-raku-bot left,
discord-raku-bot joined
01:23
NemokoschKiwi joined,
NemokoschKiwi left
01:43
NemokoschKiwi joined
01:54
NemokoschKiwi left,
discord-raku-bot left,
discord-raku-bot joined
02:03
discord-raku-bot left,
discord-raku-bot joined
02:08
discord-raku-bot left,
discord-raku-bot joined
02:10
japhb left
02:18
japhb joined
03:18
discord-raku-bot left
03:19
discord-raku-bot joined
|
|||
jaguart | I note that `rakudo\src\Perl6\Metamodel\ParametricRoleGroupHOW.nqp` has `auth` and `ver` methods but no `api` - even though you can `$x.^candidates.map(*.^api)` - would it be presumptuous to put in a PR? | 04:36 | |
04:37
jaguart joined
05:04
epony joined
06:00
reportable6 left
06:02
reportable6 joined
06:54
discord-raku-bot left
06:55
discord-raku-bot joined
06:59
discord-raku-bot left,
discord-raku-bot joined
07:00
samcv left
|
|||
nine | makes sense | 07:30 | |
07:54
discord-raku-bot left
07:55
discord-raku-bot joined
08:32
sena_kun joined
08:55
discord-raku-bot left,
discord-raku-bot joined
|
|||
lizmat | nine: I think I'm gonna take a stab at implementing the missing phasers | 09:13 | |
nine | lizmat: cool! I think the existing LEAVE phaser support should make that quite straight forward | 09:18 | |
lizmat | I was thinking the same thing | ||
09:22
ab5tract joined
09:33
ab5tract left
10:19
ab5tract joined
10:32
ab5tract left
10:38
discord-raku-bot left,
discord-raku-bot joined
11:32
discord-raku-bot left,
discord-raku-bot joined
11:41
ab5tract joined
11:50
dogbert11 joined
11:53
dogbert17 left
|
|||
Geth | rakudo/main: b1234bcc33 | (Elizabeth Mattijsen)++ | src/Raku/ast/term.rakumod Normalise RakuAST class specifications (6/N) |
11:56 | |
11:57
dogbert17 joined
12:00
dogbert11 left,
reportable6 left
12:02
dogbert11 joined
12:03
reportable6 joined,
dogbert17 left
12:06
ab5tract left
|
|||
Geth | rakudo/main: 454507c0e6 | (Elizabeth Mattijsen)++ | src/Raku/ast/term.rakumod Add RakuAST::Term::(True|False) Just a shortcut, for ease of use and clarity of intent |
12:08 | |
rakudo/main: 672ac1849f | (Elizabeth Mattijsen)++ | t/12-rakuast/statement-phaser.rakutest Refine the LEAVE phaser tests Making sure that the LEAVE phaser runs *after* the block has completed. Also implicitely add tests for RakuAST::Term::(True|False) |
|||
12:08
ab5tract joined
12:34
ab5tract left
13:38
discord-raku-bot left,
discord-raku-bot joined
14:38
discord-raku-bot left,
discord-raku-bot joined
14:45
codesections left
14:54
Altai-man joined
14:58
sena_kun left
|
|||
lizmat | nine: shouldn't a use of "temp" not also set the has_exit-handler flag on a block ? | 15:33 | |
nine | Err....could be? I never claimed to understand any of this :D But if the old frontend does it, we should do it, too | 15:41 | |
lizmat | ok, will check the old frontend :-) | 15:45 | |
16:03
ab5tract joined
16:13
ab5tract left
16:38
discord-raku-bot left,
discord-raku-bot joined
16:46
ab5tract joined
17:05
ab5tract left
17:06
ab5tract joined
|
|||
Geth | roast: 3279fed5b7 | (Stefan Seifert)++ | S02-lexical-conventions/comments.t Fix error in comment test The test originally used dies_ok and that passed as the code actually dies. But it does not do so for the reason it was meant to. Instead of the invalid comment syntax, it died because of the undeclared variable. A refactor to move away from dies_ok (for precicely this reason) then made the wrong test explicit. Fix the test and the expected result to what it was actually meant to test. |
17:09 | |
roast: 19094ab96f | (Stefan Seifert)++ | S12-construction/destruction.t Fix more spurious failures in destructor tests Destructors may run at any time and concurrently. Protect the @destructor_order array from concurrent modification using a lock. Apparently the previous assumption that the WHERE of an object was stable when we already decided to destroy it was wrong. So instead rely on default stringification to give a unique and stable identifier (as Rakudo uses nqp::objectid for constructing the stringification) |
|||
17:20
ab5tract left
|
|||
nine | Have run that test in a loop for 20 minutes now without a failure. Seem to have finally made it | 17:20 | |
lizmat | nine++ | 17:30 | |
nine: does this ring a bell? | 17:31 | ||
No such method 'trace' for invocant of type | |||
'RakuAST::StatementPrefix::Phaser::Next | |||
I added the RakuAST::StatementPrefix::Phaser::Next class, is there something else that needs to be done? | |||
NEXT and LAST phasers don't require any code addition to the block afaik, apart having them added as phasers | 17:32 | ||
nine | That means you have a non-statement in a StatementList | 17:34 | |
lizmat | hmmm | 17:36 | |
ack | 17:37 | ||
yup! | 17:38 | ||
18:00
reportable6 left
18:02
reportable6 joined
|
|||
Geth | rakudo/main: 35b6b6d6be | (Elizabeth Mattijsen)++ | 6 files Implement support and tests for NEXT and LAST phasers - Added tokens in Grammar - Added methods in Actions - RakuAST::StatementPrefix::(Next|Last) classes added - Slight refactor of RakuAST::ScopePhaser to prevent repetition - Deparsing support added - Tests added |
18:04 | |
lizmat | m: TEMP { say "temp" } | 18:19 | |
camelia | ( no output ) | ||
lizmat | I wonder if this is intentional or not | ||
there's apparently grammar support for a TEMP phaser | |||
but it doesn't do anything | 18:20 | ||
the practical effect is that *anything* in a TEMP phaser is actually eradicated from the generated bytecode | |||
but *is* actually parsed and checked for completeness | 18:21 | ||
m: TEMP { sat "temp" } | |||
camelia | ===SORRY!=== Error while compiling <tmp> Undeclared routine: sat used at line 1. Did you mean 'set', 'say'? |
||
lizmat | m: TEMP { $a } | ||
camelia | ===SORRY!=== Error while compiling <tmp> Variable '$a' is not declared. Perhaps you forgot a 'sub' if this was intended to be part of a signature? at <tmp>:1 ------> TEMP { ⏏$a } |
||
japhb | .oO( Obfuscated code contest, here we come ... ) |
18:22 | |
lizmat | there are even tests for it apparently | 18:23 | |
t/spec/S04-blocks-and-statements/temp.t | |||
dinner& | |||
18:48
dogbert17 joined
18:50
dogbert11 left
18:52
epony left
|
|||
nine | "You can also modify the behaviour of temporized code structures, by giving them a TEMP block. As with .TEMP methods, this block is expected to return a closure, which will be executed at the end of the temporizing scope to restore the subroutine to its pre-temp state" | 18:55 | |
Has never been implemented. Like the TEMP method | 18:56 | ||
18:57
ab5tract joined
|
|||
Nemokosch | where did you find it? | 18:57 | |
19:03
squashable6 left
19:05
squashable6 joined
19:09
notna joined
|
|||
nine | design.raku.org/S06.html#Temporization | 19:32 | |
lizmat | "Note that dynamic variables may be a better solution than temporized globals in the face of multithreading." | 19:44 | |
so I was tempted to implement it, but I think I won't after that notion | 19:45 | ||
however, I find the current behaviour of the TEMP phaser interesting | |||
in that it would allow you to keep code around, that would actually not make it into a precomp | 19:46 | ||
but rename it to IGNORE | |||
if you want to get rid of a statement temporarily, you could simply prefix it with IGNORE | 19:48 | ||
japhb | "Commenting out" turned up to 11? | 19:55 | |
lizmat | yup | ||
japhb | Oh, I guess you said it actually does syntax check the insides though, so it wouldn't help people trying to silence incomplete code. Although I guess IGNORE followed by wrapping in a heredoc .... | 19:56 | |
lizmat | what I like about IGNORE still checking the inside, is that it makes sure the syntax stays correct | 19:57 | |
japhb | nodnod | 20:00 | |
It is a useful case. | |||
And I know a number of times that I've commented out code, refactored around it, and then found that uncommenting results in a new syntax error, so ... use case confirmed, I guess. :-) | 20:01 | ||
lizmat | yep, been there, done that | ||
Geth | rakudo/lizmat-IGNORE: 0f61de61bf | (Elizabeth Mattijsen)++ | src/Perl6/Grammar.nqp Introduce the IGNORE phaser This phaser will allow you to have the *runtime* completely ignore a statement or a block. Any code inside the IGNORE phaser **will** be checked for syntax and legality, but will **not** cause any bytecode to be generated. This allows a developer to de-activate code (semi-)permanently, while ensuring that the code inside this phaser remains in sync with the rest of the code (which would not be the case if the de-activated code would live on as comments). |
20:16 | |
rakudo: lizmat++ created pull request #5161: Introduce the IGNORE phaser |
|||
20:27
linkable6 left,
evalable6 left,
evalable6 joined
20:28
linkable6 joined
20:30
Altai-man left,
Altai-man joined
|
|||
notna | Hi Devs. Who knows how the "Rakudo Star Bundle MacOS .dmg disk image file" on rakudo.org/star/macos was build in the past? | 20:43 | |
Any script or "how-to" somewhere, which I could start from? | |||
21:26
notna left
21:38
discord-raku-bot left
21:39
discord-raku-bot joined
|
|||
patrickb | notna: I seem to recall, that rba once built the DMG images. (Or was it Coke?) | 21:52 | |
tellable6 | patrickb, I'll pass your message to notna | ||
21:54
Altai-man left
|
|||
[Coke] | wasn't me | 22:28 | |
22:35
samcv joined
23:51
codesections joined
|