5 May 2026
apogee_ntv But I think I made the API for it nice enough 23:23
The pain is mostly framework internal 23:24
SmokeMachine apogee_ntv: Yes, I'm a WesTerm user, I like that a lot. I'll need to take some time to read all that to replicate that on Selkie::UI... having examples of usage makes it easier... (sorry for the delay) 23:36
apogee_ntv A lot of the doc pages have usage examples 23:38
I think most of the widgets do
6 May 2026
disbot2 <librasteve> SmokeMachine: Selkie::UI looks very nice. How are “routines” like App { … } and so on implemented… is it maybe a raku subroutine being passed a block? 07:05
<librasteve> weekly: github.com/FCO/Selkie-UI/tree/main/examples 07:06
notable6 librasteve, Noted! (weekly)
disbot2 <librasteve> weekly: usercontent.irccloud-cdn.com/file/....35.36.gif 07:07
notable6 librasteve, Noted! (weekly)
SmokeMachine librasteve: exactly… github.com/FCO/Selkie-UI/blob/72f3...kumod#L137 07:11
disbot2 <librasteve> looks very nice … seems there is a fine line in raku between “pseudo DSL” … such as this, Air::Functional, Cro routes (by which I mean making a library that populates a lot of domain specific subroutines into standard Raku) and a “full DSL” with Grammar, Action and Slangify. 07:18
SmokeMachine I think there is a 3rd intermediate one, something like this: github.com/m-doughty/MCP-Server/bl...erver.raku or Red that uses “new kind of classes” 07:26
That “subvertes” classes, comments, etc… 07:28
librasteve: 👆 08:30
disbot2 <librasteve> yeah - very good point 09:04
SmokeMachine librasteve: I'm thinking on playing with this idea: usercontent.irccloud-cdn.com/file/....55.03.gif 09:58
librasteve: an look how simple the code is: www.irccloud.com/pastebin/Dsx4swqV/zelfie.raku 10:00
lizmat nice 10:08
my @items = %list.keys.sort.grep: *.so; # wouldn't it make sense to first grep and then sort ?
SmokeMachine Yes, it would
disbot2 <librasteve> that is lovely - ship it! 10:17
<librasteve> what do you think of a DSL editor - is it too hard? (I heard that it may need new Selkie edit features) 10:19
SmokeMachine librasteve: it will be shipped inside Selkie::UI… as a bin/ 10:31
librasteve_: about the DSL editor, I still don’t get how it would/do. Could you explain a bit more about that, please? 10:32
disbot2 <librasteve> something like this langium.org/showcase/arithmetics/ - It would take a mydsl.rakumod with Grammar and Actions and a heredoc for DSL source on the edit side (syntax hilites can wait for v2.0) where the preview pane is text made by the actions (eg just say ~$match.made) (other view filters such as pdf or html can wait for v3.0) 10:48
<librasteve> even better would be a 3rd (openable) pane for Grammar::Tracer output 10:50
Guest6550 I have been playing with raku for a bit. There is one thing I have a problem with, though raku is a pretty awesome language. I have this problem with regex where I want to match a string, but part of it I would need to negate as in this should not appear in the text I have no idea how to go about searching for this in the documentation in the first place 11:01
SmokeMachine librasteve_: something like what I wrote for grammars? 11:11
lizmat Guest6550: could you give an example of a string that should match, and one that shouldn't? 11:13
Guest6550 lizmat something like Randomtext.S01 should not be a match for the reason it contains S\d\d and Random.other.Text.2026 should be a match since it does not contain the S\d\d 11:15
SmokeMachine librasteve_: I plan to continue playing with that, but for now this is how it looks: usercontent.irccloud-cdn.com/file/....13.18.gif
but I plan to make the output prettier... I also think we could color each part of the output with the same color we color each token and the part it matches on the string... but I don't know how to add colors to editable texts... 11:17
lizmat Guest6550: well, one way to do that is: !$string.contains(/ S\d\d /) so simply negating the result of .contains 11:18
Guest6550 lizmat: that seems much simpler than the regex solution I was trying to build :) 11:19
lizmat it's still a regex solution of sorts :-) 11:20
.contains is just a handy shortcut if you just want to know *if* something is in a string, not necessarily what or where 11:21
and by negating that, if something is *not* in a string :-) 11:22
Guest6550 yes, it does seem to be much more managable than building a more complex regex :-)
disbot2 <librasteve> oh sorry I had forgotten that you already made selkie-ui-grammar-playground - fantastic (I blame days of working on byzantine FatRatStr rounding code) 12:41
<librasteve> brilliant - I hope to get DSL back to the foreground soon 12:42
<melezhik.> news.ycombinator.com/item?id=48037017 14:57
<melezhik.> Please vote if you like it , thanks 14:58
[Coke] are there any http user agents in the ecosystem that respect 429 and will retry? 15:26
(Doesn't look like HTTP::UserAgent does)
(nor Cro) 15:28
coleman automatic retry is tricky, because you definitely need to know about the context of the application to make a good decision. in Go there's some libraries that wrap the standard client, but I always want to roll my own because HTTP is so low level, and I always need to do some funky config 15:38
but Go isn't as expressive, so a wrapper library is probably going to be more powerful in Raku
[Coke] I would definitely want guardrails on it (on x number of retrys, what's the algorithm for waiting, etc.) 15:39
In the meantime, will write my own for this module that is using HTTP:UA and wrap all the http calls in it rather than doing a subclass of the UA 15:40
coleman here is some inspiration for the kinds of considerations www.envoyproxy.io/docs/envoy/lates...etrypolicy 15:42
envoy has all the complicated stuff laid out in its equally complicated configuration 15:43
[Coke] nice, thanks. 15:45