🦋 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. |
|||
ugexe | I'd probably be fairly easy to implement a RAKUDO_NO_PARALLEL_MODULE_LOADING=1 or some such, although I'm not sure if we should unless there are use cases beyond debugging parallel module loading | 00:01 | |
s/I'd/It'd/ | |||
Geth | rakudo/ugexe/deprecate-multi-file-operations: 392b55830d | (Nick Logan)++ | src/core.c/io_operators.rakumod Deprecate IO subs that operate on multiple paths While convienient, being able to pass multiple paths to e.g. &rmdir is problematic because there isn't a blessed way to handle what to do when an exception or failure occurs, i.e. should it try to rmdir every entry even if some things fail, or stop on the first failure? ... (10 more lines) |
01:05 | |
rakudo: ugexe++ created pull request #5485: Deprecate IO subs that operate on multiple paths |
01:06 | ||
roast: 58ad432909 | (Nick Logan)++ | packages/Test-Helpers/lib/Test/Util.rakumod Operate on one file at a time when cleaning up This changes various cleanup code to operate on a single file at a time instead of using the multi-path subroutines. see: github.com/rakudo/rakudo/pull/5485 |
01:29 | ||
rakudo/ugexe/deprecate-multi-file-operations: 4c0a46b7ae | (Nick Logan)++ | src/core.c/io_operators.rakumod Deprecate IO subs that operate on multiple paths While convienient, being able to pass multiple paths to e.g. &rmdir is problematic because there isn't a blessed way to handle what to do when an exception or failure occurs, i.e. should it try to rmdir every entry even if some things fail, or stop on the first failure? ... (10 more lines) |
|||
rakudo/ugexe/deprecate-multi-file-operations: 95bdb71583 | (Nick Logan)++ | src/core.c/io_operators.rakumod Deprecate IO subs that operate on multiple paths While convienient, being able to pass multiple paths to e.g. &rmdir is problematic because there isn't a blessed way to handle what to do when an exception or failure occurs, i.e. should it try to rmdir every entry even if some things fail, or stop on the first failure? ... (10 more lines) |
01:31 | ||
rakudo/main: 20 commits pushed by (Vadim Belman)++ review: github.com/rakudo/rakudo/compare/7...f8bb6fe0c2 |
04:19 | ||
07:15
summerisle left,
japhb left
07:16
japhb joined,
summerisle joined
07:35
melezhik joined
07:38
melezhik left
07:49
melezhik joined
07:50
melezhik left
07:56
melezhik joined
08:01
melezhik left
08:18
melezhik joined
08:32
melezhik left
10:49
sena_kun joined
|
|||
ab5tract | vrurg: very awesome work with the role genericization | 11:08 | |
I know there was a ticket about some behavior that I believe this fixes, but I can't seem to find it | 11:09 | ||
11:24
melezhik joined
11:52
melezhik left
11:53
melezhik joined
12:09
melezhik left,
melezhik joined
12:14
melezhik left
16:11
melezhik joined
|
|||
vrurg | ab5tract: I have an issue I was opening. But haven't got time to find it and close. | 16:15 | |
tellable6 | 2023-12-03T16:12:35Z #raku <melezhik> vrurg: that the term which is used in the official Rakudo documentation - docs.raku.org/language/modules#Exp..._importing | ||
2023-12-03T16:14:03Z #raku <melezhik> vrurg : "require" section actually in this link | |||
16:15
melezhik left
|
|||
ab5tract | vrurg: no worries! I'll keep digging | 16:25 | |
vrurg | ab5tract: wish you a sturdy shovel then! :) | 16:26 | |
17:29
kjp left
17:44
melezhik joined
17:47
melezhik left
17:49
melezhik joined
17:51
melezhik left
|
|||
ab5tract | vrurg: R#3094 | 17:53 | |
linkable6 | R#3094 [open]: github.com/rakudo/rakudo/issues/3094 [type captures][roles] (::T $, T @) yields"Internal error: inconsistent bind result" | ||
ab5tract | unfortunately this still fails with latest main | 17:54 | |
m: -> Array[::T] \a, Array[T] \b {}(Array[Int], Array[Int]) | 17:57 | ||
camelia | ===SORRY!=== Error while compiling <tmp> No such symbol 'T' at <tmp>:1 ------> -> Array[::T⏏] \a, Array[T] \b {}(Array[Int], Array[I |
||
18:46
MasterDuke joined
|
|||
ab5tract | m: role R[::T] { method m (T @a) { } }; class C does R[Str] {}; my Str @a = "a"; C.new.m: @a | 18:48 | |
camelia | Internal error: inconsistent bind result in method m at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
ab5tract | (for a more obviously related example) | ||
vrurg | ab5tract: not sure Array[::T] is supposed to work. [] implies parameterization. There is single rule as to what it means for a particular class. Therefore there is no way for the compiler to know how to handle the ::T. Think of Foo[::T], for example. Or, worse, Foo[Str, ::T]. | 20:36 | |
tellable6 | 2023-12-03T17:46:12Z #raku <melezhik> vrurg: sure, what the terminology is I meant that I need a symbolic table lookup for a module that is required in runtime rather then used in compile time | ||
ab5tract | vrurg: please see the second example | ||
vrurg | ab5tract: as to the second case, I didn't have time for taking care of parameters and variables. Hope to have these solved later, with RakuAST. | 20:38 | |
ab5tract | gotcha | ||
vrurg was typing the answer before saw the question. :) | |||
ab5tract | ah, I should have been more patient | 20:39 | |
20:46
kjp joined
|
|||
Geth | rakudo/ugexe/deprecate-multi-file-operations: 74f01d0c63 | (Nick Logan)++ | 2 files Deprecate IO subs that operate on multiple paths in 6.e While convienient, being able to pass multiple paths to e.g. &rmdir is problematic because there isn't a blessed way to handle what to do when an exception or failure occurs, i.e. should it try to rmdir every entry even if some things fail, or stop on the first failure? ... (10 more lines) |
21:01 | |
rakudo/ugexe/deprecate-multi-file-operations: 5951684c80 | (Nick Logan)++ | src/core.e/additions.rakumod Deprecate IO subs that operate on multiple paths in 6.e While convienient, being able to pass multiple paths to e.g. &rmdir is problematic because there isn't a blessed way to handle what to do when an exception or failure occurs, i.e. should it try to rmdir every entry even if some things fail, or stop on the first failure? ... (10 more lines) |
21:03 | ||
ugexe | Is there a difference between calling .cache and .List on a Seq? If not, maybe we should get rid of .cache | 21:13 | |
I ask because I often find myself wanting to implement methods named 'cache' on my classes, but that then shadows the .cache it already would have from Any | 21:14 | ||
Geth | rakudo/ugexe/deprecate-multi-file-operations: 4ceca13f37 | (Nick Logan)++ | 3 files Deprecate IO subs that operate on multiple paths in 6.e While convienient, being able to pass multiple paths to e.g. &rmdir is problematic because there isn't a blessed way to handle what to do when an exception or failure occurs, i.e. should it try to rmdir every entry even if some things fail, or stop on the first failure? ... (10 more lines) |
21:26 | |
MasterDuke | ugexe: github.com/rakudo/rakudo/blob/main...mod#L1-L19 seems to explain a difference. tldr; .cache memoizes, .List explicitly does not | 21:40 | |
ugexe | too bad we didn't call it .memoize | 21:43 | |
21:49
summerisle is now known as eof
|
|||
MasterDuke | unrelated to above, but i'm not huge fan of the libuv documentation. it doesn't really explain enough, and a lot of the examples don't really use best practices | 21:49 | |
ugexe | yeah, i tend to ask ChatGPT and refer to nodejs and some other libuv using language i'm forgetting atm for reference | 21:52 | |
m: my $x := gather for 0..500 { take $_ }; (0..500).race.map({ say $x[$_] }) | 21:53 | ||
camelia | 0 A worker in a parallel iteration (hyper or race) initiated here: in block <unit> at <tmp> line 1 Died at: This continuation has already been invoked in block at <tmp> line 1 1 2 3 4 5 6 7 8 9 10 11… |
||
ugexe | hmm i guess that isn't too surprising though | ||
22:05
sena_kun left
|
|||
ugexe | m: my $x := gather for 0..500 { take $_ }; $x[500].List; (0..500).race.map({ say $x[$_] }) | 22:16 | |
camelia | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 5… |
||
MasterDuke | github.com/MoarVM/MoarVM/pull/1780 now includes a sleep+retry for windows. with some adjustments to `#?if`s to account for moarvm now not including '.' and '..' (like jmv), locally it passes `make m-test m-spectest` | 22:45 | |
ugexe | noice | 22:50 | |
one issue with my changes at least is they need to be spec tested | 22:54 | ||
nmake spectest doesn't work on my VM lol | |||
the libuv changes don't have that problem so much since the linux CI spectests should mostly cover those | 22:55 | ||
linking moar.dll | 23:21 | ||
Creating library moar.dll.lib and object moar.dll.exp | 23:22 | ||
dirops.obj : error LNK2001: unresolved external symbol sleep | |||
moar.dll : fatal error LNK1120: 1 unresolved externals |