This channel is intended for people just starting with the Raku Programming Language ( Logs are available at
Set by lizmat on 8 June 2022.
01:11 razetime joined
thowe I was looking for a -Ofun shirt the other day, and I was surprised I couldn't find one... Did I dream those were a thing? 01:37
02:00 ab5tract left
antononcube @nemokosch One could have guessed that @wamba is just a senior lecturer -- if a professor then the user name would have been "hakimu". 02:18
Here is a derivation: 02:21
03:12 guifa joined 03:15 guifa__ left 03:24 MasterDuke left
_elcaro_ This is ⍸⍷ in APL, or I.@E. in J, so, just for fun [0] > use Inline::J; my \j = [1] > j.verb('I.@E.')([1,3,5],[1,8,9,0,1,3,5,6]) 4 03:36
04:19 razetime left 05:03 razetime joined 05:30 razetime left
librasteve 08:12
^^ may need to adjust the name to raku
@Marcel249 ^^ maybe this is good wallpaper? 08:14
08:15 tea3po joined 08:18 teatwo left 08:28 tea3po left, tea3po joined
lizmat that table is wildly out of date... it's not just adjusting the name :-( 09:08 Sadly the links to purchase high quality prints of it seem broken too else I'd gladly get something like this for my home office wall 09:13
antononcube Is it useful, that periodic table of operations? Is it up to date? 09:15
nemokosch > that table is wildly out of date 09:16
antononcube Ok. Otherwise, I could have tried to make it into high-resolution with a few tricks… 09:19
rcmlz Wallpapers, periodic tables and oher stuff would belong here: - I guess. 09:54
librasteve good news is that it’s creative commons so we could clone and evolve 09:55
rcmlz looking at it - s/Perl6/Raku/g is needed ;-)
librasteve bad news is that there’s only an image so probably needs to be rebuilt from scratch
what is a good foss tool / format for that? 09:56
nemokosch it wasn't a bad idea at all at the time... probably went to graveyard with the departure of Zoffix 09:57
not a big designer myself but there is GIMP as the "poor man's Photoshop" or Krita which is more tryhard from what I heard
for simple vector graphics business there is Inkscape
(one can even create a font in Inkscape actually, cool stuff) 09:58
librasteve but gimp is an image tool … this needs something like illustrator or maybe figma
antononcube Of course, consider making the new version with/via Raku. 09:59
nemokosch isn't Figma a prototyping tool?
why not just generate it with LLM? 😼
antononcube Yeah, I was thinking which parts can be made with LLM. 10:00
Someone recently proclaimed working on making Raku a scripting language for GIMP. 10:01
nemokosch I wonder how that works 10:02
where did that happen?
antononcube At “raku-irc” 10:04
nemokosch yeah, probably Xliff
antononcube Yeah, Xliff, just confirmed it. 10:05
rcmlz He worked with Indesign - e.g. this one I like: Source: 10:06
antononcube ChatGPT: > Creating a periodic table of Raku operators could be an interesting way to categorize and visualize the various operators in the language. You could arrange them based on their functionality and similarities, similar to how elements are organized in the periodic table. However, due to the complexity of Raku's operators, it might require some careful consideration and design to create an
effective representation.
nemokosch I'm not a great fan of that table, to be honest. It came up on the last Raku Study meeting as well. 10:10
I mean, it is funny
but it's kind of self-ironic as well
it's rather a kind of jokeful self-mocking than anything practical 10:11
From what I heard, Zoffix quite literally worked in the marketing field some way 10:12
not sure we can rival that toolset even with our best intentions lol
librasteve imo it's a funny, beautiful and thoughtful reflection of (one of) the unique strengths of raku in the richness of its operator set 10:13
and yes - other languages have less stuff in them!
nemokosch Yeah but you know, for half of the people it's just frightening, "an example why stay away", and I find it hard to blame them for it 10:14
Raku is really a bad fit for categorizing things, it's much more like when you tell a (natural!) language learner that "it will come with practice" 10:15
"don't try to learn it by heart, you will pick up the patterns"
by the way, for those of you who are interested in the practical part 10:16
librasteve that's true - I suppose a better representation would unpack the concepts according to the level of experience ... for example if you think about comparison you might go crawl ( ~~ ), walk (cmp, leg, <=>, eq, ==, ne, != ), sprint (<,>,lt, gt), run (===, =:=, =~=) 10:26
nemokosch oh right 😄 10:27
I forgot =~= even existed
anyway, I do try to sort of lure people in to give me feedback, or their own ideas, on that doc discussion page 10:28
"I have no clue what you are trying to say" also qualifies as feedback, lol 10:29
rcmlz From what I heard Zoffix quite literally 11:15
Out of curiosity I tried what Zoffix put on this poster, but it is not correct (anymore). Whithout tuning the batch size, parallel execution is slower than single thread - and for the originally used 10_001st prime number my 2015 MacBook Air takes in any case less than 1 second. Good news, so apparently Raku is 100 times faster, as I can find the 1Mio prime number 11:25
is the same time these days - using similar hardware that he used 5 years ago. my UInt $number-of-prime = 1_000_001; my $start; say "searching for $number-of-prime st prime number"; say "1 thread"; $start = now; say (^Inf).grep(.is-prime)[$number-of-prime - 1]; say (now - $start).Int; say "4 threads, batch size 64 (defaults)"; $start = now; say (^Inf).hyper(batch => 64, degree =>
4).grep(.is-prime)[$number-of-prime - 1]; say (now - $start).Int; say "4 threads, batch size 100_000"; $start = now; say (^Inf).hyper(batch => 100_000, degree => 4).grep(*.is-prime)[$number-of-prime - 1]; say (now - $start).Int;
lizmat yeah, not a lot has changed in that area 11:26
rcmlz Not a lot?
Old hardware, 100 times faster that 2017?
lizmat ah I thought you meant *since* it got 100x faster 11:27
nemokosch yeah I also don't know what you are comparing 11:28
rcmlz Maybe the manual tuning of batch size comes as a surprise to people who want to utilize parallelism
lizmat yeah, automatic tuning has been long on the wish list
unfortunately that will need a bit of re-design / refactoring as there's currently no way to tell the "hypervisor" how each thread was doing and act on that information 11:29
rcmlz Zoffix apparently could find the 10'000st prime number in 7 seconds - back in the times when he created the poster. Using his code from "back then" is not working, as now booth approaches take less than a second. Increasing from 10'000 prime to 1'000'000 prime takes again about 10 seconds on recent Raku but makes hyper.grep slower than pure grep - but when tuning the batch size, hyper.grep is faster again - 11:32
again around 7 seconds.
lizmat yeah, the default of 64 is *way* too low for something as quick as determining a prime 11:33
at least for the first 1000 ones or so... later on, it gets more appropriate
nemokosch gotcha
rcmlz @lizmat that seem correct, as increasing batch size makes it slower again. 11:34
lizmat for example, if it takes .1 second to handle the result of a batch, and the batch runs for .1 second, then you have 100% overhead 11:35
if you have a batch running for a whole second, than it's only 10% overhead 11:36
11:47 ab5tract joined 12:13 ab5tract left 12:19 ab5tract joined 12:25 ab5tract left 20:15 teatwo joined 20:18 tea3po left 20:24 teatwo left 20:25 teatwo joined 21:34 teatwo left