lizmat Files=1306, Tests=111378, 215 wallclock secs (29.03 usr 8.17 sys + 3012.49 cusr 277.51 csys = 3327.20 CPU) 07:43
timotimo: which one do you mean specifically?
patrickb Altai-man: This is the raku.org revamp by CIAvash: github.com/Raku/problem-solving/issues/158 08:36
tellable6 patrickb, I'll pass your message to Altai-man_
sena_kun patrickb, thanks, will look at it. 08:39
patrickb sena_kun: The question of "Who has the say" is a very important question with visual designy issues. As such issues are usually very bike-sheddable. So finding / defining a general answer to the "Who" question will prove valuable in the future also. 08:42
sena_kun patrickb, 1)while the ticket is kind of similar (though has a different approach), I'm thinking towards docs.*, examples.* sites design, while I am fine with raku.org. Most likely they don't need to be very similar. As for bike-shedding - I'd say we can choose a couple of design-wise people who can point out things missed, and do 1-3 iterations with them, not allowing everyone pull the blanket as was seen on e.g. rename, not to make this process 08:45
infinite and infinitely expensive.
I mean, reasonable requests like "It misses a favicon, colors should consider color blindness" are awesome, requests like "I don't like these colors, make them lighter, I don't like them, make them darker" are no way. 08:47
That's why it is not a ticket for problem-solving, there is no "official" issue behind.. 08:48
Also, the ticket you mentioned is so, it doesn't describe an "issue", only "We have a new template, what's next?". 08:50
patrickb sena_kun: True, that ticket doesn't belong into problem-solving. 08:53
sena_kun: Also I share your opinion that docs and examples are in need of a design fresh up while raku.org is ok-ish. 08:54
[Tux] Rakudo version 2020.05.1-263-g15961f91b - MoarVM version 2020.05-55-g6c7ee4e8f
csv-ip5xs0.860 - 0.870
csv-ip5xs-207.803 - 8.129
csv-parser26.222 - 27.228
csv-test-xs-200.383 - 0.388
test7.489 - 7.782
test-t1.878 - 1.948
test-t --race0.828 - 0.948
test-t-2030.620 - 31.000
test-t-20 --race9.040 - 9.457
08:56
ShimmerFairy nqp-m: my @a; my int8 $b := 42; nqp::writeint(@a, 0, $b, nqp::const::BINARY_SIZE_16_BIT); say(nqp::atpos(@a, 0)); say(nqp::atpos(@a, 1)); 09:29
camelia (signal SEGV)
ShimmerFairy I know writeint expects a typed array, but I feel like there's a better solution than a segfault (I was wondering if it was just my local copy faulting). 09:30
lizmat m: use nqp; my @a; my int8 $b = 42; nqp::writeint(@a, 0, $b, nqp::const::BINARY_SIZE_16_BIT); say(nqp::atpos(@a, 0)); say(nqp::atpos(@a, 1)); 09:32
camelia This representation (P6opaque) does not support positional access (for type Array)
in block <unit> at <tmp> line 1
ShimmerFairy the same segfault happens if you do my $a := nqp::list() instead, btw.
lizmat I suggest making a MoarVM ticket for it 09:33
(as this is MoarVM specific, as I don't think the JVM backend has writeint yet)
ShimmerFairy Moar and Javascript (which I think leans on Moar, so, yeah) 09:34
jnthn Yeah, that is most certainly a MoarVM bug
JJMerelo There's apparently an XX operator I've found no reference about, except in the 6.d ChangeLog 09:36
tellable6 hey JJMerelo, you have a message: gist.github.com/71dd3f4f4ef22cf5a2...251097545e
JJMerelo m: say "Nested" XX 5
camelia (((Nested 5)))
JJMerelo m: say "Nested" XZ 5 09:37
camelia (((Nested 5)))
JJMerelo m: say "Nested" ZY 5
camelia 5===SORRY!5===
Argument to "say" seems to be malformed
at <tmp>:1
------> 3say7⏏5 "Nested" ZY 5
Two terms in a row
at <tmp>:1
------> 3say 7⏏5"Nested" ZY 5
expecting any of:
infix
infix stopper
JJMerelo m: say "Nested" XY 3
camelia 5===SORRY!5===
Argument to "say" seems to be malformed
at <tmp>:1
------> 3say7⏏5 "Nested" XY 3
Two terms in a row
at <tmp>:1
------> 3say 7⏏5"Nested" XY 3
expecting any of:
infix
infix stopper
JJMerelo m: say <a b c> X <x y z> 09:38
camelia ((a x) (a y) (a z) (b x) (b y) (b z) (c x) (c y) (c z))
JJMerelo m: say <a b c> XX <x y z>
camelia (((a x)) ((a y)) ((a z)) ((b x)) ((b y)) ((b z)) ((c x)) ((c y)) ((c z)))
JJMerelo m: say <a b c> XZ <x y z>
camelia (((a x)) ((a y)) ((a z)) ((b x)) ((b y)) ((b z)) ((c x)) ((c y)) ((c z)))
JJMerelo OK, so it's simple concatenation of operators... 09:38
jnthn JJMerelo: It's the X meta-op 09:39
JJMerelo jnthn right... Thanks.
jnthn don't really get it, though... 09:40
.tell softmoth not really. I really love what you're doing. There's another fork, which is mine, but it does not go any further than the original. 09:41
tellable6 JJMerelo, I'll pass your message to softmoth
JJMerelo OK, I think I get it
m: say X 3
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3say X7⏏5 3
expecting any of:
infix
infix stopper
postfix
statement end
statement modifier
lizmat m: dd <a b c> X~ <d e f>
camelia ("ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf").Seq
lizmat m: dd <a b c> XX <d e f>
camelia ((("a", "d"),).Seq, (("a", "e"),).Seq, (("a", "f"),).Seq, (("b", "d"),).Seq, (("b", "e"),).Seq, (("b", "f"),).Seq, (("c", "d"),).Seq, (("c", "e"),).Seq, (("c", "f"),).Seq).Seq
lizmat not sure what use XX would be, maybe that should produce a warning as it could be confused with xx ? 09:42
JJMerelo Ah, OK
The thing is it's apparently inventing an empty element. 09:43
m: dd <a b c> X <d e f>
camelia (("a", "d"), ("a", "e"), ("a", "f"), ("b", "d"), ("b", "e"), ("b", "f"), ("c", "d"), ("c", "e"), ("c", "f")).Seq
lizmat m: dd +(<a b c> X~ <d e f>)
camelia 9
lizmat m: dd +(<a b c> XX <d e f>)
camelia 9
JJMerelo m: dd <a b>.Seq X <c d> 09:45
camelia (("a", "c"), ("a", "d"), ("b", "c"), ("b", "d")).Seq
JJMerelo m: dd <a b> X <c d>
camelia (("a", "c"), ("a", "d"), ("b", "c"), ("b", "d")).Seq
JJMerelo No idea. Never mind. The existence of XX has been clarified. Thanks! 09:46
m: dd <a b> Xxx (3,4)
camelia (("a", "a", "a").Seq, ("a", "a", "a", "a").Seq, ("b", "b", "b").Seq, ("b", "b", "b", "b").Seq).Seq
jnthn I think you'd need a list of lists on each side for it to make sense.
m: dd [<a b>, <c d>] XX [<e f>, <g h>] 09:47
camelia ((($("a", "b"), $("e", "f")),).Seq, (($("a", "b"), $("g", "h")),).Seq, (($("c", "d"), $("e", "f")),).Seq, (($("c", "d"), $("g", "h")),).Seq).Seq
JJMerelo x: dd ((1,2),3) XX (5,(6,7))
m: dd ((1,2),3) XX (5,(6,7))
camelia (((1, 5), (2, 5)).Seq, ((1, 6), (1, 7), (2, 6), (2, 7)).Seq, ((3, 5),).Seq, ((3, 6), (3, 7)).Seq).Seq
JJMerelo Cool. Cool, cool, cool.
jnthn m: dd (<a b>, <c d>) XX (<e f>, <g h>)
camelia ((("a", "e"), ("a", "f"), ("b", "e"), ("b", "f")).Seq, (("a", "g"), ("a", "h"), ("b", "g"), ("b", "h")).Seq, (("c", "e"), ("c", "f"), ("d", "e"), ("d", "f")).Seq, (("c", "g"), ("c", "h"), ("d", "g"), ("d", "h")).Seq).Seq
jnthn Makes rather more sense without the itemization an array brings :) 09:48
You can see there's you've got <a b> X <e f>, <a b> X <g h>, and so forth.
s/there's/there/ 09:49
JJMerelo jnthn great, thanks. used it as an example :-) 09:51
Geth_ ¦ problem-solving: lizmat assigned to jnthn Issue Managing the Raku project as it is Coming of Age github.com/Raku/problem-solving/issues/203 10:13
Geth rakudo/rakuast: fe783f1b00 | (Jonathan Worthington)++ | 3 files
Compile very basic string literals in RakuAST

