🦋 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.
guifa almost had a freakout when running zef started causing all sorts of crazy errors (like not being able to call MAIN) 00:48
guifa then realized he had left RAKUDO_RAKUAST set to 1 in that terminal
[Coke] heh 01:02
Nemokosch hi guys 14:30
theweeklychallenge.org/blog/perl-w...152/#TASK1 do you know something about how to interpret this task?
because the example seems like "just take the smallest element from each line" 14:31
but why would you call that a "path"?
MasterDuke i would have interpreted that to mean you can only go to one of the children of your current position, but that's not what the example shows... 14:35
lizmat weekly: updown.io/api 14:50
notable6 lizmat, Noted! (weekly)
Nemokosch why? 15:30
guifa that's weird, surely he made a mistake with it 15:38
suman What does se v6.*; mean 16:19
Asterisk?
suman use v6.* 16:20
lizmat it basically means: give me the highest possible version
currently, that'd be equivalent to v6.e.PREVIEW
suman got it thank you 16:21
tonyo ^ that's why fez doesn't allow `*` vers 16:58
Geth ecosystem: f07e0ad790 | (Elizabeth Mattijsen)++ | META.list
Freeze the Form module to the current commit

While we're moving it to the zef ecosystem
17:59
[Coke] would it break anything to allow 'raku -e say 3/4' to work without wrapping the raku code in quotes? 18:28
and/or can we get a switch that prints the value of the last statement executed, like 'raku -x 3/4'
lizmat [Coke]: how would you pass command-line parameters if you don't quote ? 18:30
[Coke] (the former would need to .join the ARGS with ' ', of course
lizmat: raku -other -args -e has to go last or maybe: 18:31
so maybe another -- for that type, with the expectation that you couldn't use args.
lizmat [Coke]: I can see the advantage of not having to quote :-) 18:32
[Coke] but "break anything", yes, that's a thing. ok. :)
[Coke] lizmat: looks #4697 resulted in a revert which means it can be closed? 19:01
lizmat closed :-) 19:03
ugexe the quotes are there for shells 19:09
otherwise what interpolates e.g. $FOO
lizmat also a good point :-) 19:10
moon-child raku -e say \$foo 19:12
raku -e say '$foo'
moon-child or even 19:12
raku -e say '$'foo
and curly quotes are ignored by the shell, so you can use them to quote raku-side 19:13
raku -e say “'$'foo”
is any of these clearer than raku -e 'say $foo' or raku -e 'say "$foo"'? Probably not but ...
ugexe dont forget to handle % different on windows 19:14
Geth ecosystem: 9cd26cb324 | (Elizabeth Mattijsen)++ | META.list
Freeze the Form module to the current commit

While we're moving it to the zef ecosystem
19:17
[Coke] I really hate finding out someone is no longer with $dayjob by getting an exchange bounce. :| 22:29
qorg11 Is it possible to output moarvm bytecode so rakudo don't have to compile everytime? 23:00
So a CGI application doesn't take a lot to load
[Coke] modules are precompiled. 23:01
so if you put your stuff in a Helper module and 'use Helper' all that will only be compiled once.
(also don't do CGI. :)
qorg11 What's wrong with CGI?
[Coke] eh. it's an older tech stack, but it checks out. 23:02
qorg11 It ain't broke you know
[Coke] so, no worries if it's solving your problem - but there are newer things to use if you like.
qorg11 Well, what i really want is to speed up rakudo's init 23:05
And i guess what takes some time is the compilation to MoarVM bytecode 23:09
So i want to output MoarVM bytecode 23:10
lizmat qorg11: what you want, is to have a look at cro.services
putting your code in a module and 'use'ing that *is* the equivalent of loading bytecode
it works best if you set it up as a module and actually install the module 23:11
japhb qorg11: The problem with basic CGI is that you have to (fork, exec, init, run, clean up) for every request. Other stacks allow you to remove most of those (on a per-request basis, at least). 23:23
qorg11: Also note that since MAIN can be exported (like any other sub), you can have the entirety of your program in the module that you load, and literally the entire main program can be "use ActualImplementation;" and everything else including MAIN can be in the ActualImplementation module (if you're using #! lines, just add one at the top of the script, making it two lines). 23:26
I do this for basically any app I write where I care about startup time.
moon-child exec is not too bad, if you are perl or c 23:28
only if you are raku
:)
but yeah, startup time even without loading any non-core code is like 200ms I think, definitely prefer not cgi 23:30