🦋 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:00 reportable6 left 00:01 reportable6 joined 00:04 RonaldR34g4m joined, Vyrus left 00:09 MasterDuke left 00:34 MasterDuke joined 00:36 MasterDuke79 joined 00:38 MasterDuke left
falsifian deoac: docs.raku.org/type/Int.html ; search for "brackets" 00:43
I think that sentence should say "square brackets" or just "brackets" instead of "angle brackets" 00:44
Well that was easy. Just clicked the "edit" button on the docs page and github.com/Raku/doc/pull/4297 00:48
00:49 deoac left 00:52 jpn joined 00:57 jpn left 01:04 xinming left 01:06 xinming joined
Nemokosch all three bracket types are possible 01:11
also, it doesn't seem like it's quite the same as .join.Int.base 01:13
m: dd :10[1,22,3]; dd [1,22,3].join.Int.base(10)
Raku eval 323 "1223"
01:57 Xliff joined
Xliff m: use NativeCall; my $a = CArray[Pointer].allocate(1); $a.say 01:57
camelia NativeCall::Types::CArray[NativeCall::Types::Pointer].new
tellable6 2023-04-26T19:29:24Z #raku-dev <vrurg> Xliff you seem to be the one behind parallel pre-compiling. Can you tell if there is a way to limit the maximum number of rakudo processes involved?
Xliff m: use NativeCall; my $a = CArray[Str].allocate(1); $a.say
camelia chars requires a concrete string, but got null
in method allocate at /home/camelia/rakudo-m-inst-2/share/perl6/core/sources/5702F1B98AFF04C12BC993882BF8EB20423C1146 (NativeCall::Types) line 219
in block <unit> at <tmp> line 1
Xliff Given that the later is the same as the former... is this a bug? 01:58
.tell vrurg I was the one behind the initial implementation, but the one that made it into main is nine's.
tellable6 Xliff, I'll pass your message to vrurg
Xliff .tell vrurg To my knowledge, the only way to limit the number of jobs is logic left at the application level. 01:59
tellable6 Xliff, I'll pass your message to vrurg
Xliff .tell vrurg See my parallel compilation runner, here - github.com/Xliff/p6-GtkPlus/blob/m...d.pl6#L124 02:01
tellable6 Xliff, I'll pass your message to vrurg
02:13 teatwo left, teatwo joined 02:15 RonaldR34g4m left 02:16 Vyrus joined
Xliff Well, here's the workaround for now... 02:18
m: use NativeCall; my $a = CArray[Pointer].allocate(1); $a = nativecast(CArray[Str], $a); $a.say
camelia NativeCall::Types::CArray[Str].new
02:22 jpn joined 02:27 jpn left 03:27 greppable6 left, notable6 left, committable6 left, benchable6 left, shareable6 left, evalable6 left, releasable6 left, coverable6 left, reportable6 left, nativecallable6 left, squashable6 left, statisfiable6 left, bloatable6 left, unicodable6 left, quotable6 left, linkable6 left, sourceable6 left, tellable6 left, bisectable6 left, bloatable6 joined 03:28 quotable6 joined, notable6 joined, benchable6 joined, linkable6 joined, greppable6 joined, releasable6 joined, statisfiable6 joined, squashable6 joined, committable6 joined, evalable6 joined, tellable6 joined 03:29 nativecallable6 joined, shareable6 joined, coverable6 joined 03:30 bisectable6 joined, reportable6 joined, unicodable6 joined, sourceable6 joined 03:36 rf left 04:10 jpn joined 04:15 jpn left 04:49 Xliff left 05:06 tea3po joined 05:07 teatwo left 05:27 jpn joined 05:32 jpn left 05:46 euandreh1 joined 05:48 euandreh left, cm left, euandreh1 is now known as euandreh 05:50 cm joined 06:00 reportable6 left 06:02 reportable6 joined 06:26 grondilu joined
grondilu yet another reason I hate version management: github.com/grondilu/libdigest-raku/issues/37 06:27
oh it seems this user has been spamming on this topic: github.com/perl6/perl6-pod-to-bigpage/issues/37 06:30
06:53 Manifest0 joined 06:55 jpn joined 07:00 jpn left 07:24 squashable6 left 07:25 grondilu left 07:27 squashable6 joined 07:29 jpn joined 07:37 jpn left 07:51 dakkar joined 08:00 Sgeo left
Voldenet git tag -a 1.0 commit 08:11
it's a bit annoying that not always tags are fetched with repo, but overall it's a nice feature 08:12
08:26 sena_kun joined
patrickb Voldenet: AFAIK tags *are* fetched by default. But they aren't pushed by default. They need to be pushed explicitly, just like branches. 08:36
Voldenet I don't remember details where I had to include tags explicitly, but I bet it was something related to submodules 08:43
08:50 zara joined 08:51 zara left 09:18 zara joined 09:25 abraxxa joined 09:30 zara left 09:53 jpn joined 10:53 reportable6 left, unicodable6 left, sourceable6 left, statisfiable6 left, squashable6 left, greppable6 left, bloatable6 left, committable6 left, evalable6 left, coverable6 left, notable6 left, releasable6 left, quotable6 left, tellable6 left, bisectable6 left, benchable6 left, linkable6 left, bloatable6 joined, quotable6 joined, bisectable6 joined, coverable6 joined, committable6 joined 10:54 linkable6 joined, statisfiable6 joined 10:55 evalable6 joined, unicodable6 joined, releasable6 joined, notable6 joined, reportable6 joined, sourceable6 joined 10:56 benchable6 joined, greppable6 joined, squashable6 joined, tellable6 joined 11:25 ProperNoun left 11:58 jpn left 12:00 reportable6 left 12:01 reportable6 joined 12:12 ProperNoun joined 12:37 jpn joined 12:42 jpn left 12:45 jgaz joined 12:51 jpn joined 13:37 rf joined 14:06 m6502 joined, jgaz left 14:14 teatwo joined 14:16 teatwo left, teatwo joined 14:17 tea3po left 14:25 Sgeo joined 15:23 jpn left 15:26 aru_ joined
aru_ Hi, is there a way to make zef install all dependencies listed in meta6.json? Let's say I take someone else's sources and want to start hacking on it 15:27
Nemokosch > zef install . --deps-only 15:29
aru_ oh, right for some reason I had the idea the thing to install had to be a package name 15:31
awesome, thank you 15:32
15:32 jpn joined
tonyo . 15:33
15:38 nine left, nine joined 15:56 jpn left 16:06 abraxxa left 16:15 theesm left 16:17 emanuellee joined 16:18 emanuellee left 16:32 dakkar left 16:35 lonewolf-dev joined
lonewolf-dev hi. Is raku a interpeted language? Or is it compiled? Or is it just-in-time compiled like how julia and javascript work? 16:35
El_Che /msg lizmat github.com/nxadm/rakudo-pkg/action...4822278930 wordt gebuild atm, hopelijk geen showstoppers 16:41
oops
lizmat gotcha
El_Che everyone: github.com/nxadm/rakudo-pkg/action...4822278930 is being build atm, hopefully no showstoppers 16:42
(nothing secret there :) )
El_Che returns to assembling ikea stuff and cursing in Swedish
lizmat lonewolf-dev define compiled?
El_Che: Føck! 16:43
16:43 xinming left
lizmat lonewolf-dev: Raku compiles to bytecode that can optionally be stored, and then run again 16:43
lonewolf-dev It runs on MOARVM/java virtual machine. Confusing.
16:43 abraxxa-home joined
lonewolf-dev oke. thanks for info. 16:43
lizmat it either runs on MoarVM *or* JVM
El_Che their engineers are taking the piss: a little screw machine the released is called Fixa
lonewolf-dev I'm learning perl at the moment. Is perl still worth learning? How much different is perl and raku? 16:45
Perl 7 is set to be released this year... 16:46
No more "use strict"; Use warnings;
meme
El_Che lonewolf-dev: I have never regretted my perl knowledge 16:47
16:48 abraxxa-home left
lonewolf-dev Is perl regex (PCRE) the same as raku regex? 16:48
El_Che no
raku's take is nicer and clearer, more powerful. Perl's, on the other hand, is universal
16:49 abraxxa-home joined
lonewolf-dev Can we just not agree on a standard. Its confusing having to relearn multiple regex implementations. 16:49
How fast is raku compared to other similar new languages like go-lang and rust? Sorry for bombarting you with questions... 16:50
Will companys adopt it in the future? 16:51
lizmat raku is slower than go-lang and rust 16:54
yes
El_Che the languages you mentioned are pretty much the fastest around besides C/C++ 16:55
lonewolf-dev so would be similar in speed to something like a jvm language like java - kotlin?
without bloated classes that java has. 16:56
El_Che more akin to perl/ruby/python at the moment, but with the potention of the jvm like speed
(the jvm is very fast, just memory hungry)
*potential
lonewolf-dev okey. thanks. 16:57
El_Che (being a VM-based language)
it has better concurrency than perl/python/ruby
so if you're in that use case, it may be a good candidate for your application
lonewolf-dev raku is not Globar interpeter locked.
*global
GIL 16:58
El_Che nor is perl
lonewolf-dev Is perl not GIL locked?
i tought it was?
python and ruby is..
gil locked.
El_Che the problem with perl is that threads are heavy, and the concurrency syntax cumbersom
lizmat Raku has no GIL
El_Che perl neither iirc 16:59
lizmat perl threads are basically a simulated fork() for Windows
El_Che one interpreter per thread, pretty much iirc
hence: heavy
lonewolf-dev Im using arch linux.
not windows
So is that a problem on linux machines? 17:00
like ubuntu/arch?
El_Che in perl, you pretty much fork for do concurrent stuff
there are threads, but they are not fun
but people on #perl (althoiough I am there too), can give you more informed insights 17:01
(and lizmat being somewhat of a threading expert :) )
lonewolf-dev one thread spawn one extra intepreter? is that correct?
lizmat yes, in a way it's the worst of both worlds 17:02
at least fork() will give you shared memory at the OS levek
*level
El_Che you loose copy on write with threads iirc 17:03
17:04 abraxxa-home left
lizmat yes, because each interpreter *copies* all of its variables / bytecode / etc 17:05
17:25 lonewolfdev joined, lonewolfdev left, lonewolf-dev left 17:26 lonewolf-dev joined 17:37 lonewolf-dev left
aru_ I'm having a little trouble inspecting things in the repl. Let's say I have Encoding::Decoder::Builtin obtain by calling Encoding::Registry.find('utf-8').decoder() , how do I find out what methods it has available? 17:40
from some example I know I can do $decoder.add-bytes(...), but I can't seem to find any docs around where add-bytes comes from 17:45
Nemokosch you can ask the metamodel about things like this - for example, here you can call .^methods on your class/object 17:49
lizmat $decoder.^methods.map(*.name)
aru_ oh, neat 17:52
18:00 reportable6 left
aru_ I was probably looking for something like pry in ruby, but this will do 18:02
18:02 reportable6 joined
lizmat aru_: there is a "repl" sub that you can call anywhere in your code 18:05
sub a($a) { repl }; a 42' 18:06
Type 'exit' to leave
[0] > say $a
42
18:17 m6502 left 18:18 Oshawott left, archenoth joined 19:18 tellable6 left, notable6 left, reportable6 left, quotable6 left, linkable6 left, committable6 left, bisectable6 left, releasable6 left, sourceable6 left, unicodable6 left, greppable6 left, bloatable6 left, squashable6 left, coverable6 left, shareable6 left, benchable6 left, evalable6 left, statisfiable6 left, nativecallable6 left 19:19 statisfiable6 joined, unicodable6 joined, notable6 joined, quotable6 joined, evalable6 joined, linkable6 joined, coverable6 joined 19:20 bloatable6 joined, benchable6 joined, bisectable6 joined, releasable6 joined 19:21 tellable6 joined, nativecallable6 joined, shareable6 joined, sourceable6 joined, reportable6 joined, squashable6 joined, committable6 joined 19:22 greppable6 joined
p6steve 0/ 19:28
i'm wondering if there's a way to connect a Supply on one physical / virtual machine to a Supply on another - maybe a module? 19:29
Voldenet > react whenever IO::Socket::Async.listen(0, 8080) -> $c { whenever $c.Supply { .say }} 19:44
> react whenever IO::Socket::Async.connect(<127.0.0.1>, 8080) -> $c { whenever Supply.interval(1) { $c.write("something".encode) }}
so… there is a way 19:45
i think theres modules for mqtt and zmq if you need something powerful, but I've never needed anything above tcp 19:51
El_Che profilers.t is failing a lot 19:54
p6steve voldenet: that's really cool - thanks! 20:12
20:22 linkable6 left, evalable6 left 20:24 evalable6 joined 20:25 linkable6 joined
i hereby nominate default "standard" ports for raku as 3461 (Supply) and 3463 (Channel) since they appear to be unoccupied ... en.wikipedia.org/wiki/List_of_TCP_...rt_numbers ... maybe helpful if we all use the same 20:39
20:49 squashable6 left, squashable6 joined 20:59 rf left 21:15 sena_kun left 22:15 evalable6 left, linkable6 left, shareable6 left, reportable6 left, releasable6 left, squashable6 left, statisfiable6 left, coverable6 left, nativecallable6 left, benchable6 left, quotable6 left, tellable6 left, sourceable6 left, bisectable6 left, unicodable6 left, committable6 left, notable6 left, bloatable6 left, greppable6 left 22:16 tellable6 joined, notable6 joined, bloatable6 joined, shareable6 joined, coverable6 joined, reportable6 joined, linkable6 joined, evalable6 joined, statisfiable6 joined 22:17 unicodable6 joined, bisectable6 joined, squashable6 joined, sourceable6 joined, greppable6 joined, releasable6 joined, quotable6 joined 22:18 nativecallable6 joined, benchable6 joined, committable6 joined 22:59 Manifest0 left 23:21 archenoth left 23:30 codesections left 23:34 archenoth joined 23:43 codesections joined 23:49 codesections left