🦋 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] |
|
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
|