🦋 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. |
|||
07:01
sena_kun joined
|
|||
Geth | rakudo/main: 52 commits pushed by (Jonathan Worthington)++, (Stefan Seifert)++ review: github.com/rakudo/rakudo/compare/a...3c85e7818a |
08:03 | |
nine | So, back on fixing spectests :) | 08:04 | |
Btw. I did a bit of benchmarking compilation of NativeCall. rakuast-phase-cleanup brings RakuAST compilation time back down to that of the old frontend with the optimizer disabled albeit with about 5 % lower memory usage than the old one. | 08:05 | ||
lizmat | that's really nice! | 08:06 | |
nine | I'd say that this is a good position to be in, considering that with RakuAST we do things during the actual compile phase that the old frontend leaves to the optimizer and that so far I have not cared about compilation performance at all. | 08:07 | |
lizmat | right! | 08:13 | |
on optimizations: | 09:16 | ||
m: say Q|foo()|.AST | |||
camelia | ===SORRY!=== Error while compiling EVAL_0 Undeclared routine: foo used at line 1 |
||
lizmat | I feel that that error is too early: surely one should be able to build synthetic ASTs this way without that error ? | 09:17 | |
nine: aka , that check should go in later, do you agree? | |||
nine | That error is thrown at CHECK time which is quite appropriate for...well checks | 09:35 | |
lizmat | sure, but we do allow this: | 09:37 | |
m: my &foo; foo() | |||
camelia | No such method 'CALL-ME' for invocant of type 'Callable' in block <unit> at <tmp> line 1 |
||
lizmat | anyways, it's an annoyance | 09:38 | |
perhaps we need to have a way to call .AST and tell it not do CHECKs | 09:39 | ||
Geth | rakudo/main: 87065a329d | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod RakuAST: fix inadvertent cyrring of Whatevers when it should only be WhateverCode |
10:07 | |
lizmat | ooh... I missed the merge! | 10:08 | |
t/12-rakuast/highlight.rakutest fails for me, is that correct ? | 10:26 | ||
ah only first time: suspect some precomp issue | 10:27 | ||
1068! :-) | 10:38 | ||
MasterDuke | nine++ | 15:26 | |
ab5tract | m: Q|my &foo; foo()|.AST.say | 16:55 | |
camelia | RakuAST::StatementList.new( RakuAST::Statement::Expression.new( expression => RakuAST::VarDeclaration::Simple.new( sigil => "\&", desigilname => RakuAST::Name.from-identifier("foo") ) ), RakuAST::Statement… |
||
ab5tract | lizmat: I must be missing something, because it seems fine to me | 16:56 | |
Surely it shouldn’t be possible to call a routine before it’s been declared? | 16:57 | ||
If it’s about generating the ast of the call to use synthetically, one should still expect to be required to obey the rules of the language when doing so? | 16:58 | ||
m: my &foo; Q|foo()|.AST.say | 16:59 | ||
camelia | RakuAST::StatementList.new( RakuAST::Statement::Expression.new( expression => RakuAST::Call::Name.new( name => RakuAST::Name.from-identifier("foo") ) ) ) |
||
ab5tract | Important to consider as well, as has been discussed previously, there’s not even a guarantee that .AST survives into general release | 17:01 | |
lizmat | well, whatever .AST will be replaced with | 17:12 | |
because as a developer, it's really helpful | 17:13 | ||
nine | I bet there will be something to get an AST out of a string, probably with replacements/quasis. But all of that is macro land. We'll think about it when we get there | 17:34 | |
19:06
rypervenche left,
rypervenche joined
|
|||
Geth | rakudo/fix-precomp-build: 6f0201a6c8 | (Patrick Böker)++ | azure-pipelines.yml Fix precomp build mirrorlist.centos.org is discontinued. serverfault.com/a/1161847 |
20:46 | |
rakudo/fix-precomp-build: ba0a144a6b | (Patrick Böker)++ | azure-pipelines.yml Fix precomp build mirrorlist.centos.org is discontinued. serverfault.com/a/1161847 |
20:55 | ||
rakudo/fix-precomp-build: 410e54eaeb | (Patrick Böker)++ | azure-pipelines.yml Fix precomp build mirrorlist.centos.org is discontinued. serverfault.com/a/1161847 |
20:58 | ||
21:20
sena_kun left
|
|||
Geth | rakudo/fix-precomp-build: 47e8ff8480 | (Patrick Böker)++ | 2 files Fix precomp build mirrorlist.centos.org is discontinued. serverfault.com/a/1161847 |
21:25 | |
rakudo/fix-precomp-build: 0b21441d4f | (Patrick Böker)++ | 2 files Fix precomp build mirrorlist.centos.org is discontinued. serverfault.com/a/1161847 |
21:28 | ||
rakudo: patrickbkr++ created pull request #5614: Fix precomp build |
21:35 | ||
patrickb | I've finally managed to do the precomp builds. The files are currently uploading. | 22:02 | |
ab5tract | m: my %h; %h<array>.push: %( i => "d", a => %( b => "c" ), d => %( e => "f" )); say from-json(to-json(%h))<array>[0]; say %h ~~ %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" ))] ) # why? | 22:49 | |
camelia | {a => {b => c}, d => {e => f}, i => d} False |
||
ab5tract | m: my %h; %h<array>.push: %( i => "d", a => %( b => "c" ), d => %( e => "f" )); say from-json(to-json(%h))<array>[0]; say %h ~~ %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" ))] ); %h<array>[0] ~~ %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" ))] )<array>[0] | 22:50 | |
camelia | {a => {b => c}, d => {e => f}, i => d} False |
||
ab5tract | m: my %h; %h<array>.push: %( i => "d", a => %( b => "c" ), d => %( e => "f" )); say from-json(to-json(%h))<array>[0]; say %h ~~ %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" ))] ); say %h<array>[0] ~~ my $piece = %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" ))] )<array>[0]; dd :$piece | ||
camelia | {a => {b => c}, d => {e => f}, i => d} :piece(:d(${:e("f")})) False True |
||
ab5tract | see #raku for the JSON-ification problematics | 22:51 | |
Encountering issues like these while trying to prepare a showcase for Raku amongst colleagues is disheartening, I cannot lie | 22:53 | ||
I guess it’s just a Thing That Is, but I find having a Significant Trailing Comma to be as annoying or more so than when trailing commas are grammatically illegal | 23:20 | ||
m: my %h; %h<array>.push: %( i => "d", a => %( b => "c" ), d => %( e => "f" )); say from-json(to-json(%h))<array>[0];Â say %h ~~ %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" )),] ); say %h<array> ~~ my $piece = %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" ))] )<array>; dd :$piece | |||
camelia | {a => {b => c}, d => {e => f}, i => d} :piece($[:a(${:b("c")}), :d(${:e("f")}), :i("d")]) True False |
||
ab5tract | Argg, paste error | ||
m: my %h; %h<array>.push: %( i => "d", a => %( b => "c" ), d => %( e => "f" )); say from-json(to-json(%h))<array>[0];Â say %h ~~ %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" )),] ); say %h<array> ~~ my $piece = %( array => [ %( i => "d", a => %( b => "c" ), d => %( e => "f" )),] )<array>; dd :$piece | |||
camelia | {a => {b => c}, d => {e => f}, i => d} :piece($[{:a(${:b("c")}), :d(${:e("f")}), :i("d")},]) True True |
||
ab5tract | Still unclear to me why this would result in the JSON parser pretending like there isn’t a hash declared as an element of the array.. maybe that will be more clear by morning | 23:22 | |
It’s probably slipping when it “shouldn’t” (maybe there is a good reason that I’ll understand later) | 23:30 |