🦋 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.
DavidRomero55 Hi everyone. 00:48
vrurg DavidRomero55: \o 00:49
DavidRomero55 I'm looking for a way to reload a raku module at runtime aech time I made a change on it.
sjn o/
vrurg DavidRomero55: possibly require could do it, but I'm not sure about it. 00:50
Restarting a process would be much more reliable alternative.
DavidRomero55 I try this "try require ::('Foo');"
sjn hasn't heard about any Raku/Perl6 modules that do this 00:51
DavidRomero55 it load the module at run time but not reload on changes.
vrurg DavidRomero55: then it's not possible. 00:53
DavidRomero55 What i try to do is not require to restart the process on development mode.
sjn DavidRomero55: you may want to wait until tomorrow (EU time) and ask again when some of the people who know the internals are here
I imagine there can be a way to hack it, but I'd be worried about memory leaks
vrurg DavidRomero55: there is a problem. When a module is loaded its kinda linked against the existing structures. It'd be the same as reloading a dynamic library. 00:54
sjn another option is to see how "require" and "use" (and perhaps "do"?) is implemented. Most of it is in Perl 6, minus some basic stuff in NQP 00:55
vrurg Funny coincidence: I'm working on a module loading issue right now. ;) 00:56
sjn: I could even point out into CompUnit::RepositoryRegistry, but that's of little help because it eventually refers to MoarVM loadbytecodefh op. 00:58
DavidRomero55 sjn: Where is the place to find "require" and "use" implementations? 01:08
vrurg DavidRomero55: see my last comment. CompUnit::RepositoryRegistry in src/core.c/CompUnit/ 01:09
DavidRomero55 vrurg: Thanks I will check it. 01:10
vrurg Though it's waste of time. Depending on how a module is written, it may leave behind some garbage causing incorrect behaviour after reload. The only clean way was and ever will be restarting the process. 01:13
Doc_Holliwood m: ('A', 'B').lc.say 02:17
camelia a b
RubioTerra I'm getting this error when trying to run rakudo on Windows 10: "akudoshareperl6\runtime\perl6.moarvm': no such file or directory". I tried to compile it directly, and tried rakudobrew. Same result. 02:37
Did someone get this error?
Demos[m] what's the equivalent to a stub but for an attribute.... 02:39
I want to require that the invocant for some role methods has certain attributes (or is some role) 02:40
RubioTerra Let me correct myself: rakudobrew worked. That will serve me for now. Thanks. 03:00
wtwt5237 awesome raku folks! may i know if anyone has any solution to raku/perl6's slow regex match problem? 03:10
i can give some specific examples if needed to, but my experience is that all regex matches are slow, so it's a general problem on my hand 03:11
AlexDaniel wtwt5237: that's probably the case, I think regexes is one of the slowest parts of rakudo right now 03:20
wtwt5237 i see. so no workaround so far. they have plans to address this problem soon? 03:22
AlexDaniel wtwt5237: if you need something simple, then perhaps using basic methods like .starts-with and similar can be a decent workaround
wtwt5237: as for plans, rakudo performance is constantly improving, but most of the work is about making rakudo faster in general, currently nobody is working specifically on making regexes faster 03:23
wtwt5237: how fast do you need them to be? What's your data? 03:24
wtwt5237 thanks! please see my github: github.com/wtwt5237/perl6-for-bioinformatics
the same task, perl5 takes 0.195s and perl6 takes 6s. about 4s are spent on several regex matches 03:25
AlexDaniel ohhh bioinformatics
now I see why you're asking this :)
wtwt5237 i think if raku is about as fast as perl5, that will be good
AlexDaniel wtwt5237: ok, so as I understand you have some specific benchmarks? 03:26
wtwt5237: that's actually a good starting point
wtwt5237: can you file a bug report here with your findings? github.com/rakudo/rakudo/issues
wtwt5237: e.g. “this simple code running with that data file takes X seconds with raku and a similar script takes Y seconds in perl” 03:27
wtwt5237: I think we'll be able to get people to look at it and see what can be done
wtwt5237 yeah, i use perl5 and raku to do the same thing - parse a small SAM format file. The file and codes are all in my github 03:28
sure, will do. thanks so much!
AlexDaniel wtwt5237: IIRC there are some improvements from jnthn++ that are not merged yet, I'm interested to see how these will affect your benchmark if at all 03:29
uzl[m] .seen timotimo
tellable6 uzl[m], I saw timotimo 2019-11-05T22:06:16Z in #raku: <timotimo> and it's extremely annoying
wtwt5237 i will keep benchmark all releases of raku. if i find something interesting, i will come back to post here and discuss 03:31
AlexDaniel wtwt5237: a ticket can give us something actionable so that we can do some real improvements, so please do submit it :) 03:33
uzl[m] .tell timotimo Re: Comma, You're right. By leaving and coming back, I mean switching to a different workspace and coming back. On Vim, I can leave the workspace with Vim opened and switch back into it and immediately start typing. With Comma, I need to click in the editor since the cursor isn't active anymore.
tellable6 uzl[m], I'll pass your message to timotimo
uzl[m] .tell [Coke] Is Alt + Tab a Comma's keymap? IIRC that looks like a Windows shortcut right?! I'm using Manjaro Linux + i3wm so that might have something to do with it. See colabti.org/irclogger/irclogger_lo...-11-06#l73 03:36
tellable6 uzl[m], I'll pass your message to [Coke]
AlexDaniel c: HEAD gist.github.com/AlexDaniel/e111854...7e7c55c13a 03:56
committable6 AlexDaniel, Using file “benchmark1.p6” as a main file, other files are placed in “./sandbox”
AlexDaniel, gist.github.com/60dcad71e9e798e035...5d4d989012
AlexDaniel c: HEAD gist.github.com/AlexDaniel/e111854...7e7c55c13a 03:57
committable6 AlexDaniel, Using file “benchmark1.p6” as a main file, other files are placed in “./sandbox”
AlexDaniel, ¦HEAD(1d84c64): «5.8780151␤»
AlexDaniel c: 6c gist.github.com/AlexDaniel/e111854...7e7c55c13a
committable6 AlexDaniel, Using file “benchmark1.p6” as a main file, other files are placed in “./sandbox”
AlexDaniel, gist.github.com/9d077cedb95ef1bef3...127a6c80ea 04:03
AlexDaniel committable6: timeout=15 04:06
committable6 AlexDaniel, timeout is now set to “15” (default value is “10”)
AlexDaniel committable6: timeout=20
committable6 AlexDaniel, timeout is now set to “20” (default value is “10”)
AlexDaniel c: 6c gist.github.com/AlexDaniel/e111854...7e7c55c13a
committable6 AlexDaniel, Using file “benchmark1.p6” as a main file, other files are placed in “./sandbox”
AlexDaniel, gist.github.com/a2f38de9555e66604a...4c74145584 04:12
AlexDaniel yeah, the vars feature doesn't always work
pdcawley Trying to scratch an itch from reading one of Damian's perl weekly challenge pieces: Is there a built in to get all the tails of a sequence, so 2,3,5,7,11, ... becomes (2,3,5,...), (3,5,7,...), (5,7,11,...), ... ? 06:55
Also, hello Raku...
moritz pdcawley: hi there
I'd do it like this: (0..*).map({ @yoursequence[$_..*]}) 06:56
m: my \fib = 2, 3, 5, *+* ... *>42; say (0..*).map({ fib[$_..*]}) 06:57
camelia (...)
moritz m: my \fib = 2, 3, 5, *+* ... *>42; say eager (0..*).map({ fib[$_..*]})
meh
moritz m: my \fib = 2, 3, 5, *+* ... *>42; say eager (0..5).map({ fib[$_..*]}) 06:57
camelia (timeout)
((2 3 5 8 13 21 34 55) (3 5 8 13 21 34 55) (5 8 13 21 34 55) (8 13 21 34 55) (13 21 34 55) (21 34 55))
pdcawley I was thinking: @seq, *.tail(1) ... * or similar?
moritz can't eager an infinite sequence, of course
pdcawley does the infinite sequence thing work on objects that aren't numbers? 06:58
moritz m: my \fib = 2, 3, *+* ... *>42; say fib, *.tail ... []
camelia Cannot get sequence endpoint from an empty list (use * or :!elems instead?)
in block <unit> at <tmp> line 1
pdcawley Sorry, .skip(1)
moritz m: my \fib = 2, 3, *+* ... *>42; say fib, *.skip(1) ... :!elems
camelia ((2 3 5 8 13 21 34 55) (3 5 8 13 21 34 55) (5 8 13 21 34 55) (8 13 21 34 55) (13 21 34 55) (21 34 55) (34 55) (55) ())
pdcawley Bingo. 06:59
moritz pdcawley: that works as well
pdcawley Damn, perl 6, you're so pretty.
moritz another approach similar to my first:
moritz m: my \fib = 2, 3, *+* ... *>42; say fib.keys.map({fib.skip($_)}) 06:59
camelia The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
moritz m: my \fib = 2, 3, *+* ... *>42; say fib.keys.map({fib[$_..*]}) 07:00
camelia The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
pdcawley Explicitly invoking keys gives the mathematician in me the shudders :)
moritz m: my @fib = 2, 3, *+* ... *>42; say @fib.keys.map({@fib[$_..*]})
camelia ((2 3 5 8 13 21 34 55) (3 5 8 13 21 34 55) (5 8 13 21 34 55) (8 13 21 34 55) (13 21 34 55) (21 34 55) (34 55) (55))
moritz pdcawley: :-)
pdcawley Seems so... inelegant. 07:01
moritz #raku here to scare your inner mathematician :d
moritz I find it very readable, because it makes it clear I'm iterating those numbers for the purpose of indexing an array 07:01
and not, say, to do arithmetics with them 07:02
pdcawley Since I only really want the first 3 elements of each of those tails, i started with `primes Z primes.skip(1) Z primes.skip(2) but that just felt so... icky. 07:02
pdcawley m: my @list = ^5; say @list, *.skip(1) ... * 07:20
camelia (...)
pdcawley m: my @list = ^5; say (@list, *.skip(1) ... *).head(10) 07:21
camelia ([0 1 2 3 4] (1 2 3 4) (2 3 4) (3 4) (4) () () () () ()) 07:21
pdcawley I was rather hoping that that would give me a finite list, not something with a bunch of empty lists tacked on the end...
moritz pdcawley: it's all a question of your end condition 07:22
* means "go on, go on"
pdcawley Ah. 07:23
I thought that might have something to do with it.
moritz :!empty is what you want/need
pdcawley Damn this IRC client... autoscroll, damn you!
pdcawley may have missed something there... just nuked my backlog. 07:24
moritz m: my @list = ^5; say (@list, *.skip(1) ... :!empty) 07:26
camelia No such method 'empty' for invocant of type 'Array'. Did you mean 'emit'?
Did you try to smartmatch against a Pair specifically? If so, then the
key of the Pair should be a valid method name, not 'empty'.
in block <unit> at <tmp> line 1
moritz m: my @list = ^5; say (@list, *.skip(1) ... :!elems)
camelia ([0 1 2 3 4] (1 2 3 4) (2 3 4) (3 4) (4) ())
pdcawley m: my @list = ^Inf; say (@list, *.skip(1) ... :!elems) 07:28
camelia ([...])
pdcawley Cool! Thanks.
Where's the docs on the lazy list builder? ... in ops? 07:29
pdcawley m: my @list = ^5; say @list, *.skip(1) ...^ * 07:31
camelia (...)
pdcawley m: my @list = ^5; say @list, *.skip(1) ...^ :!elems
camelia ([0 1 2 3 4] (1 2 3 4) (2 3 4) (3 4) (4))
pdcawley Yay! Everything thought of :: 07:32
pdcawley Dang! 07:38
m: elems ^Inf 07:39
camelia Cannot .elems a lazy list
in block <unit> at <tmp> line 1
pdcawley So... how do I check for the emptiness of an Interable which might be lazy? 07:40
Iterable
sarna m: (^Inf).iterator.elems 07:50
camelia ( no output )
sarna m: say (^Inf).iterator.elems 07:50
camelia 1
sarna pdcawley: this seems to have one element, 0
pdcawley m: say [].iterator.elems 07:52
camelia 1
sarna darn
pdcawley m: say [1,2,3].iterator.elems
camelia 1
pdcawley How's that an emptiness check, or am I missing something? 07:53
sarna no, I got confused, sorry :D 07:53
davidholoshka is there an irc for cro questions ? 07:55
pdcawley Hmm
pdcawley m: say [] ?? 'truthy' :: 'falsy' 07:55
camelia 5===SORRY!5=== Error while compiling <tmp>
Please use !! rather than ::
at <tmp>:1
------> 3say [] ?? 'truthy' :7⏏5: 'falsy'
expecting any of:
colon pair
pdcawley m: say [] ?? 'truthy' !! 'falsy' 07:56
camelia falsy
pdcawley m: my @list = ^5; say (@list, *.skip(1) ... :!*)
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed False pair; expected identifier
at <tmp>:1
------> 3@list = ^5; say (@list, *.skip(1) ... :!7⏏5*)
pdcawley m: my @list = ^5; say (@list, *.skip(1) ... !*) 07:57
camelia ([0 1 2 3 4] (1 2 3 4) (2 3 4) (3 4) (4) ())
pdcawley Bingo!
tadzik :) 07:58
sarna what the heck is this code
AlexDaniel davidholoshka: yes, you can try #cro 08:00
davidholoshka: or you can ask here
pdcawley blinks at an error message... "Method 'skip' not found for invocant of class 'Seq'" 08:01
But... butl...
m: sub tails(Iterable \s) { s, *.skip(1) ... !* }; say tails ^Inf 08:03
camelia (0..^Inf (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (...) (.…
pdcawley Hmm... why isn't that working for me locally?
Time to get up... I shall have to play later. Thanks for the help. 08:05
Geth whateverable: 8c2c846df9 | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable.pm6
Join #cro too

Evalable and Tellable are mostly harmless, so why not.
08:06
xinming m: (infix:<+>(3, 5)).perl.say; (infix:{"+"}(3, 5)).perl.say; <---- Anyone here tells me, WHy former works, But not the latter? 08:22
camelia ===SORRY!===
Cannot find method 'has_compile_time_value' on object of type NQPMu
moritz xinming: looks like a bug in the optimizer to me 08:25
xinming moritz: Ok, Thanks, that'll makes sense. As I thought that infix:{"+"} and infix:<+> are handled differently. 08:26
moritz (tbh optimizer is just a guess, but "bug" is a pretty firm diagnosis :D ) 08:27
tobs xinming: there is a related ticket, but about round parentheses R#2948 08:34
I don't know if this is the responsible piece of code, but if it is, it seems like a limitation built into the compiler: github.com/rakudo/rakudo/blob/mast....nqp#L4304 08:35
tobs off to work
Doc_Holliwood join #cro 09:28
oops
pdcawley Is there a way to do something like `assuming` on a method? 09:30
pdcawley I'd like to do `@seq-of-seqs.map(&head.assuming(*, 3))`, but `head` is only defined as a method. 09:31
pdcawley map( { $_.head(3) } ) seems clumsy to me. 09:32
moritz not really :( 09:55
pdcawley I wonder why it's only defined as a method and not a submethod or whatever they're called. 10:07
pdcawley Ah... because: .map(*.head(3)) is quite neat enough. 10:09
pdcawley I'm still not entirely au fait with the workings of the syntax. 10:10
Altreus Any good modules for making interactive terminal apps? Like curses except I'm loathe to say that word 10:30
sarna Altreus: modules.raku.org/t/TERMINAL 10:53
SmokeMachine m: say ((1,2,3,4,5), (11,12,13,14,15)).map(List.^find_method(“head”).assuming(*, 3)) # pdcawley 11:15
camelia ((1 2 3) (11 12 13))
xinming SmokeMachine: I'll update that ticket after I know deeper about the Red design. 11:28
SmokeMachine: But may be busy these days.
SmokeMachine xinming: great! Thanks! 11:29
SmokeMachine xinming: if you need any help... 11:29
xinming I have an idea to add postgres related infix op for Driver::Pg, Which is like pg->> pg#>
xinming But I'm still thinking wether Ishould have pg prefix to these operators, even they are relates to pg. 11:29
SmokeMachine xinming: it would be good it it could be used as an raku method... 11:31
xinming Is there any info to attach to the Driver, So, We can add multi and use ->> directly? Or, postgres operators such as pg->> pg#> is ok for this purpose.
xinming I also considered that, But still need to export methods if possible. 11:32
xinming let's say, something like, ResultSeq.grep: { pgop('-->', .left-column, .right-column) } 11:32
xinming SmokeMachine: I wish to add some operators to Driver::Pg after I know deeper about the Red design. 11:33
SmokeMachine xinming: I’d prefere something like: `{ .left-column<json-key> == .right-column }` 11:34
SmokeMachine xinming: I’d prefere something like: `{ .left-column{.right-column} }` 11:34
and I’d die on drivers that json aren’t supported... 11:35
xinming SmokeMachine: There are many postgres operators, I think many of them can be implemented in raku directly. 11:35
SmokeMachine xinming: github.com/FCO/Red/blob/master/lib...ethods.pm6 11:36
xinming m: multi infix:<#test> ($a, $b) { "$a #test $b".say; }; (3 [&infix:<#test>] 4)
camelia WARNINGS for <tmp>:
3 #test 4
Useless use of &infix:<#test> in sink context (line 1)
SmokeMachine xinming: in some point, it will be broken into different roles... 11:37
SmokeMachine then I’ll have 1 role for each possible column type and mixin only the right role on each column... 11:39
xinming: ^^
xinming: so, only if the column if of type jsonb we could add a `AT-POS` method on it… for example... 11:40
xinming There are many operations for json colulmn in postgres too. 11:41
xinming Not only the AT-KEY 11:42
SmokeMachine xinming: Yes… but we could make those with a combination ot raku ops…, for example:
xinming 412 upgraded, 50 newly installed, 6 to remove and 0 not upgraded. 11:44
SmokeMachine .col[0] == 1 ===> Red::AST::Eq.new: Red::AST::JSONArrow.new(col, 0), 1 11:45
SmokeMachine .col<bla> == 1 ===> Red::AST::Eq.new: Red::AST::JSONArrow.new(col, “bla"), 1 11:46
xinming I'd like that we can add generic infix helper.
SmokeMachine .col[0] eq “test" ===> Red::AST::Eq.new: Red::AST::JSONArrowStr.new(col, 0), “test" 11:47
Etc...
xinming: ^^
SmokeMachine .col.keys ===> Red::AST::Function.new: :name<json_object_keys>, :args[.col] 11:50
SmokeMachine to-json .col ===> Red::AST::Function.new: :name<jsonb_pretty>, :args[.col] 11:51
xinming: what do you mean? 11:52
xinming { sql-infix('+', .col-left, .col-right) } sql-postfix('bla', .col) sql-prefix('ble', .clol) 11:59
SmokeMachine xinming: I don’t get it... 12:00
you mean add this sql-infix sub?
xinming SmokeMachine: It's just a un-recommended function to build Red::AST::Infix thing.
Yes.
SmokeMachine xinming: why not just `.col-left + .col-right`? 12:01
xinming This allows us to directly pass the operator when Red doesnt have that op added.
SmokeMachine: Because, There are many index which may not be in Red yet.
SmokeMachine wouldn’t it be better to implement it?
xinming SmokeMachine: It would, But that takes a long time. 12:02
xinming It's a low level API, when Red doesn't have that op, We can use this as workaround, After we added the op, We mark it deprecated on specificop. 12:03
SmokeMachine xinming: today you can already do something like that… `Red::AST::Infix.new: :left(.col-left), :right(.col-right), :op<+>`... 12:04
xinming: but I wouldn’t advise you to use that...
xinming: I don’t think it should be part of Red, but we could have a separate distro with this subs that just return Red::AST’s... 12:06
xinming SmokeMachine: Got it 12:06
I'll check more about Red design 12:07
SmokeMachine xinming: or it could be inside of Red, but one should need to explicitly call use for use it... 12:09
xinming SmokeMachine: I do mean these should be explicitly used to call it. But at first stage, We export them as a handy helper for people to use it. 12:11
SmokeMachine xinming: if we export it it will never be unexpected... 12:12
xinming SmokeMachine: After Red stabilized, We deprecated the use of implemented op in Red.
SmokeMachine xinming: www.irccloud.com/pastebin/QkClxze7/ 12:15
xinming: I prefer not exporting it...
xinming: the importwant part: www.irccloud.com/pastebin/HSfuiEG0/ 12:16
I thing I’ll create a `Red::AST::GenericInfix`...
xinming: with `Red::AST::GenericInfix`, `Red::AST::GenericPrefix` and `Red::AST::GenericPostfix`, the subs would not be needed... 12:19
xinming SmokeMachine: Thanks for the info about how that worked.
SmokeMachine xinming: we already have `Red::AST::Function`...
xinming SmokeMachine: Subs are just handy helpers 12:20
dinner time, bbl
SmokeMachine xinming: but that’s the thing… I dont want to make it easy to be used/abused... 12:21
xinming: I agree it should be possible, but not easy...
pdcawley SmokeMachine: So map: *.head(3) is the neatest approach unless I'm doing something severely complicated then. Thanks. 13:33
Altreus Term::Choose looks ideal 13:38
SmokeMachine xinming: lunch-time commit: www.irccloud.com/pastebin/wDyEFNGf/ 13:39
sena_kun if I need to generate human readable dates in non-English locale, where just "$day $month-name" won't work, because $month-name changes its ending, where should I look? CLDR? 14:11
guifa sena_kun: yes 14:12
I’m not entirely finished with that part of Intl::CLDR but it should be *mostly* functional right now I think. I haven’t looked at it in a few weeks because $day-job though 14:13
sena_kun guifa, I don't see anything related to dates in Intl::CLDR in the readme, any examples or is it NYI?
well, I can just dirty patch 12 months myself, I think, and deadline is tomorrow, so I don't want to force anyone to do anything, but if there is a way, it will be awesome to make use of it. :) 14:14
guifa look in Intl::CLDR::Format::DateTime 14:15
guifa actually, I’m not sure if that’s up on Github, if it’s not, I can zip it up and email it to you 14:16
Oh wait, it is 14:17
github.com/alabamenhu/Intl-CLDR/bl...teTime.pm6
You may need to do some quick hacky stuff to make sure it runs for dates and not just times but most all of the functionality should be there 14:18
pdcawley I'm really starting to regret going to OS X Catalina... 14:19
IO::Socket::Async::SSL is currently failing its tests in about the most uninformative way possible. It's just bloody dying without saying anything. 14:20
tbrowder sena_kun: can Date::Names help? or be modded to help?
jnthn pdcawley: Dying as in SIGSEGV, or? 14:21
pdcawley jnthn: Dunno '[1] 33897 abort perl6 -Ilib t/ciphers.t' is the only error I get' 14:22
sena_kun guifa, is it not added into "provides"? should I do a PR? 14:23
pdcawley Hmm... when I do 'use OpenSSL' from the REPL, it aborts the same way...
jnthn I've little idea about MacOS, but that looks rather nasty indeed. 14:24
jnthn I'm guessing if it's not actually a SEGV it's in that territory 14:24
guifa sena_kun: I just realized that. I’m doing some QAD stuff right now. Unfortunately you’ve caught it while I was in the middle of a reorganization of the module =\ might go with Date::Names for now if I can’t get this quickly
sena_kun tbrowder, not with languages where endings change. :/ Date::Names is cool for simple and often needed case, but this one is more specific and needs something more complex to deal with it, I think.
guifa I think CLDR just has the difference between regular and genetive, tbh 14:25
sena_kun guifa, no problem, I'll skip this particular thing for now and monkey patch it later, I think...
jnthn pdcawley: Probably only running it under something like gdb/lldb/whatever is the MacOS thing will give further info. 14:26
sena_kun guifa, genitive case will be enough
guifa Ah, then that data is definitely there
If you just need day/month/year, you can probably hack it together by directly accessing the CLDR data 14:27
tbrowder hm, if you can give some examples maybe as a feature request issue; i could take a look
pdcawley jnthn: Yikes.
guifa theoretically it should be cldr-data-for-lang($lang-tag)<calendars><gregorian><months><stand-alone><wide> and cldr-data-for-lang($lang-tag)<calendars><gregorian><months><format><wide> 14:31
sena_kun guifa, thanks! will try it out later 14:32
guifa sena_kun the one thing to watch out for is that for some languages there might not be all those specific formats available. There are some weird rules on which forms to test out, but you can probably do some tests with conditionals to figure it out. I tried to make fairly decent gists for CLDR items, so you can doo, e.g. 14:35
say cldr-data-for-lang("en")<calendars><gregorian>
—> [Calendar::CLDR-Calendar:quarters,timeFormats,eras,months,dateFormats,dateTimeFormats,dayPeriods,intervalFormats,days,appendItems,availableFormats]
sena_kun guifa, I need only this specific month forms for Ukrainian, so fine with other languages being incomplete as long as necessary is present 14:36
guifa oh great, that makes it a lot easier haha. You could probably as a super quick hack just copy in the forms. I’m sorry I don’ t have the formatter working better for you :( 14:40
sena_kun guifa, no problem, you are awesome with working on these things in any case. :) 14:41
guifa I am about to have a huge release for Intl::LanguageTag. You can now get an enum to do Language::English, Language::Ukranian, Script::Latin etc 14:44
HoboWithAShotgun What is raku? 18:05
tellable6 2019-10-23T16:41:04Z #raku <AlexDaniel> HoboWithAShotgun: “I tend to always use double quotes, except for when i explicitly don't want interpolation” what about always using single quotes, except when you want interpolation? ;)
[Coke] raku - it's a programming language. Formerly called "Perl 6" 18:17
tony-o .tell ctilmes any info on an mssql server DB:: driver?, i don't want to start work on one if you've already done it 18:26
tellable6 tony-o, I'll pass your message to ctilmes
ctilmes tony-o: I haven't started an mssql server. I've toyed with Oracle, but haven't gotten very far with that either. 18:57
tellable6 2019-11-06T18:26:49Z #raku <tony-o> ctilmes any info on an mssql server DB:: driver?, i don't want to start work on one if you've already done it
ctilmes tony-o: my next step is to make DB::Pg dependent on DB like sqlite/mysql, but I'm not sure when I'll get around to that. 18:58
tony-o: very open to any suggestions or contributions to any of them, or additional database drivers 18:59
tony-o ctilmes++ 19:04
[Coke]: ^ that's as far as I've got with that :-)
[Coke] tony-o: Danke. 19:43
Demos[m] is there a way to write something liike "role A { also does B; } role C { also does B; } role D {also does A; Also does C; } and only get one of B in my class 21:15
erm role
Demos[m] Like I want an entire role, but stubbed 21:16
ah I see github.com/rakudo/rakudo/issues/2694 21:19
SmokeMachine xinming: github.com/FCO/Red/commit/de9b2131...c812baee6a 21:31
Geth ecosystem: dad1208b32 | (Jonathan Stowe)++ | META.list
Alter META file for System::Passwd
21:50
Xliff o/ 23:57
timotimo: Could you check this on your end and see if you can confirm this behavior? github.com/Xliff/p6-GtkPlus/issues/40
timotimo: Honestly, I've been getting this kind of stuff all throughout GTK and can't figure out how I would even report it. Just confirming this would be enough for me to rakudo-bug it. 23:58
timotimo: Thaaanks! ;)