🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 6 September 2022.
00:00 reportable6 left, reportable6 joined 00:09 vrurg_ joined 00:11 vrurg left
Anton Antonov @guifa Link(s)? 01:04
guifa Will post as soon as I fixed an issue with the week formatter
guifa is having to do math and ... boo 01:05
01:08 MasterDuke left
guifa Basically I realized that Raku's week-based functions for $datetime were all pretty much based on ISO 01:21
but for proper localization, I needed to be able to adjust the formula. Most of the ones online are optimized for that case, and so I'm working back from a multilayer formula now to see just how slim I can make it 01:22
01:28 nort left 02:10 teatwo joined 02:13 tea3po left 02:15 teatwo left, teatwo joined 02:35 jumpnbrownweasel joined 02:37 epony left 02:59 epony joined 03:19 lmz joined 03:27 nort joined 03:34 nort left 03:36 nort joined 04:11 holyghost left, nort left 04:19 nort joined 04:20 nort left 04:21 nort joined 04:25 nort left 05:25 sourceable6 left, squashable6 left, benchable6 left, unicodable6 left, tellable6 left, shareable6 left, evalable6 left, linkable6 left, coverable6 left, nativecallable6 left, statisfiable6 left, bloatable6 left, reportable6 left, notable6 left, quotable6 left, releasable6 left, greppable6 left, bisectable6 left, committable6 left, statisfiable6 joined, reportable6 joined, linkable6 joined 05:26 quotable6 joined, nativecallable6 joined, coverable6 joined, unicodable6 joined, tellable6 joined, bisectable6 joined, notable6 joined 05:27 releasable6 joined, committable6 joined, evalable6 joined, greppable6 joined, benchable6 joined, squashable6 joined, shareable6 joined 05:28 bloatable6 joined, sourceable6 joined 06:00 reportable6 left 06:02 reportable6 joined 06:33 jpn joined 06:57 jpn left 06:58 epony left 06:59 jpn joined 07:06 jpn left 07:21 holyghost joined 07:24 epony joined, nort joined 07:35 nort left
Anton Antonov @guifa I find programming date both difficult and boring, so, I consider your efforts heroic . 07:35
07:36 nort joined 07:40 nort left 07:43 jpn joined 08:38 sena_kun joined 08:43 Fritz joined 08:47 Fritz is now known as fritz 09:57 holyghost left 09:58 fritz left 10:29 Sgeo left 11:16 lmz left 11:26 jpn left 11:28 squashable6 left 11:29 squashable6 joined 11:56 holyghost joined 12:00 reportable6 left 12:01 reportable6 joined 12:02 reportable6 left, reportable6 joined
guifa AntonAntonov: I don't necessarily find it boring, but difficult for sure. It's so easy to have a single digit or operator wrong and everything blows up. 12:05
I'm still trying to figure out the best way to handle adding in new calendar types 12:11
Timezones was one thing because for the most part it doesn't muck with anything involved in calculations other than the offset which is built into DateTIme anyways 12:12
12:16 Fritz joined 12:38 jpn joined 12:54 jpn left 13:07 jpn joined 13:11 Xliff joined
Xliff \o 13:11
tellable6 2023-04-06T15:40:58Z #raku <tonyo> xliff these svg docs from mdn aren't very consistent, you may find some issues with types when you start trying to use the SVG in Ryml
Xliff Happy Caturday!
.tell tonyo No worries. Thanks for your efforts!
tellable6 Xliff, I'll pass your message to tonyo
Xliff Is this a bug?
Cannot resolve caller openDB(Bizzell::Roles::DB:U: Str:D, Hash:D); none of these signatures matches:
(Bizzell::Roles::DB: $name, *%_)
(Bizzell::Roles::DB: $name, $config, *%_)
m: sub a ($b, $c) { say $b.^name; say $c.^name }; my $c = { a => 1 }; a("Bleah!", $c) 13:13
camelia Str
Hash
Xliff ???
Anton Antonov @guifa Again -- heroic considerations. 🙂 13:15
Xliff m: sub a ($b, $c) { say $b.^name; say $c.^name }; my $c = { a => { b=> 2 } }; a("Bleah!", $c<a>)
camelia Str
Hash
guifa I'd love if we could have Dateish and Timeish objects separate, and then it just happens that DateTime fulfills both roles 13:16
13:16 Vyrus left
Xliff m: my $c = { a => { b=> 2 } }; multi sub ($a) { samewith($a, $c{$a} ); }; sub a ($b, $c) { say $b.^name; say $c.^name }; a('a') 13:16
camelia ===SORRY!=== Error while compiling <tmp>
An anonymous routine may not take a multi declarator
at <tmp>:1
------> ulti sub ($a) { samewith($a, $c{$a} ); }⏏; sub a ($b, $c) { say $b.^name; say $c.
expecting any of:
h…
Xliff m: my $c = { a => { b=> 2 } }; multi sub a ($a) { samewith($a, $c{$a} ); }; sub a ($b, $c) { say $b.^name; say $c.^name }; a('a')
camelia ===SORRY!=== Error while compiling <tmp>
Redeclaration of routine 'a'. Did you mean to declare a multi-sub?
at <tmp>:1
------> ($b, $c) { say $b.^name; say $c.^name }⏏; a('a')
expecting any of:
horizontal whitesp…
Xliff m: my $c = { a => { b=> 2 } }; multi sub a ($a) { samewith($a, $c{$a} ); }; multi sub a ($b, $c) { say $b.^name; say $c.^name }; a('a')
camelia Str
Hash
Xliff m: my $c = { a => { b=> 2 } }; class A { multi method a ($a) { samewith($a, $c{$a} ); }; multi method a ($b, $c) { say $b.^name; say $c.^name }; }; A.a('a') 13:17
camelia Str
Hash
Xliff Huh. That's the entire golf and I can't replicate. 13:18
m: my %c = ( a => { b=> 2 } ); class A { multi method a ($a) { samewith($a, $c{$a} ); }; multi method a ($b, $c) { say $b.^name; say $c.^name }; }; A.a('a')
camelia ===SORRY!=== Error while compiling <tmp>
Variable '$c' is not declared. Did you mean '%c'?
at <tmp>:1
------> { multi method a ($a) { samewith($a, ⏏$c{$a} ); }; multi method a ($b, $c) {
Xliff m: my %c = ( a => { b=> 2 } ); class A { multi method a ($a) { samewith($a, %c{$a} ); }; multi method a ($b, $c) { say $b.^name; say $c.^name }; }; A.a('a')
camelia Str
Hash
Anton Antonov @guifa Is there an "official" Timish role? 13:28
guifa There is not 13:29
13:29 holyghost left, Xliff left 13:30 Vyrus joined, an3223 left 13:34 Vyrus left 13:35 Fritz left
guifa In a perfect world, we'd have Dateish, Timeish, and then where we have DateTime we could check for Dateish/Timeish 13:38
13:38 jpn left
guifa right now though, the Dateish role is a bit odd, because while you can assume use Dateish as a generic type constraint (allowing other calendar systems), you can't do the same once time is added in 13:40
Anton Antonov @guifa Would it be hard to make perfect parallel world for you? You can define Timish, then, say, TimeDate that inherits DateTime and plays both Timish and Datish. 13:41
guifa Yeah unfortunately it wouldn't serve my goals. 13:44
I'd like to have a drop in module that suddenly makes other calendar systems available but keep them compatible with everything else in Raku 13:45
DateTime::Timezones does that -- just add it and boom, all DateTimes in Raku are now fully timezone aware
Anton Antonov @guifa I see. You need a suitable placeholder role in Datish or DateTime. 13:47
guifa I think it's doable, but I'm not sure how it would interact with DateTime::Timezones. I need to do some more experiments 13:48
13:52 jpn joined 13:54 Vyrus joined 13:56 Vyrus left 13:57 Vyrus joined
guifa The nice thing is once I'm done, the formatting code only requires one tiny change 13:59
14:10 tea3po joined 14:12 tea3po left, tea3po joined 14:13 teatwo left 14:24 an3223 joined 14:27 Vyrus left, tea3po left, Vyrus joined, tea3po joined 14:29 Vyrus left 14:32 Vyrus joined 14:34 Vyrus left 14:35 Vyrus joined 14:51 TieUpYourCamel left 14:56 jpn left 15:03 jpn joined, TieUpYourCamel joined 15:15 an3223 left 15:36 MoC joined 15:44 nort joined 15:48 kylese joined 16:07 Util joined
gfldex guifa: If you got a standalone time-object (without a date part), how do you convert that to GPS-time (or any other universal time), if you don't know if it's a leap day? 16:13
guifa: Also, how do you validate a time-object if you don't know if a leap second may pop up? 16:14
16:17 jpn left 16:21 jpn joined
guifa gfldex: there wouldn't be a conversion to anything else, as it'd be date agnostic 16:36
Nemokosch leap seconds have been suspended for a long enough time from what I know
from IT point of view, it was super annoying for everyone 16:37
16:44 Fritz joined 16:49 kylese left
guifa New leapseconds have been suspended for the time being -- basically so they can figure out what to do an avoid a Y2K thing when there's a negative one included (fwiw, the ubiquitous tz library already supports them. another reason to not roll your own especially when tz is crazy portable) 16:50
but you still have to deal with the current ones. sort of like if they got rid of DST -- still gotta deal with the older times
16:52 Fritz left 16:59 MoC left 17:20 Tirifto_ joined, avuserow_ joined 17:22 eseyman_ joined 17:24 Tirifto left, eseyman left, avuserow left, bd3i left 17:27 bd3i joined 17:32 MasterDuke joined 18:00 reportable6 left 18:02 reportable6 joined
Nemokosch the older ones can be just listed. The Rakudo implementation does something to deal with them, even if I'm not completely sure it does "the right thing" 18:20
18:23 jpn left 18:56 sena_kun left, sena_kun joined 19:10 jpn joined 19:24 ab5tract joined 19:27 jpn left 19:30 ab5tract left 19:43 jpn joined 19:53 jpn left 20:41 Sgeo joined 21:03 jpn joined 21:26 squashable6 left 21:27 squashable6 joined 21:29 sena_kun left 21:32 jpn left 21:36 Fritz joined 21:50 Fritz left 22:04 jpn joined 22:19 epony left 22:21 jpn left 23:24 shareable6 left, squashable6 left, statisfiable6 left, committable6 left, quotable6 left, unicodable6 left, sourceable6 left, benchable6 left, notable6 left, bisectable6 left, greppable6 left, releasable6 left, reportable6 left, tellable6 left, linkable6 left, coverable6 left, nativecallable6 left, evalable6 left 23:25 evalable6 joined, releasable6 joined, shareable6 joined, tellable6 joined 23:26 statisfiable6 joined, benchable6 joined, quotable6 joined, nativecallable6 joined, notable6 joined, sourceable6 joined, coverable6 joined, linkable6 joined 23:27 greppable6 joined, committable6 joined, bisectable6 joined, unicodable6 joined, squashable6 joined, reportable6 joined