🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 25 August 2021.
tbrowder hi, anyone know Kamil Kutaga (teodozjan on github), author of Raku module PerlStore? 15:33
tellable6 2021-12-16T16:34:29Z #raku <melezhik> tbrowder I decided to keep mybf.io a little bit longer ( for some reasons ). No promise to keep it forever though ))) You may also merge some recent changes from my branch to yours ... thanks
tbrowder .tell melezhik thanks 15:34
tellable6 tbrowder, I'll pass your message to melezhik
tbrowder PerlStore need rakuizing, and it hasn't been touched in 5 years. no email, i'll file issue. 15:35
tbrowder *needs 17:25
HrBollermann i think i found a bug 18:08
lizmat Oh dear
HrBollermann my $dx=10; dd ( [0], { [ @$_ Z+ ( $dx -= 1 ) ] } ... * )[^3]
evalable6 ([0], [9], [17])
HrBollermann my $dx=10; dd ( [0], { ( @$_ Z+ ( $dx -= 1 ) ) } ... * )[^3] 18:09
evalable6 ([0], (8,).Seq, (16,).Seq)
HrBollermann See? the only difference is that the latter uses a list instead of an array, yet the values are different
doesn't happen without the Z 18:10
m: my $dx=10; dd ( [0], { ( $_[0] + ( $dx -= 1 ), ) } ... * )[^3]
camelia ([0], (9,), (17,))
HrBollermann I got bitten by this badly today trying to solve the advent puzzle 18:11
guifa is alive 18:33
lizmat guifa !! 18:36
guifa I'm currently updating everything on my machine and getting ready to fix timezones for you ^_^
(first time in three months I'm opening up Comma =\ ) 18:37
lizmat hopes for a speedy recovery :-) 18:55
guifa it's been a rough semester. I'm never taking on that much work again 18:58
lizmat and there you are starting up Comma again :-)
guifa haha programming is relaxing for m
and now I get to play with all the new dispatch stuff that should make so much stuff Just Work™ 18:59
lizmat: tbh btw, I didn't realize I could *do* `class DateTime is DateTime { … }`. That is much cleaner than mucking with MOP to keep the name stable. Still going to wrap CORE::DateTime's stuff though. I know I also need to fix some of the timezone calculation code, there was a bug or two in there causing some big issues and I think I only pushed a quick fix that would still bomb on some dates, especially ones beyond a zone's fi 19:04
transition date (which may be what hit you). Basically gotta go through the C code again line by painful line
lizmat meh.... but am looking forward to the result 19:05
you'll have at least IRC::Log::Textual as a client :-)
(stupid Textual used to log just [HH:MM:SS] on log files divided by midnight local time) 19:06
and I wants log files divided by midnight UTC
guifa that kinda makes me think I should also have a way to access when the next timezone offset transition will occur. I'd have to think how to code it though and how I'd want it accessed 19:10
lizmat but why would you need that ?
DateTime objects are ValueTypes... so once created, they never change ? 19:11
guifa it might be in a different module entirely 19:16
But basically, sub when-is-next-dst(DateTime.now) would pop back 2022-03-27 at 01:00:00 for Europe timezones and 2022-03-13 at 02:00:00 for us in the states 19:19
lizmat that's a nice feature to have, independent of DateTime::Timezones, is what you're saying ? 19:20
guifa Yeah. Kind of going along codesections' post, I've been (okay, had been, ignoring the past three months) a lot of thought as to just how much to cram into each module and how much to keep them separate 19:23
so I have User::Timezone to be one-stop shop to determine the time zone. At the moment, timezone calculations are included inside of DateTime::Timezones, but I think I could reasonably down the road pull out all of the data/calculations into a separate module, and leave DateTime::Timezone to just handle adding the extra attributes and calling the calculation routines 19:25
lizmat yeah, I was thinking along similar lines 19:26
guifa doing that for CLDR made life sooo much easier 19:27
also, sidenote, how is the RakuAST branch? do you think it's stable / complete enough I could start working from it to prep the formatter modules? 19:28
lizmat my feeling is that it would be stable enough for that: I did the printf formatter logic already 19:29
but I also think it will be well into the next year before it's merged, as jnthn will be focussing more on performance using newdisp and reviving a lot of pea work
guifa nods 19:30
I've got plenty of other stuff to work on in the meantime 19:31
hsiao hi 19:57
I try to compile a file with rakudo --target=moar file, but it says: Cannot dump this object, no dump method 19:58
rakudo --help doesn't seem to mention anything about dump methods 19:59
lizmat hsiao: 1st: what is the code you're trying to compile, and 2nd: why would you do that? It's more core debugging aid than anything else ? 20:00
tellable6 lizmat, I'll pass your message to hsiao
hsiao2 lizmat: the code is just `print "hello";` 20:01
tellable6 2021-12-17T20:00:22Z #raku <lizmat> hsiao: 1st: what is the code you're trying to compile, and 2nd: why would you do that? It's more core debugging aid than anything else ?
hsiao2 since running with raku is so slow I was wondering if compiling could help 20:02
I takes 700ms to run the hello program on my computer
MasterDuke if you do in fact need/want to do that, you have to use `--output=file.name` with the --dump command
oop, i mean with the --target=moar option 20:03
lizmat hsiao2: your program is just: print "hello" ??
hsiao2 yes 20:04
lizmat are you by any chance using -I ?
hsiao2 no
lizmat time raku -e 'print "hello"' 20:04
tonyo <forever> 20:05
hsiao2 sorry I might have missed some messages 20:05
tonyo hsiao2: what version of raku?
lizmat for me:
$ time raku -e 'print "hello"'
hello
real0m0.175s
user0m0.212s
sys0m0.028s
hsiao2 v2021.10
time raku -e 'print "hello";' 20:06
hello
real    0m0.804s
user    0m0.834s
sys     0m0.234s
lizmat what hardware are you running on ?
tonyo uname ?
hsiao2 raspberry pi 4
hsiao2 aarch64 linux 20:07
how do I compile again? Sorry I missed the message 20:09
MasterDuke the way you were trying isn't really meant for end users (though you can successfully do it if you use `--output=file.name` with the `--target=moar` option) 20:10
to compile something you would put it in a module and then just `use` the module 20:11
lizmat hsiao2: also, sadly, there's no JIT for ARM architectures, so it will probably run slower than on an Intel of comparable performance
hsiao2 ok, I guess raku is not for me at the moment
tonyo the m1 runs raku way faster 20:12
wonder if jit could get raspi runtimes significantly faster
hsiao2 I can do everything with rpi4, browsing just fine, perl5 hello world takes only 7ms 20:13
MasterDuke it's not as big a difference as it used to be a couple years ago now that spesh does much more, which does work on all architectures
hsiao2 what's spesh? 20:14
MasterDuke the dynamic optimizer in moarvm. "spesh" is sort of a pun on "specialize", since one of the things it does it create specialized version of code seen at runtime based on the types it actually sees being used in the code 20:16
it's similar to a jit, but doesn't actually produce native code, it just sends better optimized bytecode for the jit to then turn into native code 20:17
hsiao2 thank you MasterDuke. Anyway I'm going now, I'll give raku another chance christmas 2022, happy holidays
MasterDuke np 20:18
tbrowder guifa: look at my DateTime::US for some TZ stuff i did i think is pretty clever, at least for my use ;-D (couldn't have done it until lizmat showed me how to subclass a built-in class!) 21:08
tonyo tbrowder: did you end up writing a fez article for me to add on the README? 22:56
tbrowder well, it was the gist of my 14 dec advent article. it will need some work to turn it in to a README. maybe link to the article until i can get a round toit? 23:01
tonyo no worries on converting it, i'll add the link to fez's readme 23:02
about to publish `fez org`s
tbrowder ok, i will try to do a proper README later... 23:03
the group membership is gonna be very useful--how goes it? 23:04
tonyo need to implement allowing admins to change other's roles
but invites, accepts, etc all work
beta is on master in the fez repo 23:08
tonyo ping lizmat 23:31