🦋 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.
perryprog I endorse Nemokosch for atom-language president 00:21
rip cson tho 00:22
tonyo ++ 00:36
guifa still needs ideas for the Toronto conference 00:53
guifa wonders if he can describe creating a brainfuck interpreter in RakuAST in < 50 minutes 00:54
guifa fuck it, let's go for it 01:04
But plz if anyone has any other ideas I'd like one or two more
guifa maybe how to do truly inline languages (like my BASIC test or ecma regex) but not sure if that's better as a 20 or 50 minute talk 01:16
tonyo that basic post was very good 01:30
interestingly, it'd be cool to see a subset of datalog used in an orm like fashion with any backend (csv, sql, etc)
which is something i've wanted to do for a while but i have only one brain 01:31
guifa the only thing that's been holding me back from doing more on the inline languages is that I've not really figured out how to install a sub/ multi sub via QAST nodes 01:32
guifa which will really be a non issue once the big switch to RakuAST happens because then I can just drop a RakuAST::Statement::Expression.new( expression => RakuAST::Sub.new( … ) ) and done :-) 01:33
guifa hasn't worked with datalog but ... up for a challenge 01:38
oh wait I guess I did figure out subs ha 01:41
lucs tonyo: Hmm... Upgraded to 49; hangs after I enter my password for login. 02:20
Ctrl-C, then tried entering a wrong password, same hang.
(lots of stuff hangs, server problems?) 02:28
rf Evening folks 02:30
tonyo lucs: windows? 02:33
lucs God no. Linux Slackware.
tonyo hit ctrl+c and enter a few times each, try `stty sane` ? 02:34
lucs Sure, but I'm pretty sure my terminal is okay...
Yeah, no difference. 02:35
Do you happen to see login attempts in some log somewhere? 02:36
tonyo hmm, then i'd suspect something else
you can try `fez -v login` to get _way_ more output
lucs Trying...
tonyo if it uses curl and hangs then try adding the kv `"bundlers": ["Fez::Util::Wget"]` to your $HOME/.fez-config.json 02:37
lucs After prompting for password and my entering it, it hangs on ">>= DEBUG: [CURL:starting]" 02:38
tonyo give ^^ that a shot
lucs Yep...
Xliff \o 02:38
Xliff .tell tony-o Ryml looks cool! What would it take to get it to work as a generator for SVGs? 02:39
tellable6 Xliff, I'll pass your message to tonyo
tonyo Xliff: very little, i can add that dialect if i can find a complete list of attribute/tags somewhere
lucs tonyo: Same result, so I did: 02:41
rename to .fez-config.json.hold, tried logging in again, and it 02:42
recreated the .fez-config.json, but with only "{␤}" content.
(and still hangs, eh) 02:43
tonyo lucs: can you pm what's in your .fez-config.json.hold ? 03:19
(don't paste it here)
lucs Sure, just a sec...
Fixes have allowed me to login and up upload. 03:25
Thanks!
lucs Up, up, and upload! 03:25
tonyo for log posterity, i meant to ask lucs to add key "requestors" and not "bundlers" 03:35
lucs tonyo: I'm instructing my friend pel (P.E.Lévesque) to do the same.
Is this something all current users will need to tweak manually? 03:36
tonyo only if curl isn't playing nicely on their system
i'm seeing if i can reproduce it now on an opensuse box 03:37
lucs pel is on a Mac, appears to fail.
(I'll get the error message, hang on) 03:38
lucs Hey, pel, tonyo says that on osx, you should be okay with curl. 03:50
pelevesque I installed both wget and curl with homebrew, and still failing 03:52
I just tired using 「"requestors": ["Fez::Util::Curl"]」 in my fez config. I get all kinds of text.. a lot... At the end I do get the list of my modules though. 03:54
It looks like I get a dumb of all the META6.json files uploaded to fez, before I see my list of modules. 03:55
tonyo okay, i'll have a fix for curl shortly 04:07
pelevesque the `-v` flag provides a ton of info, only time you may need it is for a bug report 04:08
pelevesque Thanks for the tip 04:15
tonyo pelevesque: try a `zef upgrade fez` and curl should get you going 04:21
pelevesque @tonyo I get All requested distributions are already at their latest versions I'm on fez 49 04:23
tonyo v50 is indexed, maybe you beat the indexer 04:24
pelevesque @tonyo I did zef uninstall fez and then zef install fez and got version 49. Could it be a mirror that is not yet updated for me? 04:27
lucs Maybe 'zef update' first? 04:28
(just saying, I dunno how this stuff works) 04:29
pelevesque cdn.discordapp.com/attachments/633....52_AM.png 04:30
It worked.
This is what I get now.
cdn.discordapp.com/attachments/633....43_AM.png
Not sure if normal or not. 04:31
maybe if I logout and log back in it would fix it.
tonyo yea you're not logged in so it's assuming you are who you were and showing you your packages, if you were logged in it would also show you packages belonging to any group you belong to 04:32
pelevesque I see. Thanks.
Thanks guys 04:33
Anton Antonov @guifa "fuck it, let's go for it" -- brain it, let not. 13:26
Ergo444 hi 16:20
How can I print the moar byte code of a program and disassemle it or assmple it? 16:21
tbrowder__ .tell tonyo i just did a module release with App::Mi6 and it failed due to my Fez not being updated. after upgrading Fez, it worked fine. 16:30
tellable6 tbrowder__, I'll pass your message to tonyo
tonyo tbrowder__: wonder if mi6 is using the fez library for communicating with the service 16:51
tellable6 2023-03-31T16:30:04Z #raku <tbrowder__> tonyo i just did a module release with App::Mi6 and it failed due to my Fez not being updated. after upgrading Fez, it worked fine.
tonyo that was added around v40 (after telling jnthn i'd get to it for several months) 16:52
tonyo but it wasn't changed at all in the last series of versions so it's hard to say 16:54
tbrowder__ need to tell skajii about this but gotta run now… 16:58
tbrowder__ sorry 18:06
it might have been an older version of Fez. i’ll see if i still have it on the host after i get back to solid wlan connection 18:10
tonyo Xliff: if you can find a list of valid SVG tags and attributes i can do the leg work to make that part of ryml 18:13
Xliff tonyo, Right you are sir! One second! 18:26
tonyo: developer.mozilla.org/en-US/docs/W...VG/Element
Xliff Tonyo: In the case of element conflicts, may I suggest the use of :$svg for SVG semantics? 18:28
tonyo Xliff: it's super easy to change the context of that generator the way it's written so it should be easy enough to create subsets for custom stuff, like outputting a man page 18:38
are you asking for svg as part of the html tags or separately?
Ergo444 hello.. How can I print the moar byte code of a program and disassemle it or assmple it? 18:40
lucs Hey, if I have "export RAKULIB=$HOME/no-such-dir" and then run for example the REPL, when I leave it, the $HOME/no-such-dir directory will have been created. 18:42
What's up with that?!
Nemokosch hit on the moarvm IRC channel if you are that fixated on it tbh
I can't see any positive outcome
[Coke] I wouldn't bother moarvm with that, I'd open a github ticket on rakudo/rakudo 18:44
Nemokosch not that, the "print the moar byte code of a program and disassemble it" one 18:46
[Coke] it creates a .precomp directory as well
Ah, that makes sense.
lucs [Coke];
indeed
lucs I dunno, but that was a bad surprise for me. 18:48
lucs Is RAKULIB a rakudo thing, or part of the language spec? 18:50
vrurg lucs: What is RAKUDO is compiler-specific. What is RAKU is language-specific. 18:54
lucs vrurg: Yep, that I get, but I'm wondering about the RAKULIB envvar. 18:56
It doesn't seem to appear in the Raku docs.
So is it rakudo specific?
I'm not happy with having directories mysteriously appear because of a typo in a RAKULIB setting. 18:57
But I'm happy in general terms, so there is that :-) 19:00
Going fook shopping now, tty folks later. 19:01
Food too.
Xliff tonyo: Whichever is easiest.
I kind of like how you did the HTML tags, so as long as it doesn't affect what you already have, keep the same style. 19:02
vrurg lucs: The rule applies to everything. Say, RAKUDO_DEBUG environment variable – guess it! ;) 19:04
lucs vrurg: Maybe I misunderstood you: if the envvar begins with "RAKUDO", it's to do with the (that) compiler, but "RAKU" followed by something different is language specific? 19:06
Anton Antonov @lucs I hope fook shopping is legal where you live. Or at least socially acceptable…
lucs Anton: Er, in any case, I try to keep that shopping private ;) 19:08
vrurg lucs: Exactly. Say, if we get another Raku compiler named Whatever it would understand RAKULIB exactly as Rakudo does.
lucs vrurg: Okay. Then two problems: - It would be nice to see it documented in the docs (no match at this time) - I'd like to know the rationale for its contents sometimes leading to directory creation. 19:09
(Gotta go, too warm with my winter coat on inside...) 19:10
[Coke] docs.raku.org/language/modules has docs on RAKULIB 19:14
vrurg lucs: I guess a directory gets created because Rakudo tries to use it as a repository. Should be documented, perhaps. But it is barely the highest priority of all the documentation tasks, I think. Besides, would be good if ugexe confirms my guess first.
Nemokosch docs.raku.org/programs/03-environment-variables 19:30
ugexe lucs: i think your example is incomplete, in that you'd also have to use a module and not just start the repl. then it precompiles to the head repository (in this case whatever RAKULIB is set to) in $HOME/no-such-dir/.precomp 19:48
tonyo Xliff: i'll add that to Ryml and an interface to define a type somewhere
tbrowder__ tonyo: the prev ver of fez was 48, upgrading to 50 apparently fixed the problem, i'll report that on App::Mi6 20:04
Xliff tonyo: Thanks, mate! 20:13
Xliff derezzes.
[Coke] ugexe: it created the directory for me when launching the repl (presumably because the REPL uses modules on startup if it can) 20:46
raku -e 'say 1' did not.
lucs ugexe: I rechecked, and like [Coke] confirms, simply opening/closing the REPL creates the directory, with its .precomp subdir. 21:35
My naive understanding of RAKULIB is roughly "look in these directories first to find modules your program wants to use".
And during development, that is very useful: no need to maintain temporary 'use lib…' statements all over the place. 21:36
(Oh, and indeed, something like raku -e 'say 1' does not.) 21:37
ugexe if you have Linenoise or Readline I guess opening the repl will use a module 21:40
lucs Oh, yeah, I do. 21:41
But I don't quite understand: why isn't having a RAKULIB envvar that designates a non-existent directory the same as not having the envvar set at all? 21:43
Nemokosch because RAKULIB is only roughly "look in these directories first to find modules your program wants to use"
it rather turns the folder into a repository of modules, a very simple repository, iirc 21:44
lucs Nemokosch: Fair enough, re. your first comment, and in that case, user docs on its usage seem pretty important. 21:46
tellable6 lucs, I'll pass your message to Nemokosch
Nemokosch you can also notice that if you set RAKULIB to a huge folder, stuff will get slow 21:47
lucs Yeah, and than matches my naive understanding :) 21:48
*that
Nemokosch I can't find it at the moment but iirc it gets slow for startup even 21:54
like this even happens eagerly
guifa second talk proposal submitted 21:55
ugexe if you don't have a META6.json file at the root directory, then yes it needs to find which modules are loadable because those are used to calculate the repository id
guifa a beginner one would be kinda cool but I dunno what to do 21:56