This gets a lot of the grammar bits back in place, as well as adding a RakuAST node to model a quoted string with its various segments.
10:24
patrickb lizmat: You dropped a bomb. This PS issue could fundamentally change the atmosphere of the raku project. 11:36
lizmat patrickb: I'm sorry to hear you think I dropped a bomb 11:37
patrickb wait!
That's not meant negative!
lizmat ah, ok *phew*
.oO( the way to hell is paved with good intentions )
11:38
ShimmerFairy I think it's great to make the change now, rather than when there's a bunch more people working and making it harder to organize efforts. 11:45
(And I'm suddenly remembering what it was like leading up to Christmas 2015(?), and how it'd be nice to avoid some of those headaches in the future.) 11:46
Geth nqp-configure: f0e80952c5 | (Sizhe Zhao)++ | lib/NQP/Config.pm
Use the 'Microsoft' keyword to detect nmake.

Since the text after 'Microsoft' might vary in different languages, this fix enables users to build projects that use nqp-configure with a localized nmake.
12:25
nqp-configure: c7aa9d3e75 | (Sizhe Zhao)++ (committed using GitHub Web editor) | 4 files
Merge branch 'master' into nmake-detection-fix
nqp-configure: c61c22c6ea | (Patrick Böker)++ (committed using GitHub Web editor) | lib/NQP/Config.pm
Merge pull request #21 from Prince213/nmake-detection-fix

