🦋 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: ... | log inspection situation still under development | For MoarVM see #moarvm Set by lizmat on 22 May 2021. |
|||||||||||||||||||||||||||||||||||||||
00:02
reportable6 left
00:04
reportable6 joined
01:29
evalable6 left,
linkable6 left
01:30
evalable6 joined
01:31
linkable6 joined
02:32
evalable6 left,
linkable6 left,
linkable6 joined
02:34
evalable6 joined
|
|||||||||||||||||||||||||||||||||||||||
releasable6 | Next release in ≈1 day and ≈15 hours. 1 blocker. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 03:00 | |||||||||||||||||||||||||||||||||||||
03:34
linkable6 left,
evalable6 left
03:35
evalable6 joined,
linkable6 joined
06:02
reportable6 left
06:03
reportable6 joined
|
|||||||||||||||||||||||||||||||||||||||
[TuxCM] |
|
06:54 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/fix_race_condition_in_supplier: 4953a29997 | (Stefan Seifert)++ | src/core.c/Supplier.pm6 Fix bogus "emit without supply or react" in Supplier's TapList Avoid auto-vivification of the Scalar container for the $!tappers attribute when reading. That could lead to a Mu overwriting the list in $!tappers after we've already set $added to True in method tap, causing us to blow up when we try to call .emit on that Mu. Fixes GH #4410 |
07:09 | |||||||||||||||||||||||||||||||||||||
rakudo: niner++ created pull request #4414: Fix bogus "emit without supply or react" in Supplier's TapList |
|||||||||||||||||||||||||||||||||||||||
rakudo: a9510b8d37 | (Daniel Green)++ | 2 files Try to rename precomp files multiple times on Windows File renaming can easily race and fail on Windows. There's no great solution, so instead just try 10 times catching a failure (and returning out of the loop and method if it succeeds), and if it hasn't succeeded after that, try one more time without catching a failure. |
07:42 | ||||||||||||||||||||||||||||||||||||||
rakudo: 7dfed29c76 | (Daniel Green)++ | src/core.c/CompUnit/PrecompilationStore/File.pm6 Pull repeated code to try something a number of... of times into a sub. |
|||||||||||||||||||||||||||||||||||||||
rakudo: 292e8c86d2 | MasterDuke17++ (committed using GitHub Web editor) | 2 files Merge pull request #4411 from MasterDuke17/try_renaming_precomp_files_multiples_times_on_windows |
|||||||||||||||||||||||||||||||||||||||
moon-child | oh my | ||||||||||||||||||||||||||||||||||||||
MasterDuke | ? | 07:43 | |||||||||||||||||||||||||||||||||||||
moon-child | 'file renaming can easily race and fail on windows' | 07:44 | |||||||||||||||||||||||||||||||||||||
MasterDuke | yeah. it's annoying | ||||||||||||||||||||||||||||||||||||||
moon-child | some aspects of windows's design are clearly superior to unix. Some are just--wtf | 07:45 | |||||||||||||||||||||||||||||||||||||
08:25
frost joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/done-with-value: 9a6ee54a49 | (Elizabeth Mattijsen)++ | 2 files Simplify by jnthn++'s suggestion |
09:13 | |||||||||||||||||||||||||||||||||||||
rakudo: 452e92ed63 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/control.pm6 Introduce "done foo" as shortcut for "emit foo; done" (#4412) As discussed in github.com/Raku/problem-solving/issues/249 This makes the "done" sub a multi and adds a candidate that does an `emit` of the value, before actually doing a `done`. |
09:34 | ||||||||||||||||||||||||||||||||||||||
09:35
linkable6 left
09:37
linkable6 joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: 535a65d6ee | (Daniel Green)++ | tools/templates/MOAR_REVISION Bump MoarVM for include paths in config data |
09:48 | |||||||||||||||||||||||||||||||||||||
rakudo: 2c3a1a04d9 | (Daniel Green)++ | tools/templates/NQP_REVISION Bump NQP... For include paths in config data from MoarVM and removing a JVM workaround in NQP. |
09:59 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | vrurg: ^^^ now nqp and rakudo can get the include path information from the 'moar::hllincludes' key in the --show-config data | 10:00 | |||||||||||||||||||||||||||||||||||||
nine | lizmat: has Mu $!tappers is built(False) is built(:bind) = Mu; looks interesting. I just don't understand it :D. But then, I'm quite ironically actually not that good a Raku programmer. I tend to write kind of baby Raku | 10:21 | |||||||||||||||||||||||||||||||||||||
lizmat | well... actually it's a roundabout way to abuse the standard object build process | ||||||||||||||||||||||||||||||||||||||
I was just realizing that perhaps for that class, we shouldn't be using the standard object build process at all | 10:22 | ||||||||||||||||||||||||||||||||||||||
am in the middle of implementing "last foo" now | |||||||||||||||||||||||||||||||||||||||
we can accept the PR at least for this release anyway | |||||||||||||||||||||||||||||||||||||||
m: my @a = ^10; dd @a.nodemap({ dd $_; last if $_ > 5 } # last in nodemap is broken | 11:12 | ||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> 3f $_ > 5 } # last in nodemap is broken7⏏5<EOL> |
||||||||||||||||||||||||||||||||||||||
lizmat | m: my @a = ^10; dd @a.nodemap({ dd $_; last if $_ > 5 }) # last in nodemap is broken | ||||||||||||||||||||||||||||||||||||||
camelia | Int @a = 0 Int @a = 1 Int @a = 2 Int @a = 3 Int @a = 4 Int @a = 5 Int @a = 6 Int @a = 7 Int @a = 8 Int @a = 9 (Empty, Empty, Empty, Empty, Empty, Empty) |
||||||||||||||||||||||||||||||||||||||
11:12
frost left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | m: my @a = ^10; dd @a.nodemap({ $_ == 5 ?? (last) !! $_ }) # perhaps clearer | 11:15 | |||||||||||||||||||||||||||||||||||||
camelia | (0, 1, 2, 3, 4, 6, 7, 8, 9) | ||||||||||||||||||||||||||||||||||||||
lizmat | m: my @a = ^10; dd @a.deepmap({ dd $_; last if $_ > 5 } # also in deepmap :-( | 11:21 | |||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> 3last if $_ > 5 } # also in deepmap :-(7⏏5<EOL> |
||||||||||||||||||||||||||||||||||||||
lizmat | m: my @a = ^10; dd @a.deepmap({ dd $_; last if $_ > 5 } ) # also in deepmap :-( | ||||||||||||||||||||||||||||||||||||||
camelia | Int @a = 0 Int @a = 1 Int @a = 2 Int @a = 3 Int @a = 4 Int @a = 5 Int @a = 6 Int @a = 7 Int @a = 8 Int @a = 9 Array element = [] |
||||||||||||||||||||||||||||||||||||||
lizmat | m: my @a = ^10; dd @a.deepmap({ $_ == 5 ?? (last) !! $_ } ) # also in deepmap :-( | ||||||||||||||||||||||||||||||||||||||
camelia | Array element = [0, 1, 2, 3, 4, 6, 7, 8, 9] | ||||||||||||||||||||||||||||||||||||||
lizmat | both to be fixed in upcoming PR to make "last foo" possible | 11:22 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 4953a29997 | (Stefan Seifert)++ | src/core.c/Supplier.pm6 Fix bogus "emit without supply or react" in Supplier's TapList Avoid auto-vivification of the Scalar container for the $!tappers attribute when reading. That could lead to a Mu overwriting the list in $!tappers after we've already set $added to True in method tap, causing us to blow up when we try to call .emit on that Mu. Fixes GH #4410 |
11:30 | |||||||||||||||||||||||||||||||||||||
rakudo: ca8dea277a | niner++ (committed using GitHub Web editor) | src/core.c/Supplier.pm6 Merge pull request #4414 from rakudo/fix_race_condition_in_supplier Fix bogus "emit without supply or react" in Supplier's TapList |
|||||||||||||||||||||||||||||||||||||||
11:31
linkable6 left
11:34
linkable6 joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | $ r 'my @a = ^10; dd @a.grep({ $_ > 5 ?? (last 42) !! True })' | 11:48 | |||||||||||||||||||||||||||||||||||||
(0, 1, 2, 3, 4, 5, 42).Seq | |||||||||||||||||||||||||||||||||||||||
meh after making "last foo" work on for loops and the mapxxx variants, this is now what .grep does | 11:49 | ||||||||||||||||||||||||||||||||||||||
feels like a major rewrite of .grep will be needed, which may not be a bad thing, but still | 11:50 | ||||||||||||||||||||||||||||||||||||||
Altai-man | lizmat, hmm, is it a regression or? | 11:55 | |||||||||||||||||||||||||||||||||||||
lizmat | no | ||||||||||||||||||||||||||||||||||||||
Altai-man | good | ||||||||||||||||||||||||||||||||||||||
lizmat | "last 42" is not supported on master just yet :-) | ||||||||||||||||||||||||||||||||||||||
Altai-man | I see | ||||||||||||||||||||||||||||||||||||||
releasable6, status | |||||||||||||||||||||||||||||||||||||||
releasable6 | Altai-man, Next release in ≈1 day and ≈7 hours. There are no known blockers. 1 out of 37 commits logged | 11:56 | |||||||||||||||||||||||||||||||||||||
Altai-man, Details: gist.github.com/b35306c931d29cbc93...77472636b0 | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo/last-with-value: ce66f1e7f3 | (Elizabeth Mattijsen)++ | 2 files Introduce "last foo" to end loops *and* return a value *and* FIX nodemap / deepmap / duckmap's handling of "last". This adds the exception checking logic to all of the standard .map functions. Basically, three cases where to be checked: ... (16 more lines) |
||||||||||||||||||||||||||||||||||||||
12:02
reportable6 left
12:03
squashable6 left,
reportable6 joined
12:05
squashable6 joined
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | for the 10x retry on windows - do we need to care about the return value? (original happened to return a value, if it works early, we get a bare return) | 12:05 | |||||||||||||||||||||||||||||||||||||
MasterDuke | rename always returns True | 12:06 | |||||||||||||||||||||||||||||||||||||
but it didn't look like it was being used anywhere | |||||||||||||||||||||||||||||||||||||||
12:12
Xliff joined
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | That | 12:15 | |||||||||||||||||||||||||||||||||||||
's fine, I only saw the change in there, didn't look at calling code. Thans. | |||||||||||||||||||||||||||||||||||||||
*Thanks. | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo/rakuast: 804a0def65 | (Jonathan Worthington)++ | 4 files RakuAST node for postfix hyper meta-op And implement compilation of the most common cases of it, for `>>++` (a simple postfix) and `>>.meth` (a simple method call). There are various other less common cases that shall need attention. Unlike the current compiler frontend, we give each kind of postfix the ability to decide how it compiles into a hyper op, rather than just compiling it and then ... (5 more lines) |
13:13 | |||||||||||||||||||||||||||||||||||||
roast: fd078f9c6d | (Nguyễn Gia Phong)++ | S32-io/mkdir_rmdir.t Retire mkdir tests before it creates parents Currently mkdir would create parent directories if necessary. |
13:29 | ||||||||||||||||||||||||||||||||||||||
roast: 155f0fe7e1 | (Nguyễn Gia Phong)++ | S32-io/mkdir_rmdir.t Test mkdir on existing file |
|||||||||||||||||||||||||||||||||||||||
roast: 379aca1ede | (Vadim Belman)++ (committed using GitHub Web editor) | S32-io/mkdir_rmdir.t Merge pull request #736 from McSinyx/mkdir Test cases where mkdir should fail |
|||||||||||||||||||||||||||||||||||||||
13:52
[Coke] left,
[Coke] joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: a23d30d6a3 | (Vadim Belman)++ | S32-io/mkdir_rmdir.t Mark a new test as todo Until MoarVM/MoarVM#1507 is merged |
13:56 | |||||||||||||||||||||||||||||||||||||
13:57
linkable6 left,
linkable6 joined
13:58
vrurg left
14:05
Kaiepi left
14:13
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/rakuast: 50802db20f | (Jonathan Worthington)++ | 3 files RakuAST node for prefix hyper ops |
14:14 | |||||||||||||||||||||||||||||||||||||
14:21
vrurg joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | m: dd ^10 .grep: -> \x, \y { x == 4 ?? (last) !! True } | 14:46 | |||||||||||||||||||||||||||||||||||||
camelia | ((0, 1), (2, 3)).Seq | ||||||||||||||||||||||||||||||||||||||
lizmat | sorry for the noise, but camelia still doesn't allow m: in privmsg ? | 14:47 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | Camelia always did, I thought? | 14:48 | |||||||||||||||||||||||||||||||||||||
Evalable didn't | 14:49 | ||||||||||||||||||||||||||||||||||||||
lizmat | camelia used to | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | Hmmm | ||||||||||||||||||||||||||||||||||||||
Welcome to #whateverable then to spam the bots | |||||||||||||||||||||||||||||||||||||||
Not just Camelia 😌 | 14:50 | ||||||||||||||||||||||||||||||||||||||
Xliff | Alexdaniel: \o | 14:51 | |||||||||||||||||||||||||||||||||||||
tellable6 | 2021-06-16T19:21:27Z #raku-dev <timo> Xliff yeah that does look like a bug | ||||||||||||||||||||||||||||||||||||||
Xliff | m: use NativeCall; class A is repr<CStruct> { HAS @.array[30] is CArray }; my $a = A.new; $a[0] = 1; $a.elems.say; | 14:54 | |||||||||||||||||||||||||||||||||||||
camelia | Cannot modify an immutable A (A.new(array => Nativ...) in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Xliff | m: use NativeCall; class A is repr<CStruct> { HAS @.array[30] is CArray }; my $a = A.new; $a.array[0] = 1; $a.array.elems.say; | ||||||||||||||||||||||||||||||||||||||
camelia | CArray cannot be used without a type in method AT-POS at /home/camelia/rakudo-m-inst-1/share/perl6/core/sources/8660F65A7B3492675BB3B2058DB30E411A4C4E54 (NativeCall::Types) line 93 in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Xliff | m: use NativeCall; class A is repr<CStruct> { HAS int8 @.array[30] is CArray }; my $a = A.new; $a.array[0] = 1; $a.array.elems.say; | 14:55 | |||||||||||||||||||||||||||||||||||||
camelia | 1 | ||||||||||||||||||||||||||||||||||||||
Xliff | m: use NativeCall; class A is repr<CStruct> { HAS int8 @.array[30] is CArray }; my $a = A.new; $a.array.elems.say; | ||||||||||||||||||||||||||||||||||||||
camelia | 0 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/last-with-value: db91a7f9de | (Elizabeth Mattijsen)++ | src/core.c/Any-iterable-methods.pm6 Also make "last foo" work on .grep If "foo" is true, then that value will be passed through and the iteration will be terminated. If the "foo" is false, then it will just terminate the iteration. |
14:57 | |||||||||||||||||||||||||||||||||||||
rakudo: lizmat++ created pull request #4415: Last with value |
15:02 | ||||||||||||||||||||||||||||||||||||||
rakudo/rakuast: d7c0557a1a | (Jonathan Worthington)++ | src/Raku/ast/expressions.rakumod Don't make infix meta-ops be lookups While they do use something lexical from the setting, that's a pure implementation detail. |
15:05 | ||||||||||||||||||||||||||||||||||||||
rakudo/rakuast: 710febfab4 | (Jonathan Worthington)++ | 3 files RakuAST node for infix hyper ops |
|||||||||||||||||||||||||||||||||||||||
lizmat | m: my $i; dd do while ++$i < 10 { dd $i; last if $i == 5 } | 15:10 | |||||||||||||||||||||||||||||||||||||
camelia | Int $i = 1 Int $i = 2 Int $i = 3 Int $i = 4 Int $i = 5 ().Seq |
||||||||||||||||||||||||||||||||||||||
lizmat | m: dd do for ^10 { last if $_ == 5 } | 15:12 | |||||||||||||||||||||||||||||||||||||
camelia | () | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/rakuast: a67b41d6b5 | (Jonathan Worthington)++ | 3 files RakuAST for bracketed infixes, infixed functions |
15:41 | |||||||||||||||||||||||||||||||||||||
rakudo/last-with-value: 9a426135dc | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6 Make various other loop constructs sensitive to "last foo" |
15:48 | ||||||||||||||||||||||||||||||||||||||
nine | Odd. camelia actually executes the commands in priv msgs. But it doesn't answer | 16:10 | |||||||||||||||||||||||||||||||||||||
Oh, camelia does try to answer! But on libera.chat users seem to have mode +R by default which prohibits private messages from unregistered users | 16:13 | ||||||||||||||||||||||||||||||||||||||
lizmat: "/mode lizmat -R", then you can talk to camelia in private | 16:14 | ||||||||||||||||||||||||||||||||||||||
lizmat | nine++ | 16:15 | |||||||||||||||||||||||||||||||||||||
but I'm registered ? | |||||||||||||||||||||||||||||||||||||||
16:16
lizmat left,
lizmat joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | weird | 16:17 | |||||||||||||||||||||||||||||||||||||
nine | You are, but camelia isn't | ||||||||||||||||||||||||||||||||||||||
lizmat | aha... ok | ||||||||||||||||||||||||||||||||||||||
17:10
cognominal left
18:02
reportable6 left
|
|||||||||||||||||||||||||||||||||||||||
lucs | camelia needs to be registered, but also it needs to 'identify' itself when it comes on, else no dice. | 18:02 | |||||||||||||||||||||||||||||||||||||
s/camelia/all the bots that we want to interact with in /msg when we have +R/ | 18:03 | ||||||||||||||||||||||||||||||||||||||
18:03
reportable6 joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/last-with-value: 5429d909c2 | (Elizabeth Mattijsen)++ | src/core.c/Any-iterable-methods.pm6 Fix issue with grep when storing result in array Basically, the grep wrapper was only working correctly if the iterator was just being called with "pull-one", but would fail to end if the "push-all" method was called on the iterator (my @a = foo.grep...). The fix was to have the LAST handler in the grep wrapper for Callables throw another "last" with the correct value to be handled by the outer handler. |
18:11 | |||||||||||||||||||||||||||||||||||||
19:01
b2gills left
19:02
b2gills joined
19:03
gfldex left
19:30
gfldex joined
|
|||||||||||||||||||||||||||||||||||||||
Altai-man | releasable6, status | 22:15 | |||||||||||||||||||||||||||||||||||||
releasable6 | Altai-man, Next release in ≈20 hours. There are no known blockers. 1 out of 37 commits logged | ||||||||||||||||||||||||||||||||||||||
Altai-man, Details: gist.github.com/1b5946e82b9ad5bbb8...220a581292 | |||||||||||||||||||||||||||||||||||||||
22:37
melezhik joined
|
|||||||||||||||||||||||||||||||||||||||
melezhik | releasable6: status | 22:37 | |||||||||||||||||||||||||||||||||||||
releasable6 | melezhik, Next release in ≈20 hours. There are no known blockers. 1 out of 37 commits logged | ||||||||||||||||||||||||||||||||||||||
melezhik, Details: gist.github.com/6d08f4cd80355e6b8f...93ebe7eb87 | |||||||||||||||||||||||||||||||||||||||
22:44
[Coke] left,
[Coke] joined
|
|||||||||||||||||||||||||||||||||||||||
releasable6 | Next release in ≈19 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 23:00 | |||||||||||||||||||||||||||||||||||||
23:33
linkable6 left
23:36
linkable6 joined
|