🦋 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.
SmokeMachine is anyone else having problems to run zef and `use` modules (Red on my test) on Mac OS Monterey beta? both hangs for ever for me... 00:06
[Coke] anyone know how to make rakubrew build with a triple of "latest everything" ? 00:17
raydiak: it's landed, it's the default
github.com/rakudo/rakudo/issues/2627 - this ticket should be moved to problem solving 00:19
timo raydiak: you may be confusing new-disp with rakuast 00:23
raydiak oh, you're right. I am 00:24
in a first quick informal test, 2021.09 was at 1m 24s and master is at 1m 7s 00:28
japhb \o/ 00:29
Nice to see
timo cool 00:30
raydiak yes, a very substantial gain. I'm testing again with 4x the pixels. and this is a laptop, I ran 2021.09 first. so any thermal advantage would have been there 00:31
2021.09: 65536 pixels / 5 mins 47 secs 476.58 ms = 188.61 pixels/sec 00:35
starting master
[Coke] lizmat: is github.com/rakudo/rakudo/issues/3992 rejected, and can we close it? 00:39
m: multi sub foo($x where say hello) { } 00:42
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
hello used at line 1. Did you mean 'shell'?
raydiak master: 65536 pixels / 4 mins 49 secs 86 ms = 226.70 pixels/sec
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 03655367⏏5 pixels / 4 mins 49 secs 86 ms = 226.70
expecting any of:
infix
infix stopper
statement end
state…
[Coke] m: multi sub foo($x where say 'hello') { }; foo 42
camelia hello
raydiak that's examples/scene-07.json at --width=256 if anyone else wants to try 00:44
[Coke] .ask altai-man - is github.com/rakudo/rakudo/issues/4314 closable? 00:47
tellable6 [Coke], I'll pass your message to Altai-man
raydiak both comparisons show a 20% gain. looking good right off the bat 00:51
[Coke] m: say 12.500000000000002.round(1e-5);
camelia 12.500000000000002
[Coke] m: say 12.500000000000002.round(1); 00:52
camelia 13
[Coke] m: say 12.500000000000002.round(.000001);
camelia 12.5
raydiak timo: here is a comparison of all my examples scenes of pray running at 64x64: gist.github.com/raydiak/7af56c666a...a0d37a0409 master shows an across-the-board improvoement for all scenes, regardless of it being CSG heavy, refraction, misses instead of hits...in all cases tested here, master is faster 01:38
timo well, we've been looking to rename the branch from master anyway, why not call it faster instead 01:43
raydiak heh, I like it! by way of mainfesting :) practically speaking, I think "main" is fine 01:51
timo yeah i have no problem with "main", i just couldn't resist the joke 01:56
also every time we come up with a new big optimization we'd have to add an "er"
where at some point we'll tell our users to "please check out fasterererererererererererererer from github" 01:57
japhb fast↑↑↑er 02:00
timo oh jeez arrow notation 02:02
now we're talking
japhb I mean, if you really want to talk about speeding things up a lot, it seemed like good compression 02:03
timo faster-5-copy-final 02:08
japhb runaway-train, speeding-bullet, bat-out-of-hell 02:16
timo can those be ordered on a proper number line?
or at least an ordering in general
japhb I think that's actually a correct ordering, based on local colloquial use at least 02:20
raydiak we could use knuth up arrow notation to descrive how many times we've gotten faster 02:44
perryprog nice
raydiak *describe
or maybe I should say fasterer :) 02:49
CIAvash [Coke]: I don't know about `triple` but you can do `rakubrew build moar-blead master` 05:44
Geth problem-solving/JJ-patch-1: a17ae4d921 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | solutions/meta/TheRakuFoundation.md
Addressing @vrurg comments
06:26
Anton Antonov @CIAvash Never used `rakubrew` before, but your comment made me try it. Great stuff! 16:08
CIAvash 🙂 18:13
Geth ecosystem: e9117985c0 | (Jonathan Stowe)++ | META.list
Audio::PortAudio, Audio::PortMIDI gone to CPAN
21:04
Tirifto Is there some way I can split a program into multiple files without worrying about modules too much, specially with regard to variable definitions? 22:10
Tirifto I guess declaring a variable with ‘our’ and then importing the file it’s in with ‘use’ is the most straightforward way? 22:13
MasterDuke depending on how "clean" you want to be, and/or your usecase, EVALFILE might be useful 22:14
Tirifto MasterDuke: For my use case, that might actually feel ‘cleaner’. :-) I suppose EVALFILE only works at runtime, though? 22:21
MasterDuke dunno, don't believe i've ever used it, just know of its existence 22:22
timo evalfile is a run-time thing, yes 22:23
it can not give you local variables or subs, since those are fixed at compile time
you can run EVALFILE at compile time with BEGIN, but that won't just return stuff into your scope either 22:24
Tirifto Thank you, timo and MasterDuke. 22:31
Tirifto Passing thought: Intuitively, I expected a Set to be like an orderless List, but it feels more like a valueless Map. 22:48
lizmat a Set is an object Map with only True / False as possible values 22:56
timo you could implement a set based on just a list, but it will have implications on performance that you usually don't want 23:07
Nemokosch Yes, I don't think this was a particularly Raku thing 23:40