Use the 'Microsoft' keyword to detect nmake.
12:26
rakudo/rakuast: b43fd03c5f | (Jonathan Worthington)++ | 2 files
Further quote constructs and backslash sequences

May need to revisit exactly how we do these for the sake of the heredoc handling, but for now it unblocks a lot of basic string usage.
12:29
rakudo/rakuast: 32c272a1c9 | (Jonathan Worthington)++ | src/Raku/ast/base.rakumod
Add a very basic dump implementation

So --target=ast shows at least something for RakuAST.
nqp: 015a76d381 | (Daniel Green)++ | tools/templates/MOAR_REVISION
Bump MoarVM for spesh/GC fix
12:44
rakudo: ff1558424b | (Daniel Green)++ | tools/templates/NQP_REVISION
Bump NQP for MoarVM spesh/GC fix
12:47
rakudo/rakuast: 0eaa2e81ee | (Jonathan Worthington)++ | 3 files
Compile unless statement to RakuAST node
12:52
rakudo: 902401b791 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6
Introduce R:It.MatchMatch/MatchStr

  - MatchMatch for producing full blown Match objects from regex / string
  - MatchStr for producing strings from regex / string
13:25
rakudo: 4d1ef59e8b | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Make Str.comb use the new R:It.MatchMatch/MatchStr iterators

  - doesn't do much in terms of performance
  - moved it to the same basic Match iterator scaffolding
  - removed some now unneeded private methods
lizmat afk for a few hours&
travis-ci Rakudo build passed. Daniel Green 'Bump NQP for MoarVM spesh/GC fix' 13:49
travis-ci.org/rakudo/rakudo/builds/696443024 github.com/rakudo/rakudo/compare/1...1558424bda
Geth rakudo/rakuast: 6e50ab0ad4 | (Jonathan Worthington)++ | 8 files
Add infrastructure for sinking

