[00:02] *** reportable6 left [00:03] *** reportable6 joined [00:04] *** b2gills left [01:13] *** b2gills joined [01:52] ¦ roast: vrurg++ created pull request #754: Add typecheck tests for natives [01:52] ¦ roast: review: https://github.com/Raku/roast/pull/754 [02:02] ¦ roast: 483bc49765 | (Vadim Belman)++ | S02-types/native.t [02:02] ¦ roast: Add typecheck tests for natives [02:02] ¦ roast: [02:02] ¦ roast: Make sure thay match against `Real`, `Numeric`, and `Stringy` roles. [02:02] ¦ roast: review: https://github.com/Raku/roast/commit/483bc49765 [02:02] ¦ roast: 9e4699bc26 | (Vadim Belman)++ (committed using GitHub Web editor) | S02-types/native.t [02:02] ¦ roast: Merge pull request #754 from vrurg/rakudo_4485 [02:02] ¦ roast: [02:02] ¦ roast: Add typecheck tests for natives [02:02] ¦ roast: review: https://github.com/Raku/roast/commit/9e4699bc26 [02:08] *** Xliff left [03:29] *** bloatable6 left [03:29] *** sourceable6 left [03:29] *** evalable6 left [03:29] *** releasable6 left [03:29] *** shareable6 left [03:29] *** reportable6 left [03:29] *** linkable6 left [03:29] *** squashable6 left [03:29] *** bisectable6 left [03:29] *** greppable6 left [03:29] *** statisfiable6 left [03:29] *** unicodable6 left [03:29] *** nativecallable6 left [03:29] *** notable6 left [03:29] *** benchable6 left [03:29] *** coverable6 left [03:29] *** quotable6 left [03:29] *** committable6 left [03:29] *** tellable6 left [03:30] *** benchable6 joined [03:30] *** statisfiable6 joined [03:30] *** quotable6 joined [03:30] *** notable6 joined [03:31] *** tellable6 joined [03:31] *** greppable6 joined [03:31] *** unicodable6 joined [03:31] *** reportable6 joined [03:31] *** sourceable6 joined [03:31] *** coverable6 joined [03:31] *** committable6 joined [03:31] *** nativecallable6 joined [04:29] *** bisectable6 joined [04:30] *** linkable6 joined [04:31] *** bloatable6 joined [04:31] *** shareable6 joined [04:32] *** evalable6 joined [05:30] *** squashable6 joined [05:46] *** frost joined [06:02] *** reportable6 left [06:04] *** reportable6 joined [06:31] *** releasable6 joined [07:41] *** [Tux] left [07:49] *** [Tux] joined [08:36] m: say 1 ∈ (1/1, ); [08:36] rakudo-moar 16917ac4d: OUTPUT: «False␤» [08:37] lizmat: is that ^^^ intentional? [08:39] gfldex: yes, as they are different types [08:39] m: say 1.WHAT; say (1/1).WHAT [08:39] rakudo-moar 16917ac4d: OUTPUT: «(Int)␤(Rat)␤» [09:01] That's a trap. [09:02] What could be solved by making set operators hyper operators. [09:03] ∈== could DWIM [09:08] ?? [09:09] set operator purely work on the .WHICH what they're given [09:10] gfldex: now with DWIM, one could argue that: [09:10] m: my %s is Set[Int()] = 42, 42e0; dd %s [09:10] rakudo-moar 16917ac4d: OUTPUT: «Set[Int(Any)].new(42,42e0)␤» [09:11] should result in a Set with just 42 in it [09:11] and indeed, I would consider this a bug... [09:11] m: my %s is Set[Int] = 42, 42e0; dd %s [09:11] rakudo-moar 16917ac4d: OUTPUT: «Type check failed in binding; expected Int but got Num (42e0)␤ in block at line 1␤␤» [09:12] m: say 1 ∈ (1/1, )».Int; [09:12] rakudo-moar 16917ac4d: OUTPUT: «True␤» [09:12] that would also work, yes [09:13] That works too. However, in real code it is very easy to have a Num or num sneak in without noticing. [09:14] And when using ∈ both operands need to be of the same type. Right now that silently fails by becomming False. [09:14] in your example, the operands are *not* of the same type: one is an Int, and the other is a List [09:15] the semantics are clear: 1 ∈ (1/1, ) is just short for 1 ∈ (1/1, ).Set [09:16] m: dd (1,1/1).unique [09:16] rakudo-moar 16917ac4d: OUTPUT: «(1, 1.0).Seq␤» [09:16] same there [09:16] They are indeed not the same type. Since it is easy to get there, I consinder this a trap. [09:17] I stepped into that one when trying to use Set in https://github.polettix.it/ETOOBUSY/2021/08/11/pwc125-pythagorean-triples/ [09:17] maybe a doc PR is in order then :-) [09:18] fwiw, I have considered creating optimized versions of Set[int] Set[Int] Set[str] at one point [09:19] and now, with the new coercion protocol: [09:19] Set[int()] Set[Int()] Set[str()] [10:26] *** Xliff joined [10:27] \o [10:27] Is there an analog to ^add_method but for subroutines in raku? [10:30] you can only add subs to a scope at compile time, afaik [10:30] but you *can* add a stub: and set that at runtime [10:30] lizmat++: That's fien. How is that accomplished. [10:30] m: my &foo; &foo = *-1; say foo(43) [10:30] rakudo-moar 16917ac4d: OUTPUT: «42␤» [10:31] actually one of the examples in my sigils talk [10:32] So I guess the best way to accomplish what I want is in sub EXPORT {} [10:32] How can I must changer what EXPORT normally will export without affecting the existing work already done by "is export"? [10:33] I guess it boils down to "is there a way to mess with the EXPORT table without using sub EXPORT"? [10:33] https://www.youtube.com/watch?v=pvDZUlNHGCw&t=988s [10:33] Thanks! [10:35] Very nice! What software was used to make the presentation? [10:36] make sure you also export all of the symbols in EXPORT::DEFAULT [10:36] Xliff: Keynote [10:36] Thanks! [10:37] Awww... It's for Apple! [10:37] Now I need a VM! :) [10:57] Is there a Raku equivalent of "Rakudo::Internals.EXPORT_SYMBOL(nqp::decont($SYMBOL), @tags, $to_export);"? [10:57] Or can such a thing be done via nqp? [11:05] what are you trying to accomplish? [11:06] lizmat: Adding to the export table where I don't have to redeclare the entire Map. [11:06] Wait one. [11:07] you can also return a Hash, no? and just add to that? [11:07] just make sure the values are *bound* to the keys, otherwise you may get containers that you don't want [11:12] https://gist.github.com/Xliff/a09d103689cd03f2241b04d63fa905bb [11:12] There is no easy way to bind with the existing initializer, right? [11:17] Addding "is export" back to the routines in the package will allow them to export properly. [11:17] Once you comment out their definitions in sub EXPORT [11:17] However the aliases still do not work correctly. [11:18] why do you put the subs in a package? why not just in the mainline? [11:24] Xliff: how about just 'our sub postfix:($) { ... }; our constant &postfix: = &postfix:;' [11:24] no need for EXPORT or anything [11:24] the "our" will take care of the export [11:24] the "constant" will do the aliasing [11:26] m: sub postfix:($) { 42 }; say 666! [11:26] rakudo-moar 16917ac4d: OUTPUT: «42␤» [11:26] m: sub postfix:($) { 42 }; say 666 ! [11:26] rakudo-moar 16917ac4d: OUTPUT: «5===SORRY!5=== Error while compiling ␤Confused␤at :1␤------> 3sub postfix:($) { 42 }; say 6667⏏5 !␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ stateme…» [11:26] there's no whitespace allowed for postfix [11:27] and that gets you into trouble when using an alphabetic postfix operator [11:27] or not? [11:27] lizmat++: HAH! Yeah. That would have worked. [11:27] m: sub postfix:($) { 42 }; say 666m [11:27] rakudo-moar 16917ac4d: OUTPUT: «42␤» [11:27] hmmm [11:28] anyways, works for constants, but not for variables [11:28] m: sub postfix:($) { 42 }; my $a = 666; say $am [11:28] rakudo-moar 16917ac4d: OUTPUT: «5===SORRY!5=== Error while compiling ␤Variable '$am' is not declared␤at :1␤------> 3ostfix:($) { 42 }; my $a = 666; say 7⏏5$am␤» [11:28] s/constants/literals [11:29] m: sub postfix:($) { 42 }; my $a = 666; say ($a)minutes # workaround [11:29] rakudo-moar 16917ac4d: OUTPUT: «42␤» [12:02] *** reportable6 left [12:03] *** reportable6 joined [12:59] *** Xliff left [13:52] *** frost left [15:36] *** evalable6 left [15:36] *** linkable6 left [15:37] *** Xliff joined [15:37] *** evalable6 joined [16:17] ¦ rakudo/master: 4 commits pushed by raydiak++, (Elizabeth Mattijsen)++ [16:17] ¦ rakudo/master: 075171642e | Enable rendering of nested blocks in Pod::To::Text [16:17] ¦ rakudo/master: 27f7924ec2 | Fix Pod::To::Text rendering of para blocks [16:17] ¦ rakudo/master: 36de39f64d | Reuse para2text sub for consistency [16:17] ¦ rakudo/master: c67177b89b | Merge pull request #4433 from raydiak/nested2text [16:17] ¦ rakudo/master: review: https://github.com/rakudo/rakudo/compare/16917ac4d34a...c67177b89ba8 [16:19] *** Xliff left [16:22] *** Xliff joined [16:35] *** squashable6 left [16:41] *** squashable6 joined [17:39] *** linkable6 joined [18:02] *** reportable6 left [19:33] *** evalable6 left [19:33] *** linkable6 left [19:34] *** linkable6 joined [19:36] *** evalable6 joined [20:02] ¦ roast/add-test-for-2920: 11504534e5 | Altai-man++ (committed using GitHub Web editor) | S03-sequence/misc.t [20:02] ¦ roast/add-test-for-2920: Clarify the test to cover a more narrow behavior [20:02] ¦ roast/add-test-for-2920: [20:02] ¦ roast/add-test-for-2920: @vrurg++ for investigating and suggesting a better way to do this. [20:02] ¦ roast/add-test-for-2920: review: https://github.com/Raku/roast/commit/11504534e5 [20:03] *** reportable6 joined [20:38] ¦ roast: e8e0028c6b | Altai-man++ | S03-sequence/misc.t [20:38] ¦ roast: Add test for #2920 [20:38] ¦ roast: review: https://github.com/Raku/roast/commit/e8e0028c6b [20:38] ¦ roast: 11504534e5 | Altai-man++ (committed using GitHub Web editor) | S03-sequence/misc.t [20:38] ¦ roast: Clarify the test to cover a more narrow behavior [20:38] ¦ roast: [20:38] ¦ roast: @vrurg++ for investigating and suggesting a better way to do this. [20:38] ¦ roast: review: https://github.com/Raku/roast/commit/11504534e5 [20:38] ¦ roast: 9c141b4788 | (Vadim Belman)++ (committed using GitHub Web editor) | S03-sequence/misc.t [20:38] ¦ roast: Merge pull request #747 from Raku/add-test-for-2920 [20:38] ¦ roast: [20:38] ¦ roast: Add test for #2920 [20:38] ¦ roast: review: https://github.com/Raku/roast/commit/9c141b4788 [20:45] ¦ URI: d3012a55fa | (David Warring)++ | 13 files [20:45] ¦ URI: rename sources *.pm -> *.rakumod [20:45] ¦ URI: review: https://github.com/raku-community-modules/URI/commit/d3012a55fa [20:45] ¦ URI: 1acf17a449 | (David Warring)++ | 4 files [20:45] ¦ URI: give URI::Path and URI::Query their own compilastion units [20:45] ¦ URI: review: https://github.com/raku-community-modules/URI/commit/1acf17a449 [20:45] ¦ URI: ffa2c224f6 | (David Warring)++ | .github/workflows/test.yml [20:45] ¦ URI: set up github test CI [20:45] ¦ URI: review: https://github.com/raku-community-modules/URI/commit/ffa2c224f6 [21:04] ¦ roast: 96d879a2f7 | Altai-man++ | S03-metaops/misc.t [21:04] ¦ roast: Add test for #1890 [21:04] ¦ roast: review: https://github.com/Raku/roast/commit/96d879a2f7 [21:04] ¦ roast: 48531b6c6b | (Vadim Belman)++ (committed using GitHub Web editor) | S03-metaops/misc.t [21:04] ¦ roast: Merge pull request #749 from Raku/add-test-for-1890 [21:04] ¦ roast: [21:04] ¦ roast: Add test for #1890 [21:04] ¦ roast: review: https://github.com/Raku/roast/commit/48531b6c6b [21:40] *** melezhik joined [22:34] *** melezhik left [22:37] ¦ URI: 62da4625f9 | (David Warring)++ | 2 files [22:37] ¦ URI: tweak absolute() and relative() deprecation [22:37] ¦ URI: review: https://github.com/raku-community-modules/URI/commit/62da4625f9 [23:13] *** Xliff left [23:54] *** rba[m] left [23:55] *** AlexDaniel left [23:56] *** japhb left [23:59] *** japhb joined