🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:27 Celelibi left 00:30 Celelibi joined 00:31 approaching236 left 00:37 epony left 00:38 epony joined 00:56 squashable6 left 00:57 wamba left 00:58 squashable6 joined 01:14 molaf left 01:27 molaf joined 01:43 Doc_Holliwould left 01:48 leont left
Xliff m: class a { sub a { ::?CLASS.^name.say } }; class b is a { }; b.new.a.say 01:48
camelia No such method 'a' for invocant of type 'b'
in block <unit> at <tmp> line 1
Xliff m: class a { method a { ::?CLASS.^name.say } }; class b is a { }; b.new.a.say
camelia a
True
Xliff m: class a { method a { ::?CLASS.^name.say } }; class b is a { }; b.new.a 01:49
camelia a
Xliff m: class a { method a { ::?CLASS.^name.say } }; class b is a { method a { ::?CLASS.name.say; callnext; }; b.new.a
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3 ::?CLASS.name.say; callnext; }; b.new.a7⏏5<EOL>
expecting any of:
statement end
statement modifier
statement modifier loo…
Xliff m: class a { method a { ::?CLASS.^name.say } }; class b is a { method a { ::?CLASS.name.say; callnext; }; }; b.new.a
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
callnext used at line 1
Xliff m: class a { method a { ::?CLASS.^name.say } }; class b is a { method a { ::?CLASS.name.say; callsame; }; }; b.new.a 01:50
camelia No such method 'name' for invocant of type 'b'. Did you mean any of
these: 'none', 'note', 'take'?
in method a at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: class a { method a { ::?CLASS.^name.say } }; class b is a { method a { ::?CLASS.^name.say; callsame; }; }; b.new.a
camelia b
a
02:05 Manifest0 left, Manifest0 joined 02:06 rbt left 02:07 rbt joined 02:08 aborazmeh joined, aborazmeh left, aborazmeh joined 03:08 linkable6 left, evalable6 left, MasterDuke left, evalable6 joined 03:10 linkable6 joined 03:19 cpan-raku left 03:21 cpan-raku joined, cpan-raku left, cpan-raku joined 03:40 sjaveed left 03:41 sjaveed joined 03:46 sjaveed left 03:59 ensamvarg3 joined 04:11 sjaveed joined 04:27 zacts joined 04:29 stoned75 left 04:31 stoned75 joined 04:39 _jrjsmrtn left 04:57 BenGoldberg left 05:06 BenGoldberg joined 05:11 bocaneri joined 05:15 sjaveed left 05:16 billN1VUX left 05:18 Util left 05:19 molaf left 05:26 Util joined 05:40 BenGoldberg left 05:41 aborazmeh left 05:43 BenGoldberg joined 06:04 __jrjsmrtn__ joined 06:10 rbt left, rbt joined 06:28 BenGoldberg left, andrzejku joined, BenGoldberg joined
Geth doc: 73891ad7c0 | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | doc/Type/MixHash.pod6
Remove duplicated section
06:41
linkable6 Link: docs.raku.org/type/MixHash
06:59 Sgeo_ left 07:03 wamba joined 07:05 pecastro joined 07:08 BenGoldberg left 07:12 sjaveed joined 07:16 Altai-man joined 07:18 sjaveed left 07:19 sena_kun joined 07:21 Altai-man left 07:27 aborazmeh joined, aborazmeh left, aborazmeh joined 07:39 dakkar joined 07:46 sjm_uk left 08:03 sjm_uk joined 08:07 Doc_Holliwould joined 08:10 rbt left 08:11 rbt joined, aborazmeh left, aborazmeh joined, aborazmeh left, aborazmeh joined 08:24 wamba left 08:39 tejr left 08:52 wamba joined 08:57 mark[m]8 joined 08:59 sena_kun left, sena_kun joined 09:30 tejr joined 09:38 natrys joined
lizmat weekly: www.youtube.com/playlist?list=PLY6...S4BCOMmAzR 5 Raku videos on YouTube 09:39
notable6 lizmat, Noted! (weekly)
09:52 Doc_Holliwould left, Doc_Holliwould joined 09:56 wamba left 10:00 markoong joined 10:06 sfans joined, sfans left 10:07 sfans joined 10:13 rbt left, rbt joined 10:16 stoned75 left 10:17 raku-bridge left, raku-bridge joined, raku-bridge left, raku-bridge joined 10:18 stoned75 joined 10:27 sfans left, sfans joined 10:28 sfans left 10:32 rindolf joined
Doc_Holliwould I wonder, should we really mention Perl right on the start page of the website? 10:38
"Raku intends to carry forward the high ideals of the Perl community."
sena_kun Doc_Holliwould, this page needs to be updated in a nice way. People before expressed opinions about it to be a bit off, for example, it says "Raku ..." and then "Hi, I'm Camelia", which is kind of inconsistent. If you can volunteer with a PR with something more neat - welcome. :) 10:41
10:42 mark[m]8 left 10:58 markoong left 11:10 Black_Ribbon left
jdv79 i'm fine with it mentioning Perl. its an accurate statement. 11:15
11:15 sjaveed joined 11:18 Altai-man joined 11:19 sjaveed left 11:20 aborazmeh left 11:21 sena_kun left
Doc_Holliwould it's a tainted statement 11:22
twitter.com/KevlinHenney/status/13...1011952640 11:23
lizmat in light with the developments around Perl 7, I would tend to agree with Doc_Holliwould
jdv79 somewhere Damian wrote up some stuff that maybe could sub in about raku philosophy...? 11:26
12:09 leont joined 12:10 rbt left 12:11 rbt joined 12:17 kerframil joined 12:27 natrys left 12:37 stoned75_ joined
timotimo so i've tried setting up a perl app, and for some reason i had to chase a whole bunch of dependencies manually with cpanm to get it to work; what could i have been doing wrong? i perlbrewed my own stable because on this centos the available system version is, of course, vastly out of date 12:38
12:40 stoned75 left
tadzik timotimo: did you miss a cpanfile in there maybe? 12:44
timotimo there is a cpanfile here 12:47
tadzik then you should be able to do `carton install`, maybe --deployment if you have a cpanfile.snapshot, and you'll have a local env with all the deps installed 12:48
you can probably also feed that cpanfile into cpanm and install them systemwide 12:49
carton and cpanfile is like virtualenv and requirements.txt, if that help
-s
timotimo i don't have root on this machine
tadzik carton solves that problem, as long as you have that
ah, you have virtualenv already 12:50
erm, perlbrew*
timotimo so i did "cpanm --installdeps ."
perlbrew and local::lib
tadzik that could work too
Xliff lizmat: In light of what developments?
timotimo after that i was missing HTML::Entities, then i was missing Module::Implementation and JSON, then Sub::Identify and DateTime, then Params::Util and Params::Validate
tadzik timotimo: I guess the cpanfile is bad then 12:51
timotimo every time i tried cpanm --reinstall TheApplication
tadzik or your paths are
lizmat Xliff: how Perl 7 got announced without it being clear what it is going to be, and without gauging what the Perl community would think about that 12:52
it feels to me that the Perl community did *not* learn from the Perl 5 -> Perl 6 process, nor from the Python 2 -> Python 3 process
timotimo on travis-ci it uses --notest --installdeps --with-develop and it does pull in those things i was missing 12:53
tadzik that's maybe the --with-develop part doing the work 12:54
timotimo it does require Code::TidyAll and Perl::Tidy, but not sure that pulls in these things
huh, one of the direct dependencies from the same author has JSON as its dependency in the cpanfile 12:59
i'll just call it a fluke 13:00
elcaro i'm running into issues with binding the cross-product of a list and a list-of-pairs 13:02
m: for (0, 1) X (A => 1, B => 2) -> ($n, $p) { say ($n, $p) }
camelia Too few positionals passed to '<anon>'; expected 2 arguments but got 1 in sub-signature
in block <unit> at <tmp> line 1
elcaro it works with a slurpy hash... but I want a Pair
m: for (0, 1) X (A => 1, B => 2) -> ($n, *%p) { say ($n, %p) }
camelia (0 {A => 1})
(0 {B => 2})
(1 {A => 1})
(1 {B => 2})
Xliff lizmat: Ah. Let me go look that up. Thanks! 13:03
13:12 _jrjsmrtn joined 13:14 __jrjsmrtn__ left 13:16 cgfbee left, Doc_Holliwould left, sjaveed joined
codesections weekly: www.codesections.com/blog/peas-in-a-pod6/ 13:17
notable6 codesections, Noted! (weekly)
13:20 sjaveed left
jjatria How do folks interrupt promise chains when a promise is broken? Is there something equivalent to the JS Promise.catch? 13:21
lizmat jjatria: if you use the Promise, and it's broken, it will throw the exception. So I'd say CATCH { } is what you're looking for ?
13:23 cgfbee joined 13:28 dogbert17 joined
lizmat afk& 13:28
jjatria But how would I use that when constructing a Promise chain? I think I was expecting to be able to do something like `$p.then({ die }).then({ say 1 })` where the 1 would not get printed
13:31 andrzejku left
timotimo m: Promise.broken("a").self; say "test" 13:32
camelia test
timotimo m: Promise.broken("a").result; say "test"
camelia Tried to get the result of a broken Promise
in block <unit> at <tmp> line 1

Original exception:
a
in block <unit> at <tmp> line 1
timotimo worst case, put .result in the front of the code block in your .then 13:33
jjatria Hm, yeah, I guess that works. Not pretty, and not very intuitive, but it does work. Thanks! 13:35
13:42 Doc_Holliwould joined
timotimo any reason you're not writing your code with await instead? :) :) 13:52
Geth Raku-Steering-Council/main: dbd8e43ba3 | Coke++ | scripts/tally.raku
separate top X in output
13:53
[Coke] ^^ 25 votes received 13:57
Question: when reporting out results, do we want to report out *all* candidates voting numbers, or just the top 7? 13:58
14:04 sjaveed joined 14:08 sjaveed left 14:16 rbt left, rbt joined
moritz I'd slightly favor full transparency (which is how the Debian leader election is done) 14:20
[Coke] makes sense, yah. 14:24
14:28 Doc_Holliwould left 14:29 Doc_Holliwould joined 14:36 mowotter joined, cusion left 14:40 Sgeo joined
jdv79 election results are election results, the whole election results, and nothing but the election results:) 14:43
guifa is increasingly thinking there needs to be a fairly expansive overhaul of exceptions 14:44
but not sure how badly that will affect backwards compatibility
jdv79 could you clarify your "need" claim? that's a strong word. 14:45
guifa So there was an issue filed to remove Adhoc exceptions
And folks were amenable to it
The problem is, some of our typed exceptions are psuedo-adhoc 14:46
For example, X::Adverb has the attribute $.what
Reading the exception, I figured it would be a variable name, or something similar. 14:47
That’s fairly sensical
But it turns out it’s actually an arbitrary string content
jdv79 it still typed and not typed as X::AdHoc so is clearly not such 14:48
perhaps you mean something other than that def of "adhoc"
guifa X::Adverb.new(what => “{} slice”, “[] slice” and “slice”) is not much better than X::Adhoc.new(“Unrecognized adverb on {} slice”, “Unrecognized adverb on [] slice”, etc) 14:49
I mean, it *is* better, but why stop half way?
X::Adverb::PositionalSlice, X::Adverb::AssociativeSlice, etc, or have the what be an enumerator. Otherwise trying to inspect the exception requires parsing a string which may or may not be as stable 14:51
jdv79 sounds like something that would go into a lang ver and be subject to the deprecation stuff 14:52
Altai-man IMO, primary goal of typing here is to be able to tell apart different kinds (types, ahem) of exceptions, nothing more. There are better and worse examples of each and every particular expressions, but the whole typing is not at fault here, I'd say. So can tweak particular problematic exceptions while relatively easily maintaining their backward compat. 14:56
s/expressions/exception/
You can add more attrs to X::Adverb and use this new API while deprecating for a looong time the old one. 14:57
There is no need to "a faily expansive overhaul", no?
s/to/for/ 14:58
guifa Altai-man: I guess what I mean by “fairly expansive” is a deep dive into all of the exceptions and finding where they do these types of adhocky stuff and pull it out for consistency 14:59
Altai-man That'd be a deep dive, yes. At the first glance it is not clear if there are 15 faulty cases or 150, though. 15:00
guifa That said, I am doing the deep dive as I’m localizing so … I’m going to keep a list off stuff that jumps out at me 15:01
Altai-man guifa, sure, no need to distract. :) 15:02
guifa Altai-man The way I see it, if I can’t easily localize based on the attributes and type name alone, then there will be problems handling the exception programmatically in code. So it’s a kill two birds with one stone thing :-) 15:07
(or killing two birds with one shot, or killing two rabbits with one club, whatever Ukranian uses :-) )
Altai-man Two hares with one shot, I'd say. 15:13
15:13 zacts left
guifa Although I do wonder, where’s the line between Rakudo and Raku when it comes to exceptions? 15:15
15:17 cpan-raku left
[Coke] If possible, all the exceptions should be defined in Raku/roast. 15:17
s/defined/designed/?
15:18 cpan-raku joined, cpan-raku left, cpan-raku joined
guifa Ah it seems like quite a few of them are indeed part of Raku: design.raku.org/S32/Exception.html 15:18
greppable6: X::Str::Numeric 15:19
greppable6 guifa, 19 lines, 6 modules: gist.github.com/cc48ebe1c48d5e8257...f290e18e4c
15:20 sena_kun joined
guifa whelp, no one seems to actually use .reason on that so … lol 15:20
15:21 Altai-man left 15:24 hungryd77 joined 15:26 hungrydonkey left 15:44 Doc_Holliwould left 15:52 squashable6 left 15:53 squashable6 joined
[Coke] huh. just upgraded iTerm on my mac, and it automatically restarted my tmux session after the update. nifty. 15:54
16:07 Doc_Holliwould joined 16:08 stoned75_ left
timotimo was iTerm the one that is compatible with tmux "control mode"? 16:09
16:10 stoned75 joined 16:14 molaf joined 16:20 hungrydonkey joined, skids joined 16:21 hungryd77 left 16:22 stoned75 left
[Coke] oh, maybe 16:28
16:45 stoned75 joined, billN1VUX joined, sjaveed joined 16:48 sjaveed left 16:49 sjaveed joined 16:53 Doc_Holliwould left 16:55 stoned75 left 17:00 dakkar left 17:01 stoned75 joined 17:03 domidumont joined 17:12 aborazmeh joined, aborazmeh left, aborazmeh joined 17:13 aborazmeh left 17:14 natrys joined
[Coke] I need to stop checking my mail every hour to see if another ballot is in :) 17:15
17:15 Doc_Holliwould joined 17:16 aborazmeh joined, aborazmeh left, aborazmeh joined 17:19 approaching236 joined 17:20 ggoebel joined
ggoebel I am trying to setup a moarvm, nqp, rakudo development environment from the respective github repositories. I would like to help pamplemoose's GSoC efforts in the nqp/self-contained-executable branch to mature and eventually make it into master. 17:30
Can anyone point me toward documentation on how to setup a development environment?
timotimo personally, i've got a ~/perl6 folder (should rename to ~/raku at some point, obviously) where the three repositories are cloned in their own folder each, then i Configure.pl and make install first moar, then nqp, and then rakudo with the same --prefix which in my case is ~/perl6/install 17:33
ggoebel raku.org/getting-started/ under "The Main Track" has a link to instructions on how to build and install Rakudo Star... but following that link takes one to raku.org/downloads/ which doesn't mention anything about building or installing from source. 17:35
That is roughly what I have been doing based on pamplemousse's instructions (yakshavingcream.blogspot.com/2019/...rl-6.html) 17:36
But is there any documentation geared toward new developers on any of the websites? raku.org, rakudo.org, moarvm.org, etc.? 17:37
And if not... how can I contribute to improving the documentation for new developers? 17:38
17:39 MasterDuke joined
MasterDuke heh. my setup is identical to timotimo++'s 17:40
ggoebel I know there used to be instructions on building from source... the moarvm repo seems to have the best instructions. however, I suspect most people will end up at the rakudo repo first... which tells you to use --gen-moar and --gen-nqp 17:41
MasterDuke fwiw. my moarvm build command is `perl Configure.pl --prefix=/home/dan/Source/perl6/install/ --debug=3 --telemeh --dtrace && make -j12 install` and my nqp/rakudo build command is `perl Configure.pl --prefix=/home/dan/Source/perl6/install/ --backends=moar && make -j12 install` 17:43
ggoebel thx. I'll file that away. guessing I can skip --telemeh and --dtrace for now. and unless I get a new laptop s/j12/j2/ 17:46
timotimo is there a common document that would have information like that in it?
like we have INSTALL.md and README.md, would that be CONTRIBUTING.md or DEVELOPING.md? 17:47
ggoebel Not that I can find... but I would think that there should be one for developers
timotimo i think BUILD is sometimes there? 17:49
ggoebel rakudo has CONTRIBUTING.md but no mention of setting up things the way you both have suggested 17:50
it is actually a little bit difficult to find a link to the rakudo github repository from the rakudo.org website...
17:51 rypervenche left
ggoebel and pretty much everything on raku.org links to downloading packages, tarballs, or using rakubrew 17:52
or rather raku.org redirects to rakudo.org which does 17:53
rakudo repo's INSTALL.md only mentions --gen-moar --gen-nqp 17:55
no BUILD there 17:56
17:56 rypervenche joined 18:03 stoned75 left
timotimo oh, interesting 18:03
18:03 ggoebel_ joined
ggoebel_ So maybe a good start would be for me make pull requests which bring the README.md for the rakudo, nqp, and moarvm repos into alignment? 18:04
is it documented anywhere who the contacts are (or repositories) for the various websites?
timotimo at least some of our websites link directly to the repo, or have a page that does, i think?
raku.org has at the bottom " If you want to contribute to this page, look here for instructions. " 18:05
rakudo.org has a github icon with a link to the repo at the bottom
18:06 ggoebel left
timotimo the docs page has a link to the source of each page at the bottom 18:06
ggoebel_ great. thx. I'll start with those.
18:19 rbt left, rbt joined 18:22 squashable6 left 18:24 squashable6 joined 18:32 marcusr left 18:33 aborazmeh left 18:34 stoned75 joined 18:49 domidumont left 18:59 zacts joined 19:01 ensamvarg3 left 19:07 aborazmeh joined, aborazmeh left, aborazmeh joined 19:14 natrys left 19:16 andrzejku joined 19:18 Altai-man joined 19:21 sena_kun left
gfldex lolibloggedalittle: gfldex.wordpress.com/2020/09/10/re...on-github/ 19:49
20:00 ggoebel_ left 20:01 zacts left
codesections gfldex: «get us one step closer to a proper RPAN.» I like that turn of phrase. What can we have 'RPAN' stand for, though? 20:01
(CRAN is easier, but doesn't have the same ring to it)
lizmat Raku PAN :-)
gfldex CPAN stands for comprehensive perl archive network 20:02
codesections lizmat: without PAN being further defined?
lizmat codesections: yeah :-)
gfldex CRAN sounds like tomething ment for construction
20:03 ggoebel joined
codesections gfldex: haha, yeah. Like I said, I like RPAN better, I just wasn't sure what you'd want it to stand for. Raku Perl Archive Network doesn't work :) 20:04
What's the syntax for recursively use a grammar from inside itself? 20:12
s/use/using/
Xliff Is there an "is default" trait for methods? 20:16
20:20 andrzejku left
tobs (CRAN exists already for R, too) 20:21
20:22 aborazmeh left
Grinnz Raku Programmer's Archive Network 20:22
codesections nice. Or Raku Program Archive Network 20:23
Grinnz right now RPAN seems to stand for "Reddit Public Access Network", which i don't think is too much of a conflict 20:25
ggoebel what do folks who blog use for syntax highlighting raku code? 20:35
unless I'm missing something... github gists requires the .p6 extension
codesections ggoebel: for the posts on my codesections.com blog, I've used a modified version of github.com/silentTee/sublimetext3-perl6-syntax (and a static site generator that builds syntax highlighting based on Sublime themes, which a number support) 20:38
My changes weren't that large, but I'm happy to share what I'm using if that'd be helpful
20:39 Altai-man left
ggoebel codesections: thx. I was just reading the post on weaving raku. I'm on blogger, which doesn't look like it'll support that. 20:51
google code prettify looks interesting but has been archived... 20:52
[Coke] codesections: just saw your blog after you linked it above. is there a page that shows all the articles by headline so I can click through? 21:00
codesections I vaguely recall that there was is a syntax that lets me destructure an object into `public-attribute => value` pairs. Is that a real thing, or did I imagine that? 21:01
rypervenche ggoebel: Syntax highlighters is one area where we really need help. I know someone started working on highlight.js a few days ago. So hopefully we'll be able to use that in the nearish future. 21:04
21:05 rindolf left
codesections [Coke]: Not really. The main site just has them paginated with (fairly long) excerpts. There's an RSS with everything (www.codesections.com/rss.xml) and the source is on github (github.com/codesections-personal/c...tent/blog) 21:05
I should probably add an `archive` section at some point, though -- I hadn't thought of that
ggoebel looks like stack exchange is dropping google code prettify in favor of highlight.js (meta.stackexchange.com/questions/3...ghlighter) 21:09
and digging a bit further.. a little over a week ago finanalyst created a highlightjs-raku repository (github.com/highlightjs/highlightjs-raku) 21:10
I'll give that a look after dinner
timotimo RakuPun 21:13
[Coke] codesections: github.com/codesections-personal/c...e/index.md referes to a LICENCE file (with a C) - I don't see that file (or one with an S, though that's how the folder is spelled) 21:15
guessing I shouldn't be looking at the raw files. 21:16
codesections [Coke]: Thanks, `LICENCE` vs `LICENSE` is a typo that I'll fix right now. The file it's intending to point to is github.com/codesections-personal/c...er/LICENSE which is in the project root (not in the same folder with the source Markdown) 21:20
That should probably be a link, anyway. (Not that it matters much, since I say it's MIT in the text and am happy for anyone to use it pretty much as they see fit) 21:21
21:28 mst left
codesections [Coke]: Ok, fixed the typo, reworded the /license page, updated the source code link to point to the current repo, and fixed a layout bug that has been on my TODO list for months. Your comment was very motivational -- thanks! 21:40
[Coke] \o/ 21:41
28 ballots reporting
m: say Date.new('2020-09-20')-now.Date 21:42
camelia 10
[Coke] 10ish days left to vote
21:47 aluaces left
Xliff m: sub a (:@a) { say @a }; a ( a => 1, a => 2 ) 21:51
camelia Too many positionals passed; expected 0 arguments but got 1
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub a (:@a) { say @a }; a ( a => 1, b => 2 )
camelia Too many positionals passed; expected 0 arguments but got 1
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub a (:@a) { say @a }; a( a => 1, a => 2 )
camelia Type check failed in binding to parameter '@a'; expected Positional but got Int (2)
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub a (:$a) { say $a }; a( a => 1, a => 2 )
camelia 2
Xliff Hmmm... I think :@a named parameters are a missed opportunity. 21:52
m: sub a (:@a) { say @a }; a( a => 1, a => 2 ) # Should output [1, 2]
camelia Type check failed in binding to parameter '@a'; expected Positional but got Int (2)
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
[Coke] m: sub a (:@a) { say @a }; a( :a([1,2])) 21:53
camelia [1 2]
codesections m: say "%.3f days".sprintf((DateTime.new('2020-09-20T23:59:59+00:00') - now.DateTime) / (60 × 60 × 24)) 21:54
camelia 10.087 days
codesections [Coke]: to be a bit more exact ^^^^ :D
Xliff [Coke]: Yes, I know about that, however I am more thinking about the utility for such a signature in sub MAIN; 21:55
codesections (kind of surprised Duration doesn't have `.days`, `.hours`, etc methods
Xliff Ala
sub MAIN (:@init) { ... } # Invoked: ./code.pl --init=var1 --init=var2
[Coke] codesections: any real duration, those would either be a PITA to calculate or approximate 21:56
(given leap seconds, and DST, and timezones, and...)
codesections Well, yeah. That's exactly *why* they should be built in -- to discourage sloppy "good enough" ways of handling it 21:57
Although, some of those complexities go away given that you're starting from a Duration, which is a time in seconds not tied to a particular interval 21:58
[Coke] by the time you've gotten the duration, though, it's too late, right?
right
dates are hard, let modules handle it. :| 21:59
codesections yeah. But we *already* have durations built in
If we're going to give it as seconds, seems like we should give it in useful units too (imo)
22:03 skids left
Xliff m: role A { method a { ... } }; class B does a { proto method a { * }; multi method a(1) { say 'one'; }; multi method a (2) { say 'two' }; }; 22:04
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'a'. Did you mean 'A'?
at <tmp>:1
------> 3e A { method a { ... } }; class B does a7⏏5 { proto method a { * }; multi method a(
Xliff m: role A { method a { ... } }; class B does A { proto method a { * }; multi method a(1) { say 'one'; }; multi method a (2) { say 'two' }; };
camelia ( no output )
22:04 rbt left, rbt joined
Xliff m: role A { method a { ... } }; class B does A { multi method a(1) { say 'one'; }; multi method a (2) { say 'two' }; }; 22:05
camelia ( no output )
22:10 rbt left 22:11 rbt joined
Xliff Now that's odd. 22:13
I have a module that implements a role with a required method. Other modues have implemented that role successfully, but the module I'm currently working on will not compile for some reason.
The required method is implemented in the module, but Raku acts like it isn't there. 22:14
timotimo is there an accidental punning of the base role somewhere?
or somewhere it's using "is" instead of "does" with the role? 22:16
guifa [Coke]: why, how nice of you to mention modules I have under development ;-) 22:29
And actually, handling leapseconds is fairly easy, just not necessarily accurate for future dates beyond about 6 months from present. Basically, you take the diff of the two times in seconds from the epoch (that’s easy to calculate) and then figure out how many leapseconds were between those two times. 22:32
22:33 kerframil left
guifa but Raku has built in leapseconds support 22:35
22:42 kerframil joined
Xliff timotimo: LOL. No. Extra curlies. 22:42
timotimo that was the problem? 22:43
22:49 phogg joined, phogg left, phogg joined 23:15 pecastro left
Xliff timotimo: Yep. 23:36
23:42 mst joined 23:56 kerframil left