In line with how RakuAST generally works, nodes carry knowledge of how they want to interact with the sinking process. There are 3 concepts:
  * Sink boundary (a unit within which we'll perform sink marking)
  * Sinkable (something that wants to know if it's sunk, either because
... (6 more lines)
14:19
jnthn Hopefully this model will suffice. 14:25
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make Str.comb use the new R:It.MatchMatch/MatchStr iterators 14:33
travis-ci.org/rakudo/rakudo/builds/696454411 github.com/rakudo/rakudo/compare/f...1ef59e8b70
Kaiepi who do i talk to when it comes to issues about a grant? 14:55
[Coke] Your grant manager? 15:38
Assuming you mean your own grant.
GC secretary is also an option.
rba patrickb: Just stumbled over Dave Rolskys azure pipeline helpers for perl: github.com/houseabsolute/ci-perl-helpers Might be helpful by some means or others... 16:26
tellable6 rba, I'll pass your message to patrickb
vrurg nine: I finally got time to look into NQP build problem. Can't reproduce it right away. Plain change of HLL/Compiler.nqp doesn't trigger the problem. 17:56
Geth rakudo/rakuast: b6a8011041 | (Jonathan Worthington)++ | 3 files
Add a mechanism for marking block level statements

Since loop constructs compile differently based upon it.
19:41
rakudo/rakuast: 6cd1915f14 | (Jonathan Worthington)++ | 4 files
Introduce `check` on CompUnit

Which models all that we need to do at CHECK time. This includes a pass at reference resolution and doing any uncompleted sink marking (most likely only for synthetic ASTs), and will later include production of CHECK-time errors too.
rakudo/rakuast: 41f3db72da | (Jonathan Worthington)++ | 4 files
RakuAST for while/until/repeat/loop
rakudo/rakuast: ba97e31cf2 | (Jonathan Worthington)++ | src/Raku/ast/base.rakumod
Fix a typo; MasterDuke++
19:48
jnthn Well, now it's probably turing complete... :)
MasterDuke looks like you missed the other typo 19:49
and nice. how different has the grammar/actions ended up from current?
jnthn Grammar: not terribly much 19:50
Actions: vastly simpler
MasterDuke very cool
jnthn (Expected, 'cus one of the design goals was moving knowledge into the RakuAST nodes) 19:51
Though I think we'll end up with a net complexity reduction too
For example, assuming this sink model holds up, it's IMHO a lot neater than what we currently do
lizmat weekly: perlmonks.org/?node_id=11117443 19:52
notable6 lizmat, Noted! (weekly)
jnthn The grammar may end up an iota simpler in that there will probably be various bits of checking it does that can't stay there
MasterDuke btw, are return types not supported at that point? i.e., there are a bunch of `method foo() { True }` instead of `method foo(--> True) {}`, and my understanding is that the return constant is faster
jnthn Or other bits of tracking we did for the sake of the actions that now go away 19:53
Didn't do those yet, but what you're looking at is actually the input to a compiler that desugars stuff into NQP code
MasterDuke ah 19:54
jnthn So it's not going to have quite the same performance profile as Raku code
But yes, I plan to put those in, for introspection of what you get back if nothing else
And the --> Nil convenience
Of course, feel free to beat me to it :)
There's actually a bunch of "ways to help" in the README.md in src/Raku/ast for anybody wanting to join the fun 19:55
MasterDuke i did notice those the other day. now that the optimize_gethllsym stuff seems sorted out i may read more seriously 19:56
Geth rakudo/rakuast: 1d08532885 | (Jonathan Worthington)++ | src/Raku/ast/README.md
Update RakuAST README (status, remove done task)
19:57
MasterDuke OTOH, i also have a still incomplete PR to libtommath for a barrett reduction-based mp_to_radix that would significantly speed up our stringification of large integers... 19:58
Geth rakudo/rakuast: 34519fb94a | (Jonathan Worthington)++ | src/Raku/Grammar.nqp
Remove unused dynamic variable

No longer needed, since the block statement level logic now lives in RakuAST (and must be there, since it applies to synthetic ASTs too).
20:01
jnthn There's one example of the grammar getting simpler
Geth rakudo/rakuast: 0438fcef2e | (Jonathan Worthington)++ | src/Raku/ast/base.rakumod
Fix yet another typo
20:02
jnthn At least typos are good for my commit count... :) 20:03
.oO( But can I catch up with lizmat++ again? )
20:07
Geth rakudo/rakuast: ad0c775904 | (Jonathan Worthington)++ | src/Raku/Grammar.nqp
Correct regression in grammar
20:27
rakudo/rakuast: 483c64d167 | (Jonathan Worthington)++ | 2 files
Support list-op calls in RakuAST

Which are used extensively in the tests. With this, we now pass the first sanity test in RakuAST mode.
jnthn And that'll probably do for today... 20:28