🦋 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:29
epony left
02:38
epony joined
05:04
[Coke]_ joined,
[Coke] left
05:44
Kaiepi left
06:00
reportable6 left
06:03
reportable6 joined
07:03
greppable6 left,
evalable6 left,
bloatable6 left,
coverable6 left,
committable6 left,
statisfiable6 left,
releasable6 left,
bisectable6 left,
benchable6 left,
unicodable6 left,
notable6 left,
sourceable6 left,
squashable6 left,
quotable6 left,
nativecallable6 left,
reportable6 left,
tellable6 left,
linkable6 left,
shareable6 left,
bloatable6 joined,
statisfiable6 joined
07:04
committable6 joined,
tellable6 joined,
evalable6 joined,
releasable6 joined,
greppable6 joined,
linkable6 joined,
shareable6 joined
07:05
notable6 joined,
quotable6 joined,
reportable6 joined,
nativecallable6 joined,
benchable6 joined,
coverable6 joined,
squashable6 joined
07:06
sourceable6 joined,
bisectable6 joined,
unicodable6 joined
09:26
sena_kun joined
10:05
sena_kun left
10:10
sena_kun joined,
sena_kun left
10:44
Kaiepi joined
11:09
sena_kun joined
12:00
reportable6 left
|
|||
Geth | rakudo/main: 683648cd51 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Deparse.pm6 Fix some deparsing issues - add support for Signature.returns - don't parenthesize calls to: say, note, return, emit as these are generally put in code without parentheses - add a subclassable 'dont-parenthesize' method, which is expected to return an Associative with the names of the subs to not put () around their args - make sure a trailing } is not parenthesized with an end-of-line inbetween |
12:01 | |
rakudo/main: 468bdb2836 | (Elizabeth Mattijsen)++ | t/12-rakuast/code.rakutest Add deparsing tests for code |
|||
12:02
reportable6 joined
|
|||
nine | "don't parenthesize calls to: say, note, return, emit as these" I think that's a pointless complication of the code. The point of deparse is _not_ to reproduce the input. | 12:04 | |
"don't parenthesize calls to: say, note, return, emit as these" I think that's a pointless complication of the code. The point of deparse is _not_ to reproduce the input. | 12:05 | ||
lizmat | nine: how do you see things like Raku::Tidy evolve then ? | 12:07 | |
nine | That will want to overwrite many of the standard deparsing functions anyway to cater to different preferences. | 12:13 | |
lizmat | well, which subs to not parenthesize, is now configurable by subclass | 12:14 | |
It's going to be hard enough to make a Raku::Tidy, so why make it more difficult? | 12:15 | ||
I mean, the deparsing already made decisions on deparsing with indents of 4 spaces, instead of a tab | 12:16 | ||
(which is also customizable already, mind you) | |||
and having a space after a comma in a list | |||
etc. | 12:17 | ||
nine | What is the job of deparse in the setting? | 12:19 | |
lizmat | Good question, it appears we have different ideas about it | 12:20 | |
1. provide a round-trippable version of an AST | |||
2. provide a representation of an AST for debugging / module developers wanting to use RakuAST | 12:21 | ||
3. provide a customizable interface for ASTs for code tidying | 12:22 | ||
that would be my list of goals there | |||
you seem to have added: 4. provide source representation of regexes | |||
inside the setting, as a regex apparently carries around its source representation | |||
nine | m: Q/say(1,2),3/.AST.DEPARSE.say | 12:25 | |
camelia | say 1, 2, 3 |
||
nine | And it's wrong | ||
lizmat | ok, fair point | 12:31 | |
will remove the dont-parenthesize feature | |||
although the example is... a bit artificial :-) | 12:32 | ||
nine | Well, deparse doesn't have to do many things, but create correct code is definitely one of them. | 12:34 | |
lizmat | true | 12:35 | |
Nemokosch | well the parens could be put differently, for what it's worth 😛 | 12:41 | |
and regarding syntax, that's actually more descriptive. Lisp masterrace | |||
Geth | nqp/main: aa7fbea48c | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION Bump MoarVM to get Unicode 15.0 support Kudos to thundergnat++ |
12:42 | |
Nemokosch | is it okay for implementation-details to leak into core? | 12:49 | |
is it okay for implementation-details to leak into core? | 12:50 | ||
like SignedBlob and UnsignedBlob in this particular case | |||
lizmat | i'd say, yes? | ||
they're marked "implementation-detail", right ? | |||
Nemokosch | yes | ||
lizmat | that basically means that there was no way to hide these from you, and that's why they're marked as such | 12:51 | |
Nemokosch | is there something (other than the source) that tells a user user this, should they come across it for whatever reason? | 12:52 | |
nine | I'm not even sure if these two should be marked implementation-detail. Doing that was basically avoiding to make that decision. | ||
Nemokosch | I was about to say they should be documented when I noticed that they are marked implementation-detail | 12:53 | |
lizmat | I would be fine with documenting them, as nine said: they were marked as implementation-detail as a sort of soft "experimental" | 12:57 | |
and apart from documenting, they would also need spectests then | 12:58 | ||
12:59
guifa left
13:00
guifa joined
|
|||
Geth | rakudo/main: 42823691eb | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION Bump NQP to get support for Unicode 15.0 on MoarVM Kudos to thundergnat++ |
13:00 | |
nine | Unless of course someone has a better idea on how to support signedness in blobs and bufs. I just went with what worked for me. I didn't think about language design or other lofty goals. | ||
Nemokosch | Could the gist method give you that kind of hint that you are dealing with an implementation-detail? | 13:02 | |
Geth | tap-harness6/master: 8 commits pushed by (Leon Timmermans)++
|
13:51 | |
rakudo/main: 37826798b4 | thundergnat++ (committed by Elizabeth Mattijsen) | 4 files Upgrade Rakudo tests to Unicode 15.0 This is a manual merge of github.com/rakudo/rakudo/pull/5150 which was sadly based on the master branch. |
13:58 | ||
roast: d413f43e9e | thundergnat++ (committed using GitHub Web editor) | 61 files Update to Unicode 15.0 |
13:59 | ||
rakudo/main: 47ec76bdec | (Elizabeth Mattijsen)++ | t/09-moar/UnipropCheck.rakumod Adapt new boundary values |
14:10 | ||
lizmat | and that should conclude Rakudo's upgrade to Unicode 15 | 14:12 | |
14:12
epony left
|
|||
lizmat | supporting 5327 new codepoints, 7 new scripts, 57 new emojis and 4193 (Chinese, Japanase, Korean) new ideographs | 14:15 | |
unicode.org/versions/Unicode14.0.0/ and unicode.org/versions/Unicode15.0.0/ | |||
14:22
epony joined
|
|||
Geth | rakudo/main: 6a04f8f59a | (Elizabeth Mattijsen)++ | 2 files Remove dont-parenthesize feature from deparsing Omitting parentheses should be done at a higher abstraction level: this approach was too simple and could cause unparseable code. |
14:44 | |
rakudo/main: 43298c90e0 | (Elizabeth Mattijsen)++ | t/12-rakuast/contextualizer.rakutest Add deparsing tests for contextualizers |
14:50 | ||
15:25
Kaiepi left
15:32
Kaiepi joined
|
|||
Geth | rakudo/main: 90df8d8164 | (Elizabeth Mattijsen)++ | t/12-rakuast/regex.rakutest Add deparse tests for regexes |
15:35 | |
16:05
melezhik joined
16:15
melezhik left
16:21
epony left
16:22
epony joined
16:27
sena_kun left
|
|||
Geth | rakudo/main: 0b0d4ecbc9 | (Elizabeth Mattijsen)++ | 2 files Added tests for RakuAST::StatementModifier::When Also removed RakuAST::StatementModifier::Condition and RakuAST::StatementModifier::Loop from the TODO list, as these don't exist on their own, being a base class and all |
16:37 | |
17:08
epony left
17:10
epony joined
17:12
sena_kun joined
18:00
reportable6 left
18:03
reportable6 joined
|
|||
Geth | rakudo/main: 08f3995e04 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Deparse.pm6 Make sure that statements deparse with any attached labels Sadly, actual runtime support for labels appears to not work yet |
19:21 | |
rakudo/main: 83fb251848 | (Elizabeth Mattijsen)++ | 2 files Add tests for RakuAST::Statement::Empty Also remove RakuAST::StatementModifier::For::Thunk from the TODO list, as this appears to be some flag that appears only in .AST output, but does not appear to be necessary otherwise in manually built ASTs |
|||
rakudo/main: 1adc2ab1e5 | (Elizabeth Mattijsen)++ | src/Raku/ast/base.rakumod Make IMPL-UNWRAP-LIST handle non-Listy things By dropping them into a nqp::list. This should make manual specification of RakuAST nodes a bit more user-friendly, you wouldn't need to wrap them into a [foo] or (foo,) if you only have a single thing to add Please revert if this is considered to be a bad idea. |
19:48 | ||
rakudo/main: 16cc1702eb | (Elizabeth Mattijsen)++ | src/Raku/ast/statements.rakumod Normalise RakuAST class specifications In the sense that all roles are mentioned *under* the class specification, each on their own line. This at least makes reading these a lot easier for *me*. No functional changes. Please revert if you think it's a bad idea. |
20:30 | ||
rakudo/main: a6ee8bce9e | (Elizabeth Mattijsen)++ | src/Raku/ast/statements.rakumod RakuAST::Statement::Use can also take labels |
21:00 | ||
rakudo/main: 86c0f401d0 | (Elizabeth Mattijsen)++ | t/12-rakuast/label.rakutest Add extensive RakuAST::Label tests Make sure that deparsing works as expected. Sadly, only the RakuAST::Statement::Loop classes produce executable code. All of the other ones cause an issue in MAST production: Object of type Label in QAST::Var value, but not in SC These tests have been disabled in the meantime |
|||
rakudo/main: 3439c9adfb | (Elizabeth Mattijsen)++ | 3 files Normalize TAP output to use Str instead of DEPARSE As the EVAL is using Str in that case, not an AST node |
21:02 | ||
rakudo/main: 54984602c0 | (Elizabeth Mattijsen)++ | 2 files Implement deparse support for RakuAST::FunctionInfix Also remove some other classes from the TODO that are deemed to be untestable by themselves |
21:24 | ||
rakudo/main: 436e0d876e | (Elizabeth Mattijsen)++ | t/12-rakuast/operators.rakutest Add basic test for RakuAST::FunctionInfix |
|||
lizmat | and that concludes my hacking for today& | 21:28 | |
22:11
discord-raku-bot left,
discord-raku-bot joined
22:29
discord-raku-bot left
22:30
discord-raku-bot joined
22:53
discord-raku-bot left,
discord-raku-bot joined
23:35
vrurg_ is now known as vrurg
23:37
sena_kun left
23:49
hythm left
|