🦋 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:11 xelxebar left, xelxebar joined 00:20 leont left 00:28 hungrydonkey left 00:29 hungrydonkey joined 00:38 oneeggeach joined
codesections guifa: re leapseconds -- the issue isn't that it's hard, it's that there just isn't a way to do it when all you have is a Duration (or any measure of duration). E.g., I'd like to be able to write something like `Duration.from(years => 1.5)` to get the length of 1.5 years. But the question "how many leap seconds occur in 1.5 years" doesn't have an answer, in the abstract 00:56
And it's even worse with other units. What should `Duration.from(months => 4).to(:days)` 00:58
return
01:04 Black_Ribbon joined 01:05 MasterDuke left 01:06 Possum left 01:13 molaf left 01:26 a3r0 joined, molaf joined 02:05 Manifest0 left 02:06 Manifest0 joined, stoned75 left 02:07 stoned75 joined 02:45 mowotter left
moon-child anyone know what happened to GTK::GDK? github.com/timo/gtk_cairo_shooter doesn't run without it 02:47
there is Gnome::Gdk3, but it looks like that's an unrelated module?
02:55 marcusr joined 03:10 rbt left 03:11 rbt joined 03:32 approaching236 left 03:33 xelxebar_ joined
Xliff moon-child: That looks like my module. You might not be able to run this without soome massaging. It's changed a lot, since. 03:33
03:33 xelxebar left
Xliff Orr... on second thought... 03:34
No. That doesn't look like mine. 03:36
I have GDK bindings here: github.com/Xliff/p6-GDK
However that project is getting rather large and interdependent on other things. 03:37
And they take a long time to build.
Although that has improved dramatically over the last few weeks.
moon-child: Let me know if you need help getitng it installed.
03:38 aborazmeh joined, aborazmeh left, aborazmeh joined 03:46 ensamvarg3 joined 04:02 xelxebar_ left, xelxebar joined 04:06 oneeggeach left 04:14 hungrydonkey left, hungrydonkey joined 04:28 aluaces joined 04:50 ensamvarg3 left 04:52 billN1VUX left 05:07 aborazmeh left 05:21 molaf left 05:31 stoned75 left 05:38 stoned75 joined 05:41 andrzejku joined 06:20 aluaces left 06:22 hungrydonkey left 06:23 hungrydonkey joined 06:39 stoned75 left 06:41 Altai-man joined 06:47 aluaces joined, samcv left 06:50 ensamvarg3 joined 06:56 aborazmeh joined, aborazmeh left, aborazmeh joined 06:59 samcv joined 07:04 samcv left 07:08 samcv joined, pecastro joined 07:19 sena_kun joined 07:21 Altai-man left, samcv left 07:23 Sgeo left 07:28 dataangel left, dataangel joined 07:46 samcv joined 08:02 leont joined 08:04 stoned75 joined 08:11 rbt left, rbt joined 08:15 tejr left 08:30 aborazmeh left 08:46 rindolf joined 08:54 samcv left 08:58 kerframil joined, JJMerelo joined
JJMerelo (Almost) daily reminder we're running a survey for Raku users. docs.google.com/forms/d/e/1FAIpQLS...Q/viewform That means you 08:59
09:02 samcv joined 09:14 aborazmeh joined, aborazmeh left, aborazmeh joined
JJMerelo And we're 4 questions short of 1500 in StackOverflow. stackoverflow.com/questions/tagged/raku Will we reach that before the end of summer? 09:30
09:46 hungrydonkey left 10:03 aborazmeh left 10:05 aborazmeh joined, aborazmeh left, aborazmeh joined 10:11 matiaslina left, ChoppedBacon left, tbrowder left, Grinnz left, timeless left, xkr47 joined 10:12 PotatoGim joined, timeless joined 10:15 domidumont joined, matiaslina joined 10:16 Grinnz joined, ChoppedBacon joined, tbrowder joined 10:17 Grinnz left, Grinnz joined 10:22 stoned75 left 10:31 rbt left 10:32 rbt joined 10:57 cam joined
cam Just purchased your book @JJMerelo <3 10:58
question: is .rakutest instead of .t going a bit overboard?? 10:59
I'm new to Raku, and feel like I want to get busy with PR's to rename. I don't think it is healthy for a language to be ambiguous about it's name 11:01
11:18 Altai-man joined 11:19 tejr joined 11:21 sena_kun left 11:25 sena_kun joined 11:27 Altai-man left, cpan-raku left
cam Just submittd a pull request if anyone can merge? github.com/raku-community-modules/...es/pull/14 11:27
Also, looking for advice on how to clean up the travis HTML badge in the pod? looks a bit crappy: github.com/raku-community-modules/...README.pod 11:28
11:28 cpan-raku joined, cpan-raku left, cpan-raku joined 11:49 JJMerelo left 11:51 aborazmeh left 11:54 domidumont left 12:06 cam left 12:10 stoned75 joined 12:15 domidumont joined 12:21 Black_Ribbon left
kawaii `my $fh = "uploads/$file-name".IO.open:create; $fh.write($file-content);` - am I doing something wrong here? I'm trying to create a file that doesn't exist and I assumed I had to "open" with `:create` but doesn't seem to work, complains that the file doesn't exist. :) 12:29
[Coke] 31 ballots 12:30
12:49 wamba joined
Geth Raku-Steering-Council/main: baed5555d4 | Coke++ | scripts/tally.raku
Someone voted with +'s
12:50
[Coke] ... which are now being counted properly.
now I'm glad I've been reviewing the tally every so often. :| 12:54
codesections [Coke]: Given that it's Raku, I'm half surprised you're not getting ☒, ⮽, ☑, or similar :D
[Coke] I tried to be clear in the directions to avoid making extra work at this stage. :)
this particular ballot (not naming names) had the wrong subject and the wrong vote markers. 12:55
had 2 others who voted earlier (and correctly voted during the window after I pinged them.)
m: say 3/31
camelia 0.096774
[Coke] so, under 1% so far. not bad. 12:56
codesections under 10%
[Coke] :) 12:57
good thing you're not having me do something important like count votes and do simple math! :)
yes, meant 10%, but still also not bad.
codesections I wonder how that compares to voting in typical elections? My recollection from the 2020 US recount was that the numbers were much lower than that -- and that was with hanging chads! 12:59
13:09 abraxxa left 13:24 molaf joined
[Coke] I think it's just the small sample size. :| 13:42
14:05 Sgeo joined, molaf left 14:29 wamba left 14:34 void1 joined, rbt left 14:35 void1 left, rbt joined 14:36 void1 joined
jjatria timotimo: "any reason you're not writing your code with await instead?" - Oh, there is an await in there somewhere, but I wanted to try my hand at expressing things as a chain. I guess I could put individual awaits inside a start { ... } block... 🤔 14:36
That might actually be tidier
14:40 stoned75 left 14:41 stoned75 joined 14:47 Grinnz left, Grinnz joined
Geth doc: rakool++ created pull request #3627:
Update modules.pod6
14:52
[Coke] Anyone have a way to get me a list of github ids that are part of Raku and perl6 orgs? 15:11
vrurg [Coke]: github.com/orgs/Raku/teams/raku should be publicly visible. 15:15
[Coke] is there something that lists the IDs and isn't paged?
pel 404
[Coke] so I don't have to screen scrape X pages of results?
pel probably have to be in the group 15:16
I can see that page, anyway
pel oh
vrurg [Coke]: no idea beside the page existence.
[Coke] I'm guessing there's an API call somewhere that'll show me.
but would love it if someone else could track that down. 15:17
codesections [Coke]: I think this is it docs.github.com/en/rest/reference/...on-members
15:20 xinming joined 15:24 Altai-man joined
[Coke] api.github.com/orgs/Raku/members shows a very small number of users. 15:24
adding a per_page doesn't seem to help. 15:25
moritz I think unauthenticated github API doesn't allow bigger pages 15:26
[Coke] Doing it in browser, not sure if it's smart enough to use my existing login.
15:27 sena_kun left
[Coke] I think I'd be getting a 302 if it wasn't authed 15:27
If someone wants to dig in here, would really appreciate it. 15:28
moritz no, unauthenticated access is allowed there 15:29
$ curl api.github.com/orgs/Raku/members
[Coke] right - that shows 21 members here. 15:38
I am fairly certain there are more than 21 members.
codesections Those appear to be the same 21 people listed here: github.com/orgs/Raku/people 15:40
Are you looking for a different list?
[Coke] I'm sure there's a list which includes, e.g. you and I 15:41
Maybe we need to get all teams and expand them too?
codesections I'm very sure there *isn't* a list that includes me. I have a commit bit on the Raku/doc repo, but I'm not a member of any Raku github teams or orgs 15:42
15:43 molaf joined
codesections [Coke]: Are you a member of any Raku-related orgs? If so, none of them are public: `curl api.github.com/users/coke/orgs returns no results` 15:50
15:51 skids joined 16:05 stoned75_ joined 16:07 hungrydonkey joined 16:08 stoned75 left 16:10 Noisytoot left 16:12 Noisytoot joined
[Coke] ok. maybe it makes sense to go directly after repository commit bits, then. 16:16
16:26 natrys joined
codesections [Coke]: You can get the list for each repo with `curl -u $USERNAME api.github.com/repos/Raku/$NAME/collaborators` and then entering the personal access token for a user who has access to the repo in question. I only have access to Raku/doc, but here are the users I get: 16:40
(JJ Tux shlomif bradclawsie cognominal masak bacek ingydotnet fayland moritz KrisShannon timo zag zostay renormalist lucasbuchala mj41 sylvarant jdv b2gills coke jnthn Leont sjn Util Coleoid dbrunton bduggan nbrown japhb) 16:41
leont Wait, are you telling me I can vote? :-D
[Coke] very likely. 16:43
16:45 billN1VUX joined
codesections er, wait, it looks like that was also paginated. I didn't realize docs had that many users! So that's just the first 20. I'm happy to pull the rest if you'd like, though it's probably too many to post here without flooding the channel 16:49
16:50 approaching236 joined 16:51 aluaces left
leont codesections: but is that contributors or commiters? 16:52
It seems you are right, I have write on doc, and hence I may vote :-D 16:53
codesections :D glad to be the bearer of good news 16:54
16:55 rindolf left
[Coke] codesections: eh. having that API url is probably sufficient. 16:57
jdv79 you guys worried about voter fraud or something? 17:00
[Coke] trying to use an oauth token to hit that API, getting "must have push access to view repository collaborators." and wondering if I'm missing a priv on the token, or if my account doesn't have rights. 17:04
jdv79: just doing base-level verification of votes. 17:05
github.com/Raku/Raku-Steering-Coun...tally.raku has a bunch of things like "don't vote twice" "don't vote twice for the same person"
17:06 MasterDuke joined
codesections that's the same error I get for the repos I don't have a commit bit for 17:06
17:06 rindolf joined
[Coke] ok, but I have a commit bit on Raku/doc 17:06
... OH
helps if I use my github ID and not my work ID for a completely different system, I bet.
codesections :D
[Coke] ... nope. same error 17:07
codesections hmmm, I was using a personal access token (docs.github.com/en/github/authenti...ess-token) 17:08
[Coke] *also* needed more privs on the token. but "push" isn't one of the options. I ended up going too wide (picked everything) and now it works.
codesections Glad it's working 17:09
17:17 ensamvarg3 left, aluaces joined, aluaces is now known as alberto 17:20 aborazmeh joined, aborazmeh left, aborazmeh joined 17:23 stoned75_ left
lucs ponders naming an option "--fu" (force update). 17:24
17:25 molaf left, stoned75 joined
rypervenche I feel like a long option name would be --force-update and the short would be -f 17:34
lucs Right, but that's not funny ;) 17:37
"--fu, just update the d*mn thing!" 17:38
(or -fu, yes)
18:02 alberto is now known as aluaces 18:06 billN1VUX left, billN1VUX joined, billN1VUX left 18:07 hungrydonkey left 18:09 hungrydonkey joined 18:14 kleb joined
kleb hi everybody! 18:14
18:15 vrurg left
codesections o/ 18:15
kleb today i have been looking for answers! I am getting a cryptic error and havn't been able to find anything about it online 18:17
18:18 vrurg joined
kleb i am new to debugging into MoarVM, but the error I see comes from line 140 of MoarVM/src/6model/6model.c 18:18
I see the following: Cannot find method 'EXISTS-KEY' on 'BOOTHash': no method cache and no .^find_method
Last night I hit this error in a very odd way. It was very late at night, everything was working fine, I changed something I can't quite remember, and now I can't get rid of the error! 18:20
the stacktrace on the error points to a chain of 'use MyModule'; statements 18:21
I can see which files it seems to think are the problem, but have been using these 'use MyModule' statements just fine for many days. as far as i know the error materialized out of the blue (i know.. i know..) 18:22
im wondering: does anybody here know about this? would anyone be kind enough to help shed some light on what i can do to trace this problem through the MoarVM code? I have not read the whole MoarVM codebase yet, although I plan to in the next few months 18:24
18:24 aborazmeh left
codesections kleb: I have to say, I haven't run into anything at all similar to that! I hope someone else has and can shed some light on the issue 18:25
kleb thanks! it is quite odd to tell the truth! overall raku is my favorite though :)
is there a way for me to execute the raku script directly on a debug build of MoarVM so I can open in GDB? any experience with this? anything I need to consider? 18:26
[Coke] kleb: do you have some code that reproduces the issue?
you can configure a debug-able moarvm build. 18:27
if you're building moarvm standalone, you configure with --debug
(if you're building moarvm by configuring rakudo, it's a little trickier) 18:28
kleb ok, i am very familiar with building c programs, configuring, etc -- after that is done and i go to run my raku script, how can i point to the debug build of MoarVM? is there anything special I need to do? 18:29
as for code reproducing the issue, i have my codebase :) -- i havnt yet tried extracting the minimal demonstrating error case though. i will if i can't configure it out 18:31
it seems to happen on a chain of use 'MyModule::A'; statements spread over several files 18:32
but then when i comment these statements out, I (naturally) get an error indicating undeclared names and routines
[Coke] rakudo is built on nqp which is built on moarvm - if you have a new moarvm, you have to config nqp to point to that, then rebuild/deploy, then do the same for rakudo 18:35
kleb ok, when you say "rebuild/deploy" which project do you mean? rebuild and deploy nqp? rakudo? both? 18:38
my current understanding after what you said is that i would need to reconfigure MoarVM, deploy it, reconfigure nqp to point to the new MoarVM, deploy it, reconfigure rakudo to point to the new nqp, deploy it, and then run my program using the newly deployed rakudo. Is this correct? 18:39
MasterDuke kleb: if you just rebuild moarvm you don't need to rebuild nqp/rakudo, they'll use the new moarvm
kleb thank goodness 18:40
i can do this with environment variables?
*can i
MasterDuke i don't think so (assuming my quick scan of the past couple messages is correct)
how did you build moarvm/nqp/rakudo initially? 18:41
[Coke] MasterDuke: sorry, was assuming the debug moarvm wouldn't be a drop in replacement.
(like, installed elsewhere)
MasterDuke rebuilt moarvm usually is a drop in, rebuilt nqp usually isn't 18:42
depending on how you got your moarvm/nqp/rakudo of course 18:43
kleb i used system package manager on osx 'brew install rakudo-star'
was just getting something up quickly 18:44
18:44 wamba joined
MasterDuke ah. doesn't that just install a rakudo binary? or does it build all the constituent parts? 18:44
*does that 18:45
kleb i dont remember it compiling anything
i have no trouble configuring and building moarvm from the source repo, the readme is very clear
with a debug MoarVM build, what is the cleanest way for me to trace and debug the execution? running gdb directly on my script (understandably) gives me: "not in executable format: file format not recognized" 18:47
thank you all for the help, by the way! I appreciate it! 18:48
[Coke] if you want to run gdb, there is a 'rakudo-gdb-m' wrapper that gets installed.
MasterDuke or just `gdb --args raku <...>` then `break MVM_exception_throw_adhoc` 18:50
[Coke] MasterDuke++
kleb thank you!
i have some stuff to try! 18:51
MasterDuke np
kleb i might be back with more information
i appreciate all of the help!!
my current raku does not have debugging symbols, so i need to do the manual configure and deployment. was bound to happen sooner or later! 18:52
MasterDuke and if you're in gdb and want a raku-level backtrace, `call MVM_dump_backtrace(tc)` (might have to move up a frame or two to get access to `tc`)
kleb nice! this information is very helpful and will save me loads of time
are there any more raku-specific debugging tips you can point me to? i am sure reading the source will be helpful. it sounds like you know the project well 18:54
MasterDuke there is a rakudo debugger, but i haven't used it all that much. timotimo, Altai-man, jnthn could help with that one 18:56
19:02 molaf joined
kleb oh, i have one more unrelated question 19:09
suppose i am writing some raku as part of a larger project, and wanted to pull in all of the external modules i am using in their current versions as source code to a specific directory of my project folder. is this possible? I am aware of the command, for example " zef install -v --contained --to=inst#./site Data::Dump::Tree", although i am 19:14
looking for a clean way to browse, instrument and edit the pulled in source code in a way that transparently will compile alongside the rest of my code. my current understanding is that installed modules are immutable by design. is there a way to pull in the module and all of its dependencies without installing them?
the most similar feature from another language environment i can think of is 'cargo vendor' from rust 19:16
MasterDuke well, you could always just git clone them directly 19:17
kleb the zef install command i mentioned above does almost what i want, but i cant cleanly edit and use any of the pulled in sources because they are hashed
MasterDuke i'm not sure about a zef command. maybe something with `zef look`?
19:17 cpan-raku left
kleb i thought of git clone, but manually finding all of the dependency versions and pulling in all of those too is a pain and not usually worth it 19:18
19:18 cpan-raku joined, cpan-raku left, cpan-raku joined
kleb there is usually a whole tree to pull in -- is there any way to pull that in automatically and then point to it instead of the system installed modules? 19:20
MasterDuke not that i know of, but i don't know zef very well 19:21
ugexe and tony-o aren't usually on irc. either have to hope someone else here knows, ask on stackoverflow, or create an issue in zef's repo 19:22
kleb thank you so much for all of your help
MasterDuke np. i'm going to be afk for a bit, but will likely be back later 19:23
kleb no problemo
me too
codesections kleb: I haven't tried it, but I _think_ you could use zef locate
(also, great to see another rust user here. I think it and Raku fit *very* well together!)
19:24 aborazmeh joined, aborazmeh left, aborazmeh joined 19:25 sena_kun joined
kleb the combo is the best thing since sliced bread! 19:25
codesections :D
19:26 Altai-man left
kleb at least for me, the way it is looking right now, this pairing of languages is what i plan to integrate most deeply with for years to come 19:26
codesections I haven't used `zef install --contained` much, but I _think_ `zef locate` would still point you to the contained source 19:27
Agreed 100%, I have the same plan
tobs "together" how? Is Rust NativeCall'able?
kleb the interface between the two languages is the cleanest i have ever seen 19:28
this article explains how: raku-advent.blog/2019/12/13/day-4-a-little-rr/
codesections tobs: they both work very well over a C ABI. (You can sometimes lose a little type info if you have something in Rust and Raku that doesn't exist in C, but that's pretty minimal) 19:29
kleb two patterns i have been wondering about: 19:34
the first is threading in both -- that article seems to indicate that raku threads can create lots of rust threads -- how does this play out in practice? how are the two threads different? what sorts of performance can we expect from doing this? where are the overheads? i have lots of questions about this 19:35
tobs I guess that I could say that I mainly use the previous version of that combo at work: Perl with C++. And as life goes, I find myself more often debugging memory management errors in old C++ code than I would like to :-) 19:37
kleb it is a good combo - i learned on perl5/c++ too 19:38
codesections (disclaimer: I haven't actually done this, so my understanding here is theoretical rather than applied) Raku creates green threads (think Tokio's threads, not system threads). Despite the article's example, I don't _think_ you'd want to use that pattern to create a large number of system threads on the Rust end -- I'm pretty sure you'd want to pair it with something like Tokio or similar 19:39
tobs: no memory management errors in (non `unsafe`) Rust, though! 19:40
19:41 kleb left 19:45 klebs joined
klebs kleb here, the other tab got disconnected 19:46
kleb15:41:41@codesections that's what my impression was of the pattern described in the article as well. it seemed a little dicey to create lots of system theads that way from raku threadskleb15:42:43one pattern i am thinking of trying is to write the stuff that needs to be as fast as possible in rust and then just call those functions from raku
threads. that seems like it will work greatkleb15:44:39practically speaking, what sorts of overheads do we get when calling NativeCall rust from MoarVM? I am a bit curious as to the interaction between the VM and native code
*that last message formatted awkwardly, i will try again:
codesections me too! I haven't gotten to testing that out -- it's definitely on my list, though! When I do, I'll be sure to blog about it and let you know :) 19:47
klebs kleb 15:41:41 @codesections that's what my impression was of the pattern described in the article as well. it seemed a little dicey to create lots of system theads that way from raku threadskleb 15:42:43 one pattern i am thinking of trying is to write the stuff that needs to be as fast as possible in rust and then just call those functions from
raku threads. that seems like it will work greatkleb 15:44:39 practically speaking, what sorts of overheads do we get when calling NativeCall rust from MoarVM? I am a bit curious as to the interaction between the VM and native code
nice! glad to hear that 19:49
another question i have about this pairing is about object storage in rust 19:50
codesections klebs: jumping back a topic, I just tried to use `zef locate` after installing something with `zef --install-to=$path --contained` and `locate` couldn't find it
klebs me neither -- i have not been able to find anything in zef yet that solves this particular thing. have you tried cargo vendor? 19:51
codesections which seems like a bug in Zef -- which isn't too surprising, given that it's an odd combo of flags (and one is BETA) 19:52
klebs understandable -- these systems are always improving!
i may feature request it on the zef repo later today -- i could really use this functionality and am hesitant to roll my own custom thing. dependency management can be tricky without a robust api 19:53
codesections Agreed!
klebs cargo vendor, and then annotating the Cargo.toml to say: [patch.crates-io] mymodule = { path = "vendor/mymodule" } is a breeze! is does exactly the right thing! i was blown away by that the first time i saw it 19:55
that lets you patch *just one* single module out of all the others you have vendored and use it for just as long as you need it. dont want it the patch in the future? already push your patch? you can just comment that Cargo.toml line
as for raku/rust interface, it seems like, even if the NativeCall interface is fast, we might want to avoid passing large objects between the two. what i am wondering is the best pattern for keeping the objects in memory in rust and using the NativeCall interface to call functions on them 19:56
codesections I never had a need for `cargo vendor` -- I the only time I've departed from upstream source was for a short period while a patch was being merged (and that was just for one crate at a time), so I've just had a path dependncy pointing at the git repo
(which I already had because I'd been working on the PR) 19:57
but yeah, `cargo vendor` does seem nice for when you need it
klebs it is mega helpful for me even if i dont need to directly patch something because i can grep through the source code directly to find the interfaces i want to use in the code itself, alongside the other code in my repository
and then in the odd case i wanted to instrument the source during debugging, it would be right there 19:58
something similar in the raku ecosystem would be an incredible wonder 20:00
ok! I am going to go offline for a little while
this has been hyper interesting -- thank you everybody for the discussion -- i am new here -- this channel is awesome!!
20:00 klebs left
[Coke] \o/ 20:07
20:18 rindolf left 20:20 patrickb joined 20:22 billN1VUX joined 20:26 aborazmeh left 20:28 klebs joined, klebs left 20:37 rbt left, domidumont left 20:42 sena_kun left 20:46 wamba left 20:58 patrickb left 21:00 stoned75 left 21:03 stoned75 joined 21:16 wamba joined 21:23 stoned75 left, stoned75 joined 21:48 stoned75 left 22:06 Black_Ribbon joined 22:14 natrys left 22:16 gordonfish left 22:17 Black_Ribbon left
ggoebel .tell JJMerelo where can the results for the current survey be found? 22:30
tellable6 ggoebel, I'll pass your message to JJMerelo
codesections ggoebel: docs.google.com/forms/d/e/1FAIpQLS...wanalytics 22:32
(the same URL as taking it, but with 'viewanalytics' instead of 'viewform' at the end 22:33
)
ggoebel codesections: thx 22:34
22:54 wamba left 22:59 Black_Ribbon joined 23:05 pecastro left 23:08 epony left 23:09 epony joined
tbrowder [Coke]: hi, how's the voting going? 23:25
23:48 aborazmeh joined, aborazmeh left, aborazmeh joined