[00:00] *** raku-bridge left [00:00] https://pastebin.com/arrsha0K [00:00] hey lembark, you have a message: https://gist.github.com/507c5ef7686bceea8d72b5f0994ecb24 [00:01] *** raku-bridge1 is now known as raku-bridge [00:02] Havn't seen the path recently, whatever it was must have been fixed. [00:03] Checking FindBin, Filesystem::Parent, FindBin::libs: all of them pass with 2020.05: https://pastebin.com/arrsha0K [00:03] If I'm missing a test or not testing something properly please warn me. [00:04] Thank you. [00:06] *** londoed left [00:06] *** londoed joined [00:20] *** konvertex left [00:41] *** KindTwo joined [00:42] *** KindOne left [00:42] *** tejr joined [00:45] *** KindTwo is now known as KindOne [01:05] *** ctilmes left [01:06] *** ctilmes joined [01:10] *** ctilmes left [01:19] *** brtastic left [01:35] *** ctilmes joined [01:39] *** ctilmes left [01:40] *** gnufr33dom joined [01:41] *** molaf_ left [01:53] *** molaf_ joined [01:59] *** poohman_1 joined [02:15] err… if in some fit of over-organization I’ve nested a class in the method of another class, is there an easy/idomatic way to get at the outer method’s self object? [02:18] *** Doc_Holliwould left [02:30] colomon_: for that to work, classes would have to be closures, which i don't think they are? you could stash the self in a variable that's "is dynamic", though. or perhaps i'm mistaken and you can actually OUTER::OUTER::...::OUTER:: [02:34] I’m trying stashing it in a variable of the outer method… though I got bogged down trying to sort out some tricky logic and haven’t tried compiling it with that change yet. [02:35] you can use role parameterization to hold on to the self [02:36] even easier [02:36] for the inner method [02:36] *** Cabanossi left [02:38] method inner(\parent: args...) { class Inner { ... } } [02:39] inside of the Inner class, you can use parent to refer to the outer class, and self to refer to the inner [02:39] *** Cabanossi joined [02:40] m: class Outer { method foo(\parent: ) { class Inner { method bar { parent, self } }; Inner.new; } }; say Outer.new.foo.bar [02:40] rakudo-moar 2b38666f9: OUTPUT: «(Outer.new Outer::Inner.new)␤» [02:40] (sorry, indentation makes that code look MUCH cleaner) [02:41] *** ctilmes joined [02:42] guifa++ # very interesting [02:43] Most of the time people limit the method's invocant signature to just a Type or a :D :U definedness thing [02:44] But you can also specify the name too — there's nothing special about self, it's just the default name [02:45] double-check if it closurizes correctly [02:47] m: class Outer { has $.attr; method foo(\parent: ) { class Inner { method bar { parent, self } }; Inner.new; } }; (my $first-outer = Outer.new(:attr)).foo.bar(); (my $second-outer = Outer.new(:attr)).foo.bar(); $first-outer.foo.bar [02:47] rakudo-moar 2b38666f9: ( no output ) [02:47] m: class Outer { has $.attr; method foo(\parent: ) { class Inner { method bar { parent, self } }; Inner.new; } }; say (my $first-outer = Outer.new(:attr)).foo.bar(); say (my $second-outer = Outer.new(:attr)).foo.bar(); say $first-outer.foo.bar [02:47] rakudo-moar 2b38666f9: OUTPUT: «(Outer.new(attr => "one") Outer::Inner.new)␤(Outer.new(attr => "two") Outer::Inner.new)␤(Outer.new(attr => "one") Outer::Inner.new)␤» [02:47] am i testing what i think i'm testing? [02:47] i should be in bed %) [02:48] It seems to work okay for me [02:48] https://tio.run/##XY7BCoMwEETv@Yo5CNWDOfZg2l76A4Vee1lMIKWJirFIEL89bUyo0MvC7JudnUGN5hhCa8g53GhU3YQFDNDkUPCOrBJfZdWkewlLL1W3@mkkysewuZsq@YGUcd1oXv0OZ90fXO3791hLktJjyRxIMSLrle1zi@KdmiNc2cqY9SgI51w0orKJFU93speK7/UEcxS9/P@xCOED [02:49] errr [02:49] no, it doesn't [02:51] Yeah, you'll just need to store a reference. Just use a Inner.new(parent => self ... ) [02:54] *** ctilmes left [03:00] * guifa2 wonders why classes aren't closures. performance? [03:01] *** holyghost joined [03:04] *** poohman_1 left [03:05] *** poohman_1 joined [03:08] *** farcas1982regreg joined [03:10] *** stoned75_ left [03:11] *** londoed left [03:37] *** mowcat joined [03:42] *** mowcat left [04:14] *** xinming_ left [04:14] *** xinming_ joined [04:38] *** molaf_ left [04:57] *** zacts joined [05:01] *** stoned75 joined [05:09] *** poohman_1 left [05:09] *** poohmaan joined [05:36] *** poohman_1 joined [05:39] *** poohmaan left [05:40] *** sjm_uk joined [06:15] *** brtastic joined [06:20] *** jjmerelo joined [06:20] *** Itaipu left [06:23] *** abraxxa joined [06:27] *** abraxxa left [06:28] *** brtastic left [06:28] closures can't be introspected [06:30] *** abraxxa joined [06:31] *** kensanata joined [06:31] *** poohman joined [06:34] *** poohman_1 left [07:00] *** Doc_Holliwould joined [07:02] *** brtastic joined [07:02] moritz++ aah okay [07:10] *** jjmerelo left [07:23] *** PavelB joined [07:24] *** Manifest0 left [07:27] *** Manifest0 joined [07:28] *** stoned75 left [07:31] *** pecastro joined [07:33] *** dakkar joined [07:37] *** gnufr33dom left [07:39] *** jjmerelo joined [07:42] *** rindolf joined [07:58] *** Altai-man_ joined [08:09] *** benaiah` joined [08:11] *** Woodi_ joined [08:13] *** agentzh_ joined [08:13] *** agentzh_ left [08:13] *** agentzh_ joined [08:15] *** BucciaratiVEVO joined [08:15] *** spacebat1 joined [08:15] *** Bucciarati left [08:15] *** spacedbat left [08:15] *** tony-o left [08:15] *** benaiah left [08:15] *** benaiah` is now known as benaiah [08:16] *** camelia joined [08:17] *** mniip joined [08:17] *** sena_kun joined [08:18] *** Altai-man_ left [08:24] classes have the whole meta object layer [08:24] code will get a meta layer with a user-exposed AST and macros [08:25] *** zacts left [08:26] *** zacts joined [08:34] *** BucciaratiVEVO is now known as Bucciarati [08:41] *** Itaipu joined [08:46] *** Itaipu left [08:53] *** bigwiz joined [08:54] *** bigwiz left [08:54] is rakudo.org unmaintained? [08:54] it still lists 2020.02.1 in the Downloads section and @perl6org Twitter feed unter Community [08:55] or wasn't that renamed? [08:55] it was [09:05] *** Itaipu joined [09:15] I've pushed a commit to fix the twitter handle to the perl6/rakudo.org repo. No idea if that's still the primary source, and if it's updated automatically [09:22] *** stux|RC joined [09:23] *** jjmerelo left [09:23] *** Itaipu left [09:27] *** Itaipu joined [09:30] *** cpan-raku left [09:30] *** cpan-raku joined [09:30] *** cpan-raku left [09:30] *** cpan-raku joined [09:30] *** konvertex joined [09:32] rba: do you know that? ^^ [09:32] *** PavelB left [09:34] *** zacts left [09:35] *** zacts joined [09:49] *** jjmerelo joined [09:52] *** farcas1982regreg left [09:52] *** natrys joined [09:53] moritz: "should" update automatically. Will check now why it doesn't. [09:53] 2020-05-08T10:05:47Z #raku-dev rba https://colabti.org/irclogger/irclogger_log/raku-dev?date=2020-05-08#l41 [09:57] *** bazzaar joined [10:01] moritz: thanks! [10:04] looks better now. In case autoupdate is stuck again, please let me know... [10:05] the mailing list is still named 'perl6-users'? [10:05] seems like [10:06] https://alerts.perl6.org/ has an expired cert [10:06] linked under 'Issue Tracker' [10:09] *** rindolf left [10:11] o/ raku [10:13] bazzaar, o/ [10:16] *** Altai-man_ joined [10:17] I just upgraded to the 2020.05.1 point release, expecting to have to re-install all the modules that I'd installed on top of 2020.05 (a few hours before), but zef list find them all so am I correct to assume they don't need to be re-installed? [10:18] bazzaar, they don't need to be. They will be recompiled if necessary, though, so running some code for the first time might be unusually slower, but on the second time when precompilation is done it'll be faster. [10:19] *** sena_kun left [10:20] Altai-man: thanks for your guidance [10:21] maybe on a related note, is anyone getting a build error installing Digest::SHA256::Native [10:23] *** aborazmeh joined [10:23] *** aborazmeh left [10:23] *** aborazmeh joined [10:24] bazzaar, installed just fine on my linux box, can you provide a log please? [10:27] *** chloekek joined [10:42] Altai-man: here's a gist of the zef --verbose install output (https://gist.github.com/bazzaar/c0d1a7c6bc5e310978e265bc2727e27b) is that sufficient? [10:47] I just updated the gist with the raku -v info [10:47] *** mowcat joined [10:47] bazzaar, I'd create a bugreport about this for the module [10:49] bazzaar, created one - https://github.com/bduggan/p6-digest-sha256-native/issues/2 [10:49] bazzaar, thanks for reporting! [10:51] Altai-man:thanks, you beat me to it :-) my one finger typing is so slow :-) [10:51] *** ctilmes joined [10:54] abraxxa: looks like the entirety of alerts.perl6.org is down, and alerts.raku.org not set up yet [11:07] *** chloekek_ joined [11:11] *** chloekek left [11:14] *** rindolf joined [11:21] *** Benett left [11:23] *** Benett joined [11:25] timotimo: thanks for checking! [11:30] i just removed the s from https :D [11:44] m: grammar test { regex TOP {\:}; regex key {\V*};regex value {\V*};}; my $a = test1.parse("name:winnie");say $a;my $c="key";say $a<$c>; [11:44] rakudo-moar 9a583dcbe: OUTPUT: «5===SORRY!5=== Error while compiling ␤Undeclared routine:␤ test1 used at line 1␤␤» [11:44] m: grammar test { regex TOP {\:}; regex key {\V*};regex value {\V*};}; my $a = test.parse("name:winnie");say $a;my $c="key";say $a<$c>; [11:44] rakudo-moar 9a583dcbe: OUTPUT: «「name」␤Nil␤» [11:45] hello all [11:45] what should I do to $c to get it working within <>? [11:50] The $c isn't the problem, it's that the <...> form is for literal keys. Use $a{$c} [11:51] ok thanks jnthn [11:51] poohman: remember, curlies indicate there's code inside [11:52] < > indicate quoted words [11:53] m: grammar test { regex TOP {\:}; regex key {\V*};regex value {\V*};}; my $a = test.parse("name:winnie");say $a;my $c="key";say $a<$c>;say $a"key"; [11:53] rakudo-moar 9a583dcbe: OUTPUT: «5===SORRY!5=== Error while compiling ␤Two terms in a row␤at :1␤------> 3ay $a;my $c="key";say $a<$c>;say $a7⏏5"key";␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement e…» [11:53] m: grammar test { regex TOP {\:}; regex key {\V*};regex value {\V*};}; my $a = test.parse("name:winnie");say $a;my $c="key";say $a<$c>;say $a{"key"}; [11:53] rakudo-moar 9a583dcbe: OUTPUT: «「name」␤Nil␤「name」␤» [11:54] thanks [12:00] So [12:00] m: sub foo( $bar, :$n) { return "$bar and $n" }; foo( "Hey" ):n [12:00] rakudo-moar 9a583dcbe: ( no output ) [12:00] m: sub foo( $bar, :$n) { return "$bar and $n" }; say foo( "Hey" ):n [12:00] rakudo-moar 9a583dcbe: OUTPUT: «Hey and True␤» [12:01] Did everyone know this? That you can use named arguments _as adverbs_? [12:01] m: sub foo( $bar, :$n) { return "$bar and $n" }; say foo( "Hey", :n) [12:01] rakudo-moar 9a583dcbe: OUTPUT: «Hey and True␤» [12:02] m: sub foo( $bar, :$n) { return "$bar and $n" }; say foo( "Hey" ):!n [12:02] rakudo-moar 9a583dcbe: OUTPUT: «Hey and False␤» [12:05] *** Doc_Holliwould left [12:06] Adverbs are passed as named arguments in general, and postcircumfix:<( )> is a fancy postfix in the same way array indexing is. [12:07] That said, even though it's possible and makes sense that it would work for the sake of consistency, I've still not found a situation where I'd actually do this :) [12:07] It's used in Data::StaticTable [12:08] It needs to be documented, I guess. [12:08] I thought it was actually applying an adverb to the result of the method. [12:09] https://github.com/shinobi/Data-StaticTable/blob/88bbef5a80e4cb3cb28c83d36f74941e8e6bf3b6/t/StaticTable-query.t#L34-L40 [12:11] Cute, I guess :) [12:13] *** aborazmeh left [12:13] *** natrys left [12:17] *** sena_kun joined [12:18] *** Altai-man_ left [12:33] <[Coke]> . [12:34] *** lembark left [12:35] *** ctilmes left [12:44] Good morning. I've been reading the advent calendars from the beginning; they are fascinating. Thanks to you all. [12:46] \o/ [12:48] tigerpaws: you're welcome :D [13:00] I see perlcabal mentioned several times in the advent calendars, but it no longer exists. Does anyone know where it's gone? [13:02] *** caterfxo left [13:02] *** jjmerelo left [13:02] *** farcas1982regreg joined [13:04] hard to tell due to the different nicknames in the different media [13:05] What I saw at http://perlcabal.org/syn/ were mentions of the perl6 synopsis, which I understand are the detailed specs. [13:06] <[Coke]> cabal was a loose org of people. It is, so far as I know, no longer a thing. [13:09] *** telex left [13:10] *** telex joined [13:11] Thanks. I was just trying to follow some links in old (2010) advent calendar articles. [13:13] *** mahafyi joined [13:35] ¦ doc: 0143a7cb90 | Coke++ | doc/Type/Mu.pod6 [13:35] ¦ doc: .perl to .raku [13:35] ¦ doc: review: https://github.com/Raku/doc/commit/0143a7cb90 [13:35] ¦ doc: ecfee5bcfa | Coke++ | xt/code.pws [13:35] ¦ doc: new code example word [13:35] ¦ doc: review: https://github.com/Raku/doc/commit/ecfee5bcfa [13:35] ¦ doc: 4a3569ebcf | Coke++ | doc/Language/regexes.pod6 [13:35] ¦ doc: typo [13:35] Link: https://docs.raku.org/type/Mu [13:35] ¦ doc: review: https://github.com/Raku/doc/commit/4a3569ebcf [13:35] Link: https://docs.raku.org/language/regexes [14:01] ¦ doc: coke assigned to stoned Issue xt/routine-definitions.t failures https://github.com/Raku/doc/issues/3390 [14:02] ¦ doc: coke unassigned from stoned Issue xt/routine-definitions.t failures https://github.com/Raku/doc/issues/3390 [14:03] *** zacts left [14:06] *** gnufr33dom joined [14:16] *** Altai-man_ joined [14:16] *** gnufr33dom left [14:19] *** sena_kun left [14:25] *** gnufr33dom joined [14:30] hello - if a variable has nil value, then I can check using defined. Can "any" also be checked with defined? [14:31] assigning Nil to a variable will reset it to its default value, which for variables without a given type will be "Any", i.e. the any type object [14:31] Any will have .defined be False [14:32] thanks timotimo [14:33] I am confused about the JS backend: is it meant to run in a browser eventually, or is it meant to be like the moar and java backends for actual computers, just using a JS engine? [14:33] but sometimes for example when a Grammar has not match - I can see Nil printed - is Nil the default value for grammars? [14:33] the default value for failed matches [14:33] robertle: the js backend already runs in a browser, as well as node [14:33] <[Coke]> It is runnable in a browser today (there's a URL somewhere that showcases this). if you want to run it locally on top of node, I recommend using the npm package to install it rather than trying to build it from the repo [14:34] ok, great. I somehow missed the browser part and could only see the node part. browser is what I am after... [14:35] thanks [14:37] https://perl6.github.io/6pad/ [14:37] surprisingly hard to find, haha [14:38] loading rakudo.js takes a little while, though when you first hit execute [14:39] *** cpan-raku left [14:40] hehe, yeah. on this machine: almost forever :) [14:40] *** cpan-raku joined [14:40] *** cpan-raku left [14:40] *** cpan-raku joined [14:40] for me it loaded for ages, but then even the first run was fast:) [14:41] about as fast as my moar CLI, at least in eye-seconds [14:41] <[Coke]> can someone add that URL to the rakudo readme or someplace in the docs? [14:42] <[Coke]> (the 6pad one) [14:43] <[Coke]> m: say 6^..^9, 6^...^9 [14:43] rakudo-moar 9a583dcbe: OUTPUT: «(6 7 8)␤» [14:43] <[Coke]> m: say 6^...^9 [14:43] rakudo-moar 9a583dcbe: OUTPUT: «(7 8)␤» [14:43] <[Coke]> m: say [+] 6^...^9 [14:43] rakudo-moar 9a583dcbe: OUTPUT: «15␤» [14:43] <[Coke]> ^^ that last one is failing in the 6pad site. [14:43] <[Coke]> (ah, [+] is not needed) [14:54] *** brtastic left [14:59] *** thundergnat joined [15:01] tigerpaws: The synopsis (used to be perlcabal) are still available: https://design.raku.org/ Be aware, they are out-of -date and are mostly of historical interest. [15:01] *** thundergnat left [15:20] *** brtastic joined [15:23] *** molaf joined [15:26] *** __jrjsmrtn__ joined [15:26] *** _jrjsmrtn left [15:29] *** caterfxo joined [15:36] yet another Rakudo Weekly News hits the Net: https://rakudoweekly.blog/2020/05/11/2020-19-release-release/ [15:41] thundergnat: Thanks, I'll have a look, with the understanding they are out of date. [15:41] tigerpaws, I'll pass your message to thundergnat [15:48] *** sour joined [15:52] <[Coke]> .tell vrurg - there a several cases in Test::Async where it's and its usage needs to be updated - it looks like the docs are duplicated in two places in the repo. Where should a PR focus on? [15:52] [Coke], I'll pass your message to vrurg [16:02] *** farcas1982regreg left [16:04] *** farcas1982regreg joined [16:10] *** girafe2 left [16:13] *** melezhik joined [16:16] *** patrickb joined [16:17] *** sena_kun joined [16:18] *** xinming_ left [16:18] *** Altai-man_ left [16:20] *** xinming_ joined [16:22] [Coke]: sorry, what do you mean with 'focus'? [16:22] 2020-05-11T15:52:24Z #raku <[Coke]> vrurg - there a several cases in Test::Async where it's and its usage needs to be updated - it looks like the docs are duplicated in two places in the repo. Where should a PR focus on? [16:23] m: multi trait_mod:(Attribute $attr, :&bla!) {say 42}; role :: { has $.a is bla{;} } [16:23] rakudo-moar 9a583dcbe: OUTPUT: «===SORRY!===␤Cannot invoke this object (REPR: Null; VMNull)␤» [16:24] <[Coke]> vrurg: where do I make the changes? I assume you are generating the .md or the .rakudoc files, but I don't know which [16:25] <[Coke]> I hestitate to make the same changes blindly in both [16:25] [Coke]: rakudoc is the source. [16:25] <[Coke]> also, the README has "testing testing" which could be correct but reads like a duplicate word. [16:25] <[Coke]> vrurg: ok. [16:25] m: say 6^...^9 [16:25] rakudo-moar 9a583dcbe: OUTPUT: «(7 8)␤» [16:27] *** mowcat left [16:27] *** chloekek_ left [16:27] *** jjmerelo joined [16:27] [Coke]: right, 'testing testing' and then 'tested' later... Frankly saying, I wrote it in write-only mode, without proofreading due to lack of time. [16:27] [Coke]: and thank you! [16:27] Did I hear rakudoc? [16:29] jjmerelo: don't worry, it was about file extension :) [16:29] * jjmerelo goes back to cave [16:29] jjmerelo: BTW, I saw notifications. Will look into is-run vs. is_run later today. I used is_run in a test or two, so it's usable. [16:30] * vrurg is afk for a while [16:31] vrurg I know, but it's probably not worth the trouble to port the current code to it. We can simply call it some other way, since it's got a different signature and all. [16:32] @[Coke]: why is 6^...^9 working here but not in 6pad or my own copy of rakudo 6.d: ===SORRY!=== Error while compiling: [16:32] Malformed postfix call [16:32] ------> say 6^...^⏏9; [16:33] I've tried with or without spaces around the ^. No dice. [16:33] i think ^...^ was just recently implemented [16:34] committable6: all say 6^...^9 [16:34] *** dakkar left [16:34] MasterDuke, https://gist.github.com/dd6a89167e1e60ce0228ef5c9f21d3a6 [16:35] introduced after 2020.02.1 [16:36] Ah. That makes sense. No wonder. Thanks. So the rakudo running here is basically the raw latest commits? [16:36] Very cool! [16:38] you can run any version that successfully compiled using committable6 [16:38] usually, it mentions the commit hash in its response [16:39] I see. I noticed the hash id, but hadn't figured out what it refers to. I learn so much lurking in this channel. [16:46] *** lembark joined [16:59] *** chloekek joined [17:04] *** patrickz joined [17:05] *** patrickb left [17:10] *** farcas1982regreg left [17:10] *** guifa left [17:20] *** Itaipu left [17:21] *** farcas1982regreg joined [17:23] *** kensanata left [17:28] *** girafe joined [17:40] *** sour left [17:44] *** sour joined [17:45] *** sour left [17:55] Do we have a short equivalent to ruby's enumerable#cycle in the stdlib? Something that repeats elems of a seq forever/up to n times? [1,2].cycle => 1,2,1,2,... [17:55] *** Dwarf joined [17:56] <[Coke]> m: say [1,2] x Inf [17:56] rakudo-moar e46d45902: OUTPUT: «Cat object not yet implemented. Sorry.␤ in block at line 1␤␤» [17:56] *** Itaipu joined [17:57] Hello, I'm venturing into the world of raku and decided to start with a simple dice roll parser to learn grammars. I want to say I've come decently far except for the fact that it doesn't actually match anything. Any pointers are welcome: https://p.bcome.nl/?33b5ba5828cde1da#xxv2QuBylKIcwDfk5+rfh7hA/ok64xK1lmDrxtm+0gM= [17:57] m: say [1,2] xx Inf [17:57] rakudo-moar e46d45902: OUTPUT: «(...)␤» [17:57] m: say ([1,2] xx Inf)[^10] [17:57] rakudo-moar e46d45902: OUTPUT: «([1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2] [1 2])␤» [17:57] m: say (|[1,2] xx Inf)[^10] [17:57] rakudo-moar e46d45902: OUTPUT: «(1 2 1 2 1 2 1 2 1 2)␤» [17:57] Sweet, thanks a lot! [17:58] <[Coke]> jnthn++ [18:02] m: slip(1,2) xx * # perhaps better readable [18:02] m: dd slip(1,2) xx * # perhaps better readable [18:02] rakudo-moar e46d45902: OUTPUT: «(timeout)» [18:02] rakudo-moar e46d45902: OUTPUT: «(1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2…» [18:03] <[Coke]> lizmat++ [18:04] *** Doc_Holliwould joined [18:08] *** ctilmes joined [18:10] I know I'm a bit over my head here, but I'm trying to use nqp to do stuff I know I'm not supposed to. I can define a native 'str' in a CStruct, then nqp::bindattr_s() a string into it and that works fine. [18:10] But how do I make it a NULL pointer? I can't bind a type object into it [18:12] *** jjmerelo left [18:13] ctilmes: Maybe bind nqp::null_s [18:14] ctilmes: you may also find https://github.com/Raku/nqp/blob/master/docs/ops.markdown enlighting [18:14] [Coke]++ for keeping that up-to-date [18:15] New module released to CPAN! Date::Calendar::FrenchRevolutionary (0.0.5) by 03JFORGET [18:15] New module released to CPAN! Cro::HTTP::Session::Pg (0.1) by 03JNTHN [18:16] *** Altai-man_ joined [18:17] `use I::Solemny::Swear::I::Am::Up::To::No::Good;` [18:18] jnthn, lizmat: Thanks -- that's perfect, it works the way I want it to. [18:18] <[Coke]> lizmat: oh, only barely. so much left. :) [18:18] *** sena_kun left [18:21] lizmat: thanks for the that slip variant, but (|@freqs xx Inf).produce(* + *)... is fine. Doing advent of code atm and simply wanted to match d's freqs.cycle.cumulativeFold!"a+b"... [18:22] *** sauvin left [18:23] *** abraxxa left [18:24] *** abraxxa joined [18:31] *** cognomin_ joined [18:33] *** cognominal left [18:34] *** cognomin_ left [18:35] *** cognominal joined [18:37] *** robertle left [18:38] *** robertle joined [18:38] anyone know why the currency "symbol" for the uae dirham copies backwards? [18:38] is that some sort of unicode left vs right read thing? [18:52] *** patrickz left [18:52] *** rindolf left [18:53] *** daxim joined [19:12] *** holyghost left [19:12] *** holyghost joined [19:14] *** veesh left [19:15] *** veesh joined [19:17] *** veesh left [19:19] *** veesh joined [19:19] *** TeamBlast joined [19:20] *** ToddAndMargo joined [19:20] should it be easy to call strfmon_l() with NativeCall? [19:22] Anyone on newbie duty? Is there a module for Windows that would allow me to create a fill in form? City, state, etc, you fill in the blanks? [19:27] *** mowcat joined [19:31] *** stoned75 joined [19:42] *** lichtkind joined [19:45] *** sjm_uk left [19:53] *** Marcool joined [19:54] Hi all! [19:54] github user alabamenhu isn't here by any chance are you? [19:55] Marcool: i believe that's guifa2 [19:56] That's me [19:56] oh hi! [19:56] jdv79: possibly -- if you need variadic, it is more complicated. If you need multiple architectures it is more complicated. [19:56] I posted an issue on github for LanguageTag the other day [19:56] Mark [19:56] * guifa2 grumbles about someone having taken 'guifa' on github [19:56] :D [19:56] jdv79: if you just hard code the specific list of args/types you are calling it isn't bad [19:57] I'm still trying to get Fluent to work and just can't get my head around this one test failure I'm seeing [19:58] Marcool : I can take a look at it in a min for you [19:58] what's the error it's giving? [19:59] * guifa2 hasn't worked on Fluent in a while, sadly [19:59] well it's related to the signature of plural-count [19:59] hi, all [19:59] which is a sub exported by Intl::CLDR [20:00] we're talking about test 2 of t/03-Selectors.t (in Fluent) [20:00] any idea why DateTime.local shows the TZ offset? [20:02] guifa2: I'll post a pastebin gime a sec [20:02] it should show "local" time, e.g.: yyyy-mm-ddThh:mm:ss.ss [20:02] tbrowder that's the default .Str for all DateTime objects [20:03] .local just returns another DateTime object with the timezone set differently [20:03] guifa2: here it is: https://framabin.org/p/?f9eb8e00b8a333da#BQ3rIUxtWrgor0P6WBGs4z8oxKjKSAO3UWGDHaNFJUY= [20:04] hm, in my prog with no formatter i'm getting an offset...but let me double check again...back in a mo [20:06] *** konvertex left [20:07] nope. with the latest raku, i get the tz offset [20:07] in either case, local or not [20:08] m: say DateTime.now [20:08] rakudo-moar 110324d36: OUTPUT: «2020-05-11T22:08:06.372000+02:00␤» [20:08] m: say DateTime.now.local [20:08] rakudo-moar 110324d36: OUTPUT: «2020-05-11T22:08:32.021644+02:00␤» [20:09] makes no sense to me [20:09] committable6: 2020.02.1 say DateTime.now; say DateTime.now.local [20:09] MasterDuke, ¦2020.02.1: «2020-05-11T22:09:05.512677+02:00␤2020-05-11T22:09:05.515432+02:00␤» [20:09] Marcool hmm, I probably just need to adjust either Fluent or Intl::Plurals to coerce to an Int it seems like. [20:09] committable6: 2020.01 say DateTime.now; say DateTime.now.local [20:09] MasterDuke, ¦2020.01: «2020-05-11T22:09:47.518958+02:00␤2020-05-11T22:09:47.524534+02:00␤» [20:09] Once I'm done with lunch I should be able to fix it fairly quickly [20:10] guifa2: oh it's the Int is it? I was trying to fix it and though it had to do with the Str/LanguageTag part… [20:10] guifa2: please, eat your lunch :) [20:11] *** konvertex joined [20:11] but also, I haven't touched Fluent in a while and have made a lot more changes to the Intl:: library since then, so there may bee some interfacing disconnect there [20:11] i want to file an issue but not if i'm misunderstanding local [20:13] tbrowder: dealing with datetimes is prone to misunderstandings everywhere :-) [20:13] tbrowder: a DateTime is naturally created with the timezone set to $*TZ [20:13] *** tomaw left [20:13] *** tomaw joined [20:14] .local converts a DateTime to give the equivalent time using $*TZ [20:14] which might make you think that .local is useless and for most users it probably is [20:14] yes, but at least i should have an adverb to chop off the offset. i shouldn't have to write a formatter [20:16] you really should use a formatter for it, though. And even better, use Intl::Format::DateTime so it's localized [20:17] *** sena_kun joined [20:18] i use :truncate-to and that doesn't chop it either [20:18] ay, yr module is it? i wasn't aware of it [20:18] *** Altai-man_ left [20:20] again, it hasn't been touched in a bit but that's what I was working on the most before I had to pause back in Nov or Dec, but the date formatting for gregorian dates should be okay (slash, bug report if they're not) [20:20] i'll check it out. thnx [20:26] *** brtastic left [20:32] guifa: haven't found the module yet. not in modules, not on yr github acct, i must be blind [20:33] *** chloekek left [20:34] *** stoned75 left [20:34] ok, given i have to live with the offset, is there [20:35] forget that ff, pls ^^^ [20:35] *** Marcool left [20:37] *** Marcool joined [20:40] *** farcas1982regreg left [20:41] i've learned to live with the offset now...thnx [20:41] What would be the best way to do a search and replace on all values in a Hash? I know I could write a loop to do a substr on each key, but is there a more efficient way to do this? [20:48] *** guifa joined [20:48] Alright, on main computer, let's see what's going on [20:49] ¦ doc: eb38dcde44 | Coke++ | xt/code.pws [20:49] ¦ doc: learn new code snippet [20:49] ¦ doc: review: https://github.com/Raku/doc/commit/eb38dcde44 [20:49] tbrowder: it's a sub module in Intl::CLDR, sorry I should have mentioned that [20:50] I actually started out making Intl::CLDR so that I could handle plurals in Fluent, the project ballooned a bit and I'm working on reorganizing stuff slowly but surely [20:54] guifa2: I'm happy to help, honestly I've tried to figure out where that test failure is coming from but the code base is a bit too wide for me to get exactly what's doing what in a few hours [20:54] guifa2: (oh sorry, you were talking about the DateTime issue…) [21:02] ¦ doc: 8e14dfb9b1 | Coke++ | 3 files [21:02] ¦ doc: .raku to .perl [21:02] ¦ doc: [21:02] ¦ doc: (mark it ok where it is) [21:02] ¦ doc: [21:02] ¦ doc: Part of #3309 [21:02] ¦ doc: review: https://github.com/Raku/doc/commit/8e14dfb9b1 [21:02] DOC#3309 [open]: https://github.com/Raku/doc/issues/3309 [docs][update] Change .perl to .raku in examples [21:02] *** ToddAndMargo left [21:06] *** melezhik left [21:08] Marcool I am working on it, just realized I've got a buggy CLDR install, fixing that first [21:11] *** lumin left [21:12] *** lumin joined [21:13] * guifa . o O ( this is why I hate having to take a sudden break from coding ) [21:25] *** natKAT joined [21:27] Hrm, the only thing I can think of right now is that when I renamed stuff from Intl::BCP47 to Intl::LanguageTag for some reason it's catching it as being two distinct classes [21:27] *** natKAT left [21:27] So the issue was in CLDR, not in Fluent [21:34] Marcool check out the newest version of CLDR on github, I think that should work [21:43] *** mowcat left [21:44] <[Coke]> if I wanted to do something with a GUI that had a prayer of working on win/mac/linux in raku, any pointers? [21:44] <[Coke]> ... (rakudo.js, probably? :) [21:44] <[Coke]> or Cro. hurm. [21:45] yeah, cro, or be bold and Inline::Python into Qt [21:45] <[Coke]> webapp might be the way to go. :| [21:46] always webapp :) [21:47] I've had good recent experiences with Gtk for cross-platformness recently, though not in Raku [21:49] i have two driving reasons to never bother with any desktop toolkits - i already know how to throw bootstrap in my web apps, and i can be reasonably certain it will still look right in windows and on phones [21:49] and decent even, not just "right" [21:50] the other reasons are mostly selfish :) [21:50] well, we do have GTK::Simple and Simpler i think [21:50] and we did build some DLLs for windows [21:50] nothing for macos, though [22:01] * guifa adds rakudo.js to his list of things to learn this summer [22:06] *** girafe left [22:09] *** bazzaar left [22:12] guifa: looks like you're got a stray "use lib ../../../" in Intl::CLDR file lib/Format/DateTime.pm6 [22:15] *** girafe joined [22:16] Marcool was it still able to compile? If not, I'll reupdate [22:16] *** Altai-man_ joined [22:16] guifa: the same plural-count error is showing up in the 04-Functions.t test now, first test… [22:16] *** vike1 joined [22:16] huh, when you include that file, it'll go off of the PWD, won't it? [22:17] guifa: https://framabin.org/p/?10239ba64a894852#pBunhF4AciSbDhJ2vGzizHr6h9Y88bWrw7erlQYW7x4= [22:17] so if you are in /home/marcool and -I ThatFolder -MIntl::CLDR, it'll go off and read out the entirety of your filesystems to build a hash [22:18] timotimo: I removed that line from guifa's code :) [22:19] *** sena_kun left [22:19] *** vike left [22:21] (I meant to write "looks like you'Ve got"…) [22:21] Marcool ah crap. I think at one point in time the plural-count() function defaulted to the current user language [22:21] weird that that error iddn't point up when I tried to do a zef install [22:21] didn't pop* [22:23] right that makes sense [22:23] not sure how the tests passed though :/ [22:23] I get tripped up when I'm messing with modules between what's installed and what's in cwd sometimes when running tests [22:24] I suppose one should "zef uninstall .; zef install ." [22:25] Yeah I'm guilty of the same [22:27] you sure have a sence of aesthetics in your code, I love it, example : https://github.com/alabamenhu/Intl-CLDR/blob/d009f43a2f001a9d7d7f92d275373e541e92f4e3/lib/Intl/Format/DateTime.pm6#L7 [22:27] : [22:27] :D [22:29] so for some reason it's not getting the number pattern correctly for AS. Let me see if I can figure out what's going on [22:30] Definitely an issue in CLDR and not Fluent — the same callworks okay with EN or AR [22:32] Yup. Confirmed. It's a problem it seems in the fallback code. [22:33] So you should be okay testing it for now with EN/AR/ES etc but I'll try to track down the CLDR fallback issue [22:33] *** Kaiepi left [22:34] *** Kaiepi joined [22:35] *** Kaiepi left [22:35] *** Kaiepi joined [22:36] *** xinming_ left [22:37] *** xinming_ joined [22:37] *** Benett left [22:37] *** Benett joined [22:43] Bingo found it [22:43] In META6.json for some reason all of the language alias data files weren't present [22:43] And root.data is ahem, kind of the most important [22:43] guifa: ahah [22:43] I've force-test installed it, and now have this on first call to localized(): [22:43] Use of uninitialized value %result{'resources/localization/en.ftl'} of type Any in string context. [22:44] have I messed up the resource file thing somehow? [22:44] that file definitely exists… [22:45] (from cwd, I'm just testing from a plain raku prompt, use Fluent; add-localization-basepath('localization/', :resource); add-localization-languages('en', 'fr'); say(localized 'example' ); [22:45] Ah [22:45] don't use :resource [22:45] that's for modules only [22:45] okay! [22:45] works :D [22:45] (you access module resource files differently from disk files, so I had to add the option) [22:46] that makes sense [22:46] I had it there 'cos I'm trying to write this as a module [22:46] All these CLDR data files are autogenerated, I think I should finally write a META6.json autogenerator lol [22:47] it's a lot of great work anyhow thanks for taking the time to debug as I asked! [22:48] *** Altai-man_ left [22:50] No, seriously, thanks for kicking my but in gear to fix this stuff. I'm supposed to present on this in June for the P&R CitC so.... needs to be updated and functioning :-) [22:52] I'm sure it will be :-) thanks for all the work [22:53] I need to do a pretty heavy overhaul of the Fluent code, btw. They've updated the standard a little bit, although they've done good at keeping syntax changes up to date. [22:53] and no breaking [22:53] non* [22:56] there are a few "deprecation" warning in the tests too, but you seem to have coded them so not sure what they're about... about the .type method that should be a .valid ? [22:56] Yeah. LanguageTag has also been in a state of overhaul :-) [22:57] I'm probably going to focus on finishing that one out, since it's kind of the most important of the modules since everyone things else depends (literally and figuratively) on it [23:01] ok I need to sleep some now! have a good (rest of your) day all! [23:01] cheers guifa! [23:02] *** Marcool left [23:06] ¦ doc: tbrowder self-assigned Better document use of '$' in forma https://github.com/Raku/doc/issues/3394 [23:11] *** MasterDuke left [23:27] *** pecastro left [23:32] *** ctilmes left [23:32] *** lichtkind left [23:36] *** mahafyi left [23:36] *** lembark left [23:40] *** farcas1982regreg joined