🦋 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.
01:23 MasterDuke joined 05:45 MasterDuke left 06:15 vrurg_ joined 06:18 vrurg left
nine m: my @a; say @a.?foo() 07:20
camelia Nil
nine m: my @a; say @a.?Array::\foo()
camelia ===SORRY!=== Error while compiling <tmp>
Confused
at <tmp>:1
------> my @a; say @a.?Array::\⏏foo()
expecting any of:
postfix
nine m: my @a; say @a.?Array::foo()
camelia Cannot dispatch to method foo on Array because it is not inherited or done by Array
in block <unit> at <tmp> line 1
nine Turns out the old frontend does not actually support .? with fully qualified names. 07:21
The only spectest that even tries it is is-deeply @a».?Any::elems, (2, 3), '».?::'; which works because ignoring the Any:: just happens to give the same result 07:23
07:24 sena_kun joined
lizmat heh :-) 07:24
gremlins!
nine m: my @a; say @a>>.WHAT 08:01
camelia (Array)
nine Clearly not correct either
08:03 sena_kun left
Geth Chemistry-Elements/main: 1eb8485ab5 | (Elizabeth Mattijsen)++ | 33 files
Initial adaptation to Raku Community Modules
10:42
Chemistry-Elements/main: beb9229459 | (Elizabeth Mattijsen)++ | META6.json
Add test dependency on META6
10:46
Chemistry-Elements/main: 53d902892b | (Elizabeth Mattijsen)++ | 3 files
Oops, needs to install dependencies, duh!
Chemistry-Elements/main: f9a1ed059e | (Elizabeth Mattijsen)++ | 2 files
Give up on Windows CI testing
10:48
Chemistry-Elements/main: 1776567c2e | (Elizabeth Mattijsen)++ | 4 files
0.2
10:52
[Tux] Rakudo v2024.07-86-g8c9263f1c (v6.d) on MoarVM 2024.07-8-g08ee6c8e2
csv-ip5xs0.258 - 0.260
csv-ip5xs-201.095 - 1.115
csv-parser1.456 - 1.490
csv-test-xs-200.142 - 0.142
test1.842 - 1.861
test-t0.404 - 0.405
test-t --race0.266 - 0.266
test-t-204.847 - 4.979
test-t-20 --race1.167 - 1.176
11:03
tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log
Geth Fortran-Grammar/main: a42babdb6b | (Elizabeth Mattijsen)++ | Changes
Fix copy-pasto
11:05
nine So, xx is supposed to thunk its left hand side argument, right? 12:18
m: say rand xx 3
camelia (0.6214704867784426 0.5079990209402033 0.006426715273942896)
nine But what about when it's hypered?
lizmat yup
nine m: say (rand >>xx>> 3)
camelia (0.5616912484080457 0.5616912484080457 0.5616912484080457)
lizmat I guess we can now fix that in RakuAST ? 12:20
otoh, this has a feel of DIHWIDT
as xx clearly is a grammarlike construct, like || and && ?
nine At least 3 spectests rely on that behavior. Sepcifically on: 12:21
m: dd [|<one two three> xx 3]
camelia ["one", "two", "three", "one", "two", "three", "one", "two", "three"]
lizmat m: dd [<one two three> xx 3] 12:22
camelia [("one", "two", "three"), ("one", "two", "three"), ("one", "two", "three")]
lizmat m: dd [(<one two three> xx 3).Slip]
camelia [("one", "two", "three"), ("one", "two", "three"), ("one", "two", "three")]
lizmat hmmm
nine Oh, wait. No, it's the other way round. This spectest relies on the non-thunking: 12:23
lizmat m: dd [<one two three>.Slip xx 3)]
camelia ===SORRY!=== Error while compiling <tmp>
Unable to parse expression in array composer; couldn't find final ']' (corresponding starter was at line 1)
at <tmp>:1
------> dd [<one two three>.Slip xx 3⏏)]
expecting any of:
nine m: use Test; my @t2482 = |<1 2> >>xx>> 2; is-deeply @t2482, [<1 1>.Seq, <2 2>.Seq]
camelia ok 1 -
lizmat m: dd [<one two three>.Slip xx 3]
camelia ["one", "two", "three", "one", "two", "three", "one", "two", "three"]
lizmat I think that's the array composer getting 3 Slips and thus producing separate entries 12:24
nothing with hypering or thunking ?
nine With thunking the slips are results of calls and we treat them differently 12:26
With thunking that test would fail: 12:27
# expected: [(IntStr.new(1, "1"), IntStr.new(1, "1")).Seq, (IntStr.new(2, "2"), IntStr.new(2, "2")).Seq]
# got: [IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(1, "1"), IntStr.new(2, "2")]
So what am I supposed to do here? 12:42
lizmat make a problem solving issue ? 12:43
nine Neither comments, nor commit messages, nor the original issue github.com/rakudo/rakudo/issues/2482 mention why this is supposed to be the correct behavior. 12:44
I left a comment on that PR tagging all people who were involved in that commit 13:04
Seems like simply not thunking arguments of hyper infixes ever does not cause any breakage. Unfortuantely thunking behavior is very under described. The word "thunk" appears just 10 times in the whole of the design docs. The closest to guidance S03 comes is by saying that some operators guarantee sequence points while others like hyperoperators guarantee the absence of sequence points. 13:29
Now thunks and sequence points are not exactly the same. Thunks are useful for implementing sequence points but not all thunks have to be sequence points.
Geth Terminal-WCWidth/main: 4 commits pushed by (José Joaquín Atria)++, (Elizabeth Mattijsen)++ 13:47
Math-Random/main: e2261e1e6c | (Elizabeth Mattijsen)++ | 17 files
Initial stab at integrating into Raku Community Modules
14:22
Math-Random/main: a9f009c192 | (Elizabeth Mattijsen)++ | Changes
0.1.1
14:24
nine I only wanted to fix all the hyper tests. Instead I'm on a major refactor of the method calling implementation. Turns out in reality there are 2 orthogonal axes of features there: the dispatch (. .? .+ .*) and the what to call axis (foo Any::foo "foo" $foo &foo) and all combinations are allowed. 14:40
Geth Terminal-WCWidth/main: ec57197559 | (Elizabeth Mattijsen)++ | 16 files
Initial stab at integrating into Raku Community Modules
14:54
Terminal-WCWidth/main: 51d86c91a0 | (Elizabeth Mattijsen)++ | 4 files
0.1.1
14:59
nine Though I really have no idea what the point of $foo.+$meth(), $foo.*$meth or $foo.?&meth is. They all would do exactly one method call. 15:29
lizmat well, I guess interface consistency ? 15:35
I think they can be safely be ASTed into VarMethod ? 15:36
or we could possible make it a worry as well ?
nine There are spectests using them 16:04
lizmat do they expect anything else than a single method call? 16:06
then we could add a worry, right?
16:12 jdv left 16:13 jdv joined
nine is-deeply @a».+&elems, ((2, ), (3, )), '».+&'; 16:32
The result still has to be a one-element list
ugexe i think i'm missing some context, because i thought the point of e.g. $foo.+$methd() was allowing stuff like the following 16:51
m: role Foo1 { method bar { say 42 } }; role Foo2 { method bar { say 43 } }; class Baz { }; my $obj = Baz.new; $obj does Foo1; $obj does Foo2; $obj.+bar()
camelia 43
42
lizmat its not about $obj.+bar, but $obj.+$bar 16:58
afk& 16:59
nine and $obj.+&bar 17:00
Geth Math-Random: bluebear94++ created pull request #4:
Change name of original contributor
17:33
Terminal-WCWidth: bluebear94++ created pull request #7:
Change contributor name
17:36
18:32 sena_kun joined
Geth Math-Random/main: 3991fb7d40 | (+merlan #flirora)++ (committed using GitHub Web editor) | 2 files
Change name of original contributor

This is the name I wish to be known as now.
18:46
ugexe i wonder how you pronounce that 18:48
Geth Terminal-WCWidth/main: f8c0e0faf7 | (+merlan #flirora)++ (committed using GitHub Web editor) | 2 files
Change contributor name
18:51
Math-Random/main: 529c95f6d4 | (Elizabeth Mattijsen)++ | 3 files
0.1.2
18:52
Terminal-WCWidth/main: c21f201c63 | (Elizabeth Mattijsen)++ | 3 files
0.1.2
18:53
[Coke] lizmat++ Thanks. 18:54
lizmat I've also asked fez to remove the 0.1.1 versions 18:57
Geth rakudo/main: 15 commits pushed by (Stefan Seifert)++
review: github.com/rakudo/rakudo/compare/8...862af0f8de
19:14
nine 1084
Geth Terminal-WCWidth/main: fe35d8b122 | (Elizabeth Mattijsen)++ | 4 files
0.1.3
19:19
Math-Random/main: 3bbe523a4a | (Elizabeth Mattijsen)++ | 4 files
0.1.3
19:23
lizmat meh, the PRs where only for the README, and the release process overwrote that
Geth rakudo/main: 977b11e496 | (Stefan Seifert)++ | 3 files
RakuAST: implement sequencing meta operator (as far as the old frontend)

This meta operator seems to be not really implemented on the old frontend either but there are tests for surviving a parse, so that's what we do.
19:36
nine 1085! 19:37
This one I did solely for pushing past the 80 % mark today :)
t/12-rakuast/call-method.rakutest and deparse needs update. Will do that tomorrow or so
Geth Terminal-WCWidth/main: 1d507acd36 | (Elizabeth Mattijsen)++ | 2 files
0.1.4
20:20
lizmat not sure what happened to 0.1.3 20:21
nine: ack... or I could do it, lemme know 20:23
afk&
20:59 finanalyst joined 21:38 sena_kun left
ab5tract nine: do you reckon we face the Curse of Pareto at this point? Or have already entered the last 20 22:05
Percent of effort long before this
Also: heckin’ A! 80% of roast!!! 22:13
23:06 vrurg_ left 23:13 vrurg joined 23:26 finanalyst left