🦋 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.
Geth App-Rakubrew/init-clarifications: 701cdf9ac2 | (Patrick Böker)++ | 4 files
Hopefully improve PowerShell detection
08:32
App-Rakubrew/init-clarifications: c0d25d95ca | (Patrick Böker)++ | 2 files
Tell users which shell hooks are available during init
Geth App-Rakubrew/main: 701cdf9ac2 | (Patrick Böker)++ | 4 files
Hopefully improve PowerShell detection
09:04
App-Rakubrew/main: 296f866254 | (Patrick Böker)++ | 3 files
Tell users which shell hooks are available during init
App-Rakubrew/main: af1d248e83 | (Patrick Böker)++ | 3 files
Version 42
09:05
SmokeMachine Have anyone here ever player with eventsource/cqrs in raku? 13:55
s/player/played/ 13:56
antononcube I looked up "eventsource" -- haven't used it ever. 14:06
jdv nope. in general, yes. 14:09
SmokeMachine I’ve been planing writing some kind of “Durable Object” using event source and raku… but it would be so many classes for the commands and the events… than I had an idea I don’t know if genius or just stupid… 14:11
github.com/FCO/Entity 14:13
When I run the example on README, this is the output: usercontent.irccloud-cdn.com/file/...641793.JPG 14:16
librasteve i’m pretty sure cro offers a set of supply connectors - would be cool to run your supplies over that 14:17
SmokeMachine But the idea is to define all the commands and events as methods inside the entity class… that way, you can define your whole eventsource in a single class… 14:17
librasteve ok - sorry 14:18
SmokeMachine librasteve: that module (if I continue playing with that) I plan to be generic to be able to use snitching with that… 14:19
But the “durable object” I plan to write, I’ll be probably using NATS (github.com/FCO/nats.raku) 14:20
SmokeMachine Is the idea of using a single class to define entity, commands and events a good idea? 14:22
msiism lizmat: Re: REPL commands conflicting with actual code. I didn't know this was a problem. And now I'm wondering whether it has to be. 14:23
I mean, in a (Unix) system shell, for example, there's no such divide, as far as I can see. 14:24
librasteve good … i noticed that nats is a cool model some time ago and great to see it is in your plans 14:25
timo "real" commands can always be addressed by their full file path, subs in raku can be addressed with their &name, i think terms with &term:<blah> as well 14:28
the current implementation of the repl-only commands is to only run the repl-command if there's an error from trying to run it? maybe only when it's a "no such name" or so 14:29
SmokeMachine jdv: what do you think of that? 14:30
librasteve back to my previous point i also noticed (some time ago… so maybe i’m hallucinating) that cro pipeline nodes can be assigned to separate microservices nodes and that cro provides a simple method to wire up these links … but that’s currently a wild guess and i would need to dig back in to be sure 14:31
&afk :-(
timo librasteve, look at the "cro web" tool and the "cro stub" command for that i think 14:32
> links-and-options specifies links to other services that should be added to the stub, together with options specific to the service type 14:34
cro.raku.org/docs/cro-tool
timo cro.raku.org/docs/cro-tool#Working...vice_links the more relevant portion, probably 14:45
[Coke] guifa: thanks 15:14
Xliff m: sub a (*@a) { my $a = -> (*@a) { return 42 }; $a(|@a) }; a() 15:19
camelia Too few positionals passed to '<anon>'; expected 1 argument but got 0
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub a (*@a) { my $a = -> (*@a) { return 42 }; $a/(|@a) }; a() 15:20
camelia Cannot resolve caller Numeric(Block:D: ); none of these signatures matches:
(Mu:U \v:: *%_)
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub a (*@a) { my $a = -> (*@a) { return 42 }; $a.(|@a) }; a()
camelia Too few positionals passed to '<anon>'; expected 1 argument but got 0
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub a (*@a) { my $a = -> *@a { return 42 }; $a.(|@a) }; a() 15:20
camelia ( no output )
Xliff m: sub a (*@a) { my $a = -> *@a { return 42 }; $a.(|@a) }; a().say
camelia 42
Xliff Huh! Good morning! :)
antononcube @guifa Second round of "call for papers" for TPRC-2025 ? 15:31
librasteve timo: yes that’s right - thanks for the pointer - my conjecture is that somehow this could be wired up with NATS 16:10
timo i haven't looked yet what nats is 16:30
melezhik . 16:46
I’ve released a new sparrow plugin to search within a source code 16:48
sparrowhub.io/plugin/find/0.000007
It’s available in the latest Tomtit version cia “code” profile - github.com/melezhik/Tomtit?tab=rea...e#profiles 16:49
Maybe someone would find it usefull
SmokeMachine librasteve: I’m not sure… it seems to me that those links should be HTTP… 17:26
timo: nats.io/ 17:31
librasteve nats says it’s “pseudo-sockets” and cro has websockets afaiui … i’m not saying that these will talk without some adaptation (maybe something like cro zeromq sockets), just that cro links hook up a set of microservices and that seems to me to be what nats does… anyway just a wild eyed ear 17:38
timo looks like nats supports being used over TCP, MQTT, or WebSockets 17:42
so NATS is kind of like a pub/sub message broker where you set up any amount of nats servers that are interconnected to behave as one thing and then you have clients that can send and/or receive stuff 17:43
SmokeMachine Yes, it does… nots clients keep connected to the Nats clusters using tcp… but the communication between nodes are done using subjected, rather than ip/port… the link should be the subject… 17:44
timo plus you can turn on this "JetStream" option which will keep data around so you can have "guaranteed to give this message to everyone interested in it, whether or not they are currently listening" 17:45
SmokeMachine Yes…
timo ok subject based addressing is kind of equivalent to mqtt topics
SmokeMachine I’ve been writing this github.com/FCO/nats.raku, but it has no jet stream support yet… 17:46
timo except i don't think mqtt has something to make request / response simple, it's kind of silly there 17:47
SmokeMachine Kinda equivalente because of the wildcards…
timo and these queue groups sounds a little like what you have in kafka? where multiple consumers can take messages and every message goes to only one 17:48
there's an equivalent for that in zmq as well
for request/response as well
SmokeMachine Yes, but you don’t need a zookeeper to stroke the index…
timo and zmq also has publish/subscribe, but it's been a long time since i last looked at that
yeah you don't need a zookeeper, you have to explicitly introduce the nats servers to each other instead i assume? 17:49
probably through something like etcd?
SmokeMachine I think they use gossip protocol… but o read about that so long ago I’m not sure anymore… 17:50
docs.nats.io/running-a-nats-servic...clustering 17:52
timo oh? the clients have to connect to a server in every cluster if you have superclusters? 17:54
i'm just a little out of my depth here though
librasteve not as far out of depth as I am ;-) 18:08
melezhik weekly: dev.to/melezhik/simple-find-in-sou...parrow-312 20:25
notable6 melezhik, Noted! (weekly)
[Coke] is there a way to tell dev.to I never want to see that popup again? 20:42
(Guess this is how people feel about the popup on the docs site.) 20:43
tbrowder .ask util any kind of zoom or other remote access to the raku conf for a paid ticket? 20:53
tellable6 tbrowder, I'll pass your message to Util 20:54
coleman NATS is awesome. Never used the Jetstream bits, just the core protocol, though. 21:36
[Coke] repl routine very handy. Working on something where I want to play around but have a few subs that do real work, very easy to define a buch of helpers and have the .raku call out to the repl for me to play 21:45
guifa antononcube: correct, they've got some good ones but for instance I submitted three talks. They (and I) would much rather another Raku speaker or two than to hear me three times over ha 22:51