🦋 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.
lucs tonyo: Hmm... Contrary to some days ago, every time I try a 'zef upload' it not only fails (used to too), but it also does something which makes the .tar.gz it creates under sdist/ contain some .precomp files (that I removed before trying the upload). 02:01
tonyo how did .precomp files that weren't there end up in the dist? 04:44
Xliff \o 08:35
tellable6 2023-03-19T20:51:16Z #raku <vrurg> Xliff I haven't followed the full context of your question about OUTER, but what you probably need to iterate over out contexts is .WHO<OUTER>
Xliff raku.land looks to be down. Can someone restart?
vrurg: Ah! Thanks!
.tell vrurg Ah! Thanks!
tellable6 Xliff, I'll pass your message to vrurg
Nemokosch these questions are worrying 09:52
from what I understood, the main source of problems is what gets included in the package, and .gitignore globs in particular. Why not make that a standalone package with its own tests and maintenance? 09:54
lucs tonyo: I'm sorry, I wasn't clear. Here's a gist explaining in detail: gist.github.com/lucs/49e797ac936b3...904878f22d 14:06
Anton Antonov @lucs Interesting package : "Test::Selector". I should try to figure out how from Gherkin specs to generate Raku test files that use the proposed way of test selection. (The Gherkin language allows tests labeling for selective running.) 14:17
lucs I hope it works out for you. 14:18
Anton Antonov @lucs I might have multiple feature enhancements requests. 🙂
lucs I use the module especially during development, because that's when you don't necessarily want to run all the tests all the time.
lucs Anton: I'll gladly look at any suggested enhancements :-) 14:22
Anton Antonov @lucs Well, they are going to be inspired by this guide: cucumber.io/docs/cucumber/api/?lang=java#tags 14:28
Basically, it would be nice if we can associate a list of tags for test and be able to select test running based on a tag or two from each list. 14:29
@lucs I easy or hard is to implementing using of Tuple objects as test tags? 14:32
raku.land/zef:lizmat/Tuple
lucs I suppose something like that is doable. 14:33
rf_ Sorry for no article last sunday, was very busy
rf That was me^ 14:33
tonyo ahh lucs do you have a .gitignore in the directory you're bundling? 14:34
and which version of fez are you using? `fez version` 14:35
lucs Currently, one can select a subset of the available runnable blocks (or tests, if you will) by asking for those whose label (which work as a single tag) match a glob-like pattern.
Anton: This has worked well enough for me over the years. 14:36
tonyo: Yes, the bundle has a .gitignore (you can see it listed in the .tar.gz archive). 14:37
fez version 42 (the best, I'm sure!)
tonyo haha
fez 43 attempts to fix up the globbing so that it works with .gitignore rather than like real typeglobbing 14:38
so an update _might_ fix your issue though i'm getting other reports that it isn't fixing anything
lucs Uh, zef can get that version, right?
Okay, got 43, will try again. 14:40
tonyo bless
lucs Hmm... This time: "=<< Failed to tar and gzip: tar: Cowardly refusing to create an empty archive" 14:42
(and created a .precomp/)
I did only a 'fez upload' there; is there an operation that should precede that? 14:43
lucs tonyo: Do you know why it creates a lib/.precomp? Is the 'upload' running my code or something? 14:46
tonyo hmm no - i think i figured out what's happening
one sec 14:47
tonyo lucs: pushing a fix 15:06
lucs Thanks. I'll try it out when it becomes available, and let you know how it goes. 15:08
tonyo v44 is up and available lucs 15:10
lucs OK. Not quite zef-available here yet, it'll take a few minutes I guess. 15:12
Or should I download from github? 15:13
tonyo zef update should refresh the mirror 15:16
`zef update && zef install ..`
lucs Oh, forgot to do that, thanks.
lucs Okay: turns out the latter part needs "upgrade" instead of "install", and... it's installed! 15:18
Trying...
tonyo woo 15:20
if it doesn't work, i have a workaround for you until i can figure that out
lucs :-( No luck. "null regex not allowed" and "Failed to tar..." / "All bundlers exhausted..." 15:22
By the way, I'm in no hurry to upload this version, and I can test your versions, maybe from github if you prefer not to keep uploading 45, 46, etc. 15:24
Anton Antonov @lucs Yeah, sure glob like patterns is one obvious way of doing it. It is not that close the Gherkin syntax, but can be used in a MVP. 15:27
lucs Anton: Yeah, I fear the whole tags system may be somewhat of a YAGNI. 15:28
tonyo lucs: is your repo public? 15:33
lucs Yes: github.com/lucs/Data-RandomKeep
tonyo: Something I should mention about my setup, which may be irrelevant, but maybe not: 15:37
I notice there is a '.fez-config.json' file in the $HOME directory.
If your code needs to consult that file (I guess it does), it needs to indeed search for it in $HOME as it is set at that moment, not in the home directory that is specified in the /etc/passwd file (yeah, I change $HOME when I work in different projects).
(Since the file has been written in different project/$HOME directories, I guess your code reads from it there too, but just wanted to inform you, in case.) 15:39
Xliff Who is handling doc site development? 15:43
lucs Join channel raku-doc, they'll know :) 15:44
Xliff Thanks.
tonyo the bundling should work okay without that 15:45
lucs: if you want to try uploading with fez from github i just pushed a few other fixes that should work
i tested against your repo and it looked correct after the change i just made ^
lucs Ok, will try. 15:46
tonyo: It worked! The comments mentioned looking a sdist/….tar.gz for a META6.json, but that directory appears to have been removed after the upload (which is fine). 15:52
But it did create a lib/.precomp, so not sure if that was uploaded.
tonyo: Anyway, thanks! 16:02
tonyo i'll take a look 16:17
yep, no precomp files in the dist 16:19
thank you @lucs
lucs tonyo: Excellent. Thanks again for such a quick resolution. 16:27
(And don't forget to upload 45 ;-) )
tonyo that should also help guifa and [Coke]
i'm actually pretty close to releasing the `dist` branch if you want to check it out 16:28
which will revolutionize synergy. it also will help manage the dist
lucs Er, synergy the concept, or is that some software I don't know about? 16:29
tonyo the marketing jargon : ) 16:30
lucs Okay :)
lucs (Now I keep lolling every time I read "revolutionize synergy" :-) ) 16:45
tonyo heh 16:46
Ergo444 hi how can I view the byte code of a raku program in an assembly form? 17:50
tellable6 2023-03-26T01:08:36Z #raku <tonyo> ergo444: did you reinstall fez or is it using precomp from the older version of rakudo?
tonyo Ergo444: my guess is it'd be in the precomp files 18:21
Anton Antonov @lucs Here is a Raku one line for you to try: raku -MData::Generators -e '.say for random-pretentious-job-title(100).grep({ $_.lc.contains("syner") })' 18:31
You might get something like: National Paradigm Synergist Interactive Intranet Synergist Corporate Mobility Synergist
lucs Hehe! 18:32
Anton Antonov Note it is made with a "fellow" random-based package from "Data::*". 18:33
tonyo haha 18:34
okay, fez as a full dist manager is ready to roll - wee
lucs Right. But note that "data" and "random" can cover a pretty wide area, so it turns out that at best, they're pretty distant cousins 🙂 18:35
Anton Antonov @lucs Absolutely. But I need random data generators or samplers a lot for/during data wrangling demos. The package "Data::RandomKeep" can be fairly useful during data acquisition. 18:38
Which means I am filing an issue. 18:39
lucs Uh, oh. That was fast 🙂
One feature I thought of adding is an optimization when you know how many elements the set you'll be picking from has. 18:40
Anton Antonov github.com/lucs/Data-RandomKeep/issues/1 18:43
lucs Interesting. What would the "--/resample" mean? 18:44
Anton Antonov Say, if you have 100 lines in the file and your request 120 to be kept. 18:51
You can shuffle the 100 lines, return them, and probably print a warning. 18:52
Alternatively, you can sample with repetitions, and return 120 lines. 18:53
lucs Oh, I see. 18:54
Anton Antonov “resemble” might not be a good option. Say, —upto=120 might be a better signature. 18:55
lucs Interesting. I'll work out a spec and ask you how it sounds. 18:56
tonyo fez v45 uploaded, full dist management is there now 19:27
tonyo rf_, guifa, lucs, [Coke] ^ dist features should be GA, the gitignore thing should also work better 19:44
[Coke] tonyo: do you remember what I was looking for? 19:46
tonyo it was a problem with the gitignore globber 19:53
it wasn't ignoring things in quite the same way as gitignore (it was a strict typeglobber), i've added a mode that does it more like .gitignore works. iirc it was a on timezone or date related repo that was giving you issues 19:54
perryprog So I must be looking in the wrong place, but I'm trying to figure out 1) how to configure the search path that nativecall uses to find libraries and 2) why I can't find where this is actually implemented in Rakudo. 20:19
The specific problem I've been trying to solve is to get Net-ZMQ to actually find libzmq.5.dylib, which I have installed at /opt/homebrew/lib/libzmq.5.dylib 20:20
tonyo perryprog: how's your `is native(...)` call look? 20:21
perryprog And here's the actual error: gist.github.com/perryprog/7ff8296b...30b0861bda 20:22
tonyo where's the file trying to load that? 20:23
perryprog I think that'd be github.com/arnsholt/Net-ZMQ/blob/m...pm6#L7-L16
tonyo you may have to set the LD_LIBRARY_PATH to add stuff installed with homebrew 20:25
perryprog LD_LIBRARY_PATH=/opt/homebrew/lib zef install Net::ZMQ doesn't seem to work.
tonyo in your case, try `LD_LIBRARY_PATH=/opt/homebrew zef install Net::ZMQ --force-install` or whatever the syntax for setting a variable is for your shell
minus the lib
perryprog aaaa 20:26
right
Also nope, and I don't see a change in the "tired" locations in either case.
But that's why I started trying to find where the search actually happens but no luck. 20:27
guifa dang it 23:07
my file system is case insensitive and I actually had a valid reason to name two modules identically but for capitalizations
ugexe you can technically make it work 23:09
if the distribution is in a tar file already: use Distribution::Common::Tar, install it via CompUnit::Repository::Installation 23:10
perryprog ... what was the valid reason? 🤔 23:11
I'm not saying I don't believe you 23:12
but I'm not not saying that
ugexe take for instance raku docs, having a Int.rakudoc and int.rakudoc
perryprog ummmmm. Heck.
I'm not saying I'm wrong 23:14
But I'm not not saying it
guifa ugexe: heh, yeah this is for a module I'm developing so files need to sit around 23:50
guifa perryprog rather than do one monstruous formatters file, I decided to break them up by code 23:51
so Intl::Format::DateTime::Formatters::m.rakumod vs Intl::Format::DateTime::Formatters::M.rakumod
I could call them "…::MonthDigits", "…::MonthStandAloneText", "…::MonthGenitiveText", but… meh, I'd rather just use the code lol 23:53