🦋 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. |
|||
00:04
Aedil joined
01:04
apac left
01:33
hulk joined,
kylese left
02:15
hulk left,
kylese joined
03:45
kylese left
03:48
kylese joined
06:05
Sgeo_ joined
06:08
Sgeo left
06:44
Sgeo_ left
07:23
lichtkind joined
08:05
apac joined,
wayland joined
|
|||
wayland | librasteve_: I don't have a Reddit account, but if I haven't done that by Friday, then please feel free to remind me (I'm busy tonight, but should have time Friday/Saturday my time) | 08:07 | |
08:13
melezhik joined
08:15
dakkar joined
|
|||
melezhik | Just dropped a small HN post on small Raku/sparrow based apk build files parser - news.ycombinator.com/item?id=44657415 | 09:58 | |
tellable6 | 2025-07-22T09:29:05Z #raku <wayland76> melezhik: No worries, thanks :) | ||
melezhik | Useful for people dealing with maintenance of alpine packages | 09:59 | |
10:09
arkiuat left
10:38
arkiuat joined
10:43
arkiuat left
11:12
arkiuat joined
11:17
arkiuat left
|
|||
tbrowder | wayland: i went to reddit and reglanced at yr raku collections piece. for one thing it's missing "pdf" as a collection term. i also have not been able to figure out how to reply to a post or get out of the apparent unrelatet stream of commercials and ramblings by new age ppl | 11:29 | |
i don't like reddit | 11:30 | ||
11:38
arkiuat joined
11:43
arkiuat left
|
|||
disbot4 | <librasteve> tbrowder: I'm not saying that reddit is good (!), but as a tool for us to showcase raku (in order to interest and engage eg. potential Python, Go, PHP converts), it seems pretty useful to me ... imo if you comment here about Waylands collections then it will quickl scroll up and away, whereas over there we can have a thread - and for Wayland to have garnered (now 2k views) maybe some of that will trigger interest and is worth | 11:55 | |
trying to amplify | |||
12:08
arkiuat joined
12:13
melezhik left,
arkiuat left
12:30
wayland left
12:34
wayland joined
12:36
arkiuat joined
|
|||
wayland | tbrowder: PDF is there, listed as one possible value of the "Formats > File" facet. | 12:39 | |
disbot4 | <librasteve> lol | 12:40 | |
12:40
arkiuat left
13:07
arkiuat joined
|
|||
wayland | librasteve_: I don't have anything to respond to on the Pathways of Entry one, but I've commented on the RaClU one. | 13:09 | |
disbot4 | <librasteve> =b | ||
13:12
arkiuat left
|
|||
disbot4 | <antononcube> @tbrowder On a related sentiment — I do not like Number theory. | 13:14 | |
wayland | I don't like zucchini -- does that count? :p | 13:15 | |
disbot4 | <antononcube> Sure, he wrote lots of math books with certain slant. (In Itallian.) | 13:28 | |
wayland | Haha :) | 13:37 | |
13:42
arkiuat joined
13:46
arkiuat left
|
|||
jdv | not that it matters much but does anyone have any idea why the max rss of "raku -e 'say 123' is 138MB? | 13:51 | |
seems a bit higher than I remember:) perl's is 5MB, for comparison. ruby's is 14MB. | 13:52 | ||
lizmat | that's MoarVM + NQP + Rakudo core.c + core.d setting for you | 13:54 | |
jdv | a mem constrainted env may not appreciate that. just wondering where it's mostly coming from? | 13:57 | |
is it inefficient NFG stuff or i have no idea what else would take up that much space | 13:58 | ||
lizmat | I don't have a good answer about that, but don't think it's the NFG machinery per se, but more like the massive Grammar | 14:03 | |
which, BTW, currently loads both the legacy grammar as well as the Raku grammar | 14:04 | ||
which could explain the rise in memory usage you've seen | |||
you could try *ing out the lines 3 and 4 in src/main.nqp to see how much of a change that would make | 14:05 | ||
14:10
arkiuat joined
14:14
arkiuat left
14:24
gordonfish joined
14:35
melezhik joined
|
|||
melezhik | Just published small post on Raku/Sparrow/AlpineLinux ecosystem - dev.to/melezhik/raku-sparrow6-swis...linux-2ngh | 14:36 | |
14:43
arkiuat joined
14:48
arkiuat left
15:01
arkiuat joined
15:08
arkiuat left
15:11
apac left
15:17
human_blip left
15:19
human_blip joined
15:27
LainIwakura joined
|
|||
disbot4 | <melezhik.> news.ycombinator.com/item?id=44659822 interesting , proxmox likes Raku ) | 15:31 | |
15:39
arkiuat joined
|
|||
coleman | jdv: do you know a one-liner to capture RSS on a short-running program like that? | 15:41 | |
15:43
arkiuat left
|
|||
jdv | coleman: /usr/bin/time -v raku -e 'say 123' 2>&1 | grep 'Max' ? | 15:46 | |
coleman | Nice! I didn't know about /usr/bin/time vs $(which time), nor the -v flag | 15:50 | |
jdv | yeah, shell vs standalone | 15:53 | |
there's a bunch like that iirc | |||
echo, etc... | |||
16:00
arkiuat joined
16:05
arkiuat left
16:11
rir joined
|
|||
rir | Is there an embedded way to find the commit of roast that was current for a commit of rakudo? | 16:17 | |
jdv | embedded? just point in time afaik. | 16:22 | |
rir | Embedded ~~ a reference in rakudo. | 16:28 | |
16:29
LainIwakura left
16:34
dakkar left
16:36
arkiuat joined
16:40
arkiuat left
|
|||
jdv | no | 16:49 | |
17:02
arkiuat joined
|
|||
[Coke] | they are independent | 17:04 | |
You should in general be using latest roast, with a version specific branch if needed. | 17:05 | ||
You could do best guess based on time of rakudo tag vs. time of roast commit (to the appropriate branch) | 17:06 | ||
lizmat | mind you, it shouldn't be too hard to create a list of rakudo tag -> roast commit pairs | ||
17:07
arkiuat left
|
|||
lizmat | possibly in a script, to be run after a release has been done ? | 17:26 | |
[Coke] | what does it mean, though. | 17:33 | |
17:34
LainIwakura joined,
arkiuat joined
|
|||
lizmat | well, if you would like to test roast with a given rakudo release, that could be helpful ? | 17:35 | |
[Coke] | to be more specific, which version of roast? | 17:38 | |
latest roast should always be the best version of roast. | |||
lizmat | ideally, yes | 17:39 | |
17:39
arkiuat left
|
|||
[Coke] | If you want to see if a version of rakudo passes an old version of roast, what's the question we're answering there? | 17:39 | |
17:41
LainIwakura left
|
|||
lizmat | such a test could be on other architectures | 17:44 | |
[Coke] | but why? | 17:45 | |
what's the use case asking for that data? | |||
lizmat | I mean... I could see that for some types of error spelunking, it could be useful to have out of the box | ||
rir apparently has a need for it, maybe they should elaborate ? | |||
rir | An old version of rakudo that was not a release would not be checked against later commits of roast? If not, testing against the then-current roast seems a way to diagnose then-current code. | 17:47 | |
[Coke] | no, we don't recheck old compilers against updated tests. | 17:49 | |
maybe if we had a "LTS"-style model that would track. | 17:50 | ||
but let's say we had a rakudo-A that passed roast-A, then we make roast-B, and now rakudo-A doesn't pass that test. If we have verified that roast-B is the correct test (sometimes we fix bugs in the spec), then the fix is to update to the rakudo that passes the test. | 17:52 | ||
(this is the kind of use case I'm asking after) - if the end result is "update rakudo", then while I think it makes sense to figure out an ad hoc way to do the testing, not sure it makes sense to check how we do releases, etc. | 17:53 | ||
(I am not saying "no", I'm just want to be clear about why we'd add work to the process, etc.) | |||
17:54
melezhik left
17:56
wayland76 joined,
wayland left
|
|||
[Coke] | "not sure it makes sense to *change* how..." | 17:57 | |
17:58
arkiuat joined
|
|||
[Coke] | if it's just "how would we do that today", then yah, it's ad hoc. | 17:59 | |
18:11
arkiuat left
|
|||
rir | I thought the roast commit might be referenced some where in a rakudo release, somewhat like a git submodule. That might make it easier diagnose old code. Thanks Coke, Liz, jdv. | 18:18 | |
[Coke] | cool cool. Sorry I sound like a crotchety old dude when I start talking on IRC. :) | 18:22 | |
(... to be fair, that's not an unreasonable description in general :) | |||
18:36
arkiuat joined
18:41
arkiuat left
18:51
PipStuart left
18:53
arkiuat joined
18:58
arkiuat left
|
|||
rir | Coke, I disagree with your 2 last. | 19:02 | |
jdv | the release tarball contains a copy of *I think* roast 6.d branch in t/spec. but that's arguably by accident and not terribly useful. | 19:07 | |
[Coke] | and there's a ticket to change that tarball to main instead, I think. | 19:14 | |
I got the impression it was never intentionally that branch, that's just the last one tested. | |||
19:17
arkiuat joined
|
|||
jdv | i think the same. be nice if the sha was in there somewhere maybe as well | 19:41 | |
19:52
Aedil left
19:55
arkiuat left
20:18
arkiuat joined
20:22
arkiuat left
|
|||
Voldenet | 130MB may seem like a lot if you compare it to perl or ruby, but nodejs takes 40MB | 20:26 | |
and nodejs is very inflexible in terms of syntax, so it doesn't seem like a fair comparison | 20:31 | ||
20:31
arkiuat joined
|
|||
Voldenet | I wonder if it would be possible to not even load a grammar | 20:35 | |
currently it's possible to precompile stuff and do `use App::Thing; main();` - that requires grammar to be loaded | |||
20:36
arkiuat left
|
|||
Voldenet | maybe it'd be possible to do something like `raku -MApp::Thing` so that only the bytecode is loaded | 20:38 | |
and some sub is by default loaded from the module | |||
20:42
arkiuat joined
20:46
arkiuat left
|
|||
timo | wouldn't be terribly much work. you'd probably have to load the Perl6::ModuleLoader and ask it to load that file, maybe you'll have to do something to set up a CompUnitRepo to get it loaded correctly | 20:49 | |
20:53
arkiuat joined
20:59
arkiuat left
21:06
arkiuat joined
|
|||
ugexe | yes, just use a MAIN | 21:18 | |
raku -MZef::CLI -e '' install Foo::Bar | |||
which for zef in particular is nice because it ensures you're always using the zef for the current version of raku instead of whatever is at the head of PATH | 21:19 | ||
timo | i don't think we have anything that makes `-e ''` not cause Grammar and Actions to be loaded and the compiler bits to be run | 21:23 | |
21:23
apac joined
|
|||
ugexe | oh, i guess i missed the important aspect of that idea | 21:24 | |
timo | actually, main.nqp of Rakudo loads Grammar and Actions | 21:27 | |
so you may need to write your own entrypoint in nqp to get around having that loaded for your raku code | |||
21:35
apac left,
coleman left
21:36
coleman joined
21:37
apac joined
21:56
lichtkind left
|
|||
Voldenet | hm, `-e ''` could be simply special-cased, but probably separate entrypoint is a better idea | 22:09 | |
another idea would be to skip loading things when env variable is set | 22:12 | ||
something similar to `if nqp::getenvhash()<RAKUDO_RAKUAST> {` | 22:13 | ||
`RAKUDO_NOAST` | 22:14 | ||
lizmat | this memory issue will go away as soon as the Raku grammar is the only grammar | 22:28 | |
so why are we spending time on that now ? | |||
Voldenet | not needing AST at all is a valid use case, especially for a lot of binaries | 22:31 | |
maybe it will only reduce usage by 20% instead of 90% | |||
lizmat | then how do you think the new Raku grammar works? | 22:32 | |
even the legacy grammar builds ASTs, just not RakuAST ones | |||
Voldenet | I expected it to be eager-loaded in some way, if it's lazy, then there's no point debating this indeed | 22:33 | |
if it's taking over 100kB to load, it's already a large cost if precompiled code doesn't need that | 22:35 | ||
22:39
apac left
22:50
deoac joined
22:57
wayland76 left
23:11
arkiuat left
23:21
arkiuat joined
|
|||
timo | we will at the very least mmap the .moarvm files into memory | 23:37 | |
being able to circumvent both grammars, both actions, the World, and the MASTOperations and QASTCompilerMAST and such, should add up to a lot | 23:41 |