🦋 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:22
librasteve joined
00:28
librasteve left
00:56
librasteve joined
01:01
yewscion joined,
librasteve left
01:13
yewscion left
01:28
librasteve joined
01:33
librasteve left
01:39
jjido left
01:41
japhb left,
japhb joined
01:51
japhb left
01:52
yewscion joined,
hulk joined
01:53
kylese left
02:01
librasteve joined
02:02
japhb joined
02:03
yewscion left
02:04
yewscion joined
02:06
human-blip left
02:08
human-blip joined
02:10
librasteve left
02:13
vasko4 left
02:15
hulk left,
kylese joined
02:18
human-blip left
02:20
human-blip joined
02:22
librasteve joined
02:23
yewscion left
02:27
librasteve left
|
|||
disbot3 | <romdav55_30502> a Cro question.. | 02:51 | |
<romdav55_30502> Hello Whats the best aproach for redirects on user protected areas? i have this route { get -> 'dashboard',@path { if !(request.auth.is-logged-in) { redirect :see-other, '/user/login'; } else { content 'text/html', "User content"; } } } But i looking for a way to do this route { get -> 'dashboard',@path { if !(request.auth.is-logged-in) { | |||
redirect :see-other, '/user/login'; # Some whay to finish the request here } content 'text/html', "User content"; } } Or there are a better whay? | |||
02:56
librasteve joined
03:01
librasteve left
03:36
yewscion joined
03:45
kylese left
03:46
librasteve joined
03:47
kylese joined
03:51
guifa left
04:03
yewscion left
04:05
yewscion joined
04:57
librasteve left
05:02
yewscion left
05:05
yewscion joined
05:06
librasteve joined
05:11
librasteve left
05:40
librasteve joined
05:45
librasteve left
06:00
librasteve joined
06:03
yewscion left
06:04
librasteve left
06:05
yewscion joined
06:07
librasteve joined
06:10
melezhik joined
06:11
librasteve left
06:27
librasteve joined
07:03
yewscion left
07:05
yewscion joined
07:23
yewscion left,
yewscion joined
07:31
librasteve left
07:36
wayland joined
07:44
librasteve joined
07:48
librasteve left
07:51
Aedil left
08:02
yewscion left
08:03
yewscion joined
|
|||
disbot3 | <jubilatious1_98524> @Voldenet arxiv.org/abs/1504.06804 | 08:03 | |
08:08
librasteve joined
08:12
librasteve left
08:14
librasteve joined
08:19
librasteve left
08:25
librasteve joined
08:30
melezhik left
08:33
Manifest0 joined
08:37
librasteve left
08:58
jjido joined
09:02
yewscion left
09:05
yewscion joined
|
|||
wayland | (reading backlogs again) | 09:12 | |
lizmat: What I'd love to see in core (instead of SQLite) is native table support, with the idea that we can attach any backend (any SQL, or spreadsheet, or CSV, or whatever) and use the same Table interface to talk to them. | 09:13 | ||
I'm developing TOP as a proof-of-concept of that (it currently includes the backends as well, but would like to eventually separate them) | 09:14 | ||
lizmat | sounds like a plan | ||
09:14
jjido left
|
|||
wayland | (Trees as well; same concept; the backend could be XML, or JSON, or AST, or whatever). | 09:14 | |
lizmat | will be afk for most of the day, so don't expect any quick feedback from me | 09:15 | |
what else is a tree than a hash of hashes ? order ? | |||
wayland | lizmat: Well, for XML, certainly order. But the points are a) there are tree queries/transformations that are easy in XPath/XSLT that are less easy in Raku, and I'd like the power of both languages in one, and b) I'd like to see us have the same interface for trees whether they're stored in XML, or the Filesystem, or JSON, or whatever. | 09:18 | |
lizmat | this is eerily close to what we need in RakuAST for optimizations / macros, actually | 09:19 | |
going afk now& will backlog | |||
09:19
lizmat left
|
|||
Voldenet | @jubilatious1_98524: the slowest part of hashing string is doing all the fetch operations to retrieve their contents | 09:23 | |
09:35
jjido joined
09:38
jjido left
|
|||
wayland | lizmat: Yeah, I saw a comment about Raku internals needing trees. I'm not much of a Raku Internals hacker, but I've collected ideas about transforming and manipulating trees from multiple sources (eg. Raku grammars, XSLT, filesystems, etc), so I have ideas about what syntax/operators might be useful :) | 09:47 | |
tellable6 | wayland, I'll pass your message to lizmat | ||
09:49
Sgeo left
09:53
Aedil joined
|
|||
timo | how do you mean "needing trees"? lots of things in compilers are tree-shaped for sure | 09:57 | |
wayland | Sorry, I meant "Needing a generic interface for handling trees". I don't remember what the comment was or where I saw it, but it was in the last 2 months. Odds are it was here, but not sure. | 09:58 | |
Unfortunately there's only one of me, and I'm doing tables before I do trees. | 09:59 | ||
10:03
yewscion left
10:04
yewscion joined
|
|||
timo | we had a bit of discussion about the topic of tree traversal/matching APIs at the summit | 10:09 | |
wayland | timo: Nice! | 10:13 | |
apogee / Xliff : Might be worth taking your notcurses discussion to the #mugs channel as well -- they do a lot of TUI stuff. | 10:20 | ||
ntv: ^^ | 10:22 | ||
tellable6 | wayland, I'll pass your message to ntv | ||
apogee_ntv | Thanks, yeah quite possibly. | 10:35 | |
I've been sidetracked by Image::PNG::Portable stuff but Notcurses is still a priority for me | 10:36 | ||
timo | but really not very much discussion at all tbh | 10:39 | |
11:02
librasteve joined
11:03
yewscion left
11:04
yewscion joined
11:15
librasteve left
|
|||
SmokeMachine | wayland: I was planing on writing Reddish that would be a role implementing the Red API that could be used to anything… haven’t started yet… I don’t know if anyone would be interested on using that… | 11:30 | |
11:38
guifa joined
|
|||
SmokeMachine | Hi guifa! How is going your Window meta model? | 11:39 | |
guifa | slowly ha | 11:40 | |
haven't had a lot of time to work on it | |||
SmokeMachine | .subst(/“ going”/, “”).chop ~ “ going?” | 11:44 | |
Would it make sense to exist a bot that when you do something like this 👆 , or like s/…//, or something related to fix your previous message, the bot would apply that to your last message and “print” it? | 11:47 | ||
wayland | SmokeMachine: If I make progress on Table-Oriented Programming, it could be used as a Reddish. | 11:51 | |
12:02
yewscion left
12:05
yewscion joined
12:55
yewscion left
13:04
yewscion joined
13:21
abraxxa-home joined
13:25
abraxxa-home left
13:26
abraxxa-home joined
13:27
lichtkind joined
13:37
wayland left,
wayland76 joined
13:39
librasteve joined
13:45
librasteve left
13:54
Xliff joined
|
|||
Xliff | \o | 13:54 | |
tellable6 | 2025-07-02T08:00:59Z #raku <ab5tract> Xliff: re: "Right, but then you'd have to add in whole dynamic naming convention routines because you'd need to add a method with a different name. " | ||
ab5tract | Xliff: I wasn't sure what you meant by the above | 13:55 | |
but it was a while back :) | |||
Xliff | I'm writing tests using the Test module, and I need "is" to compare two objects. Overriding eqv() does not seem to work. What mechanism do I need to hook into? | 13:56 | |
ab5tract: When you were talking about replacing a method with .^add_method. I suggested using .wrap to avoid naming collisions. | |||
ab5tract | I think that was someone else saying that | 13:57 | |
Xliff | It seems like SmokeMachine might have provided a solution. | ||
Hmmm... maybe it was. | |||
ab5tract | I think he did, yeah | ||
Xliff | I'd have to check scrollback to be sure. I'm running from memory. | 13:58 | |
ab5tract | Xliff: you can always do `ok $a ~~ $b`, right? | ||
Xliff | It's been known to be fallible. | ||
ab5tract | or whatever comparison operator you want | ||
`ok` is known to be fallible? | |||
timo | Xliff: "is" uses string equality, the "eq" operator in its own scope | 13:59 | |
Xliff | ab5stract: Yeah. That's what I settled on at first, but I really wanted is() because it will show the comparison. | ||
timo | Xliff: you may want cmp-ok instead | ||
Xliff | Ooh! timo++ | ||
timo: Does it show both sides on failure? | |||
ab5tract | timo: TIL.. kind of weird that it is not built as a multi so that `is 8, 8` would dispatch to a routine that does `8 == 8` | 14:00 | |
timo | it shows both sides, and also what matcher was used | ||
ab5tract | I have a strong feeling we didn't have coercions back then | ||
Xliff | Nice! Thank you! | ||
ab5tract | `cmp-ok` sounds like it already does what I was just imagining | 14:01 | |
timo | the only special thing "is" does is when you have an undefined value on the RHS | 14:03 | |
then it will === instead of "eq" | |||
ab5tract: "is" and the rest of Test was designed long before I got involved, so I don't really know anything | 14:10 | ||
ab5tract | It would be interesting to take some pokes at a new testing library... maybe as a by-product of implementing macros | 14:16 | |
timo | i feel like we've got something like that in the ecosystem | 14:17 | |
SmokeMachine | Xliff: it was to guifa … and I suggested him this: glot.io/snippets/h8tnx81clw | 14:34 | |
15:01
jjido joined
15:14
jjido left
15:36
librasteve joined
15:42
librasteve_ joined
|
|||
librasteve_ | seen: lizmat | 15:45 | |
tellable6 | librasteve_, I saw lizmat 2025-07-04T09:19:38Z in #raku: <lizmat> going afk now& will backlog | ||
librasteve_ | seen: vrurg | 15:49 | |
tellable6 | librasteve_, I saw vrurg 2025-04-07T13:25:48Z in #raku-dev: <vrurg> nine: wow, that's quite an achievement! | ||
16:01
MasterDuke joined
|
|||
Xliff | What's the best way to merge two hashes? | 16:08 | |
For some reason .append is telling me "Trailing item in Hash.append" | 16:09 | ||
Voldenet | m: my %a = :foo(1), :bar(2); my %b = :bar(3), :tar(4); my %n = %a (+) %b; say %n | 16:13 | |
camelia | {bar => 5, foo => 1, tar => 4} | ||
Voldenet | no idea if that's the best way, but it sure is short | 16:14 | |
and trailing item happens when you have uneven number of args | 16:16 | ||
my %a = :foo(1), :bar(2); my %b = :bar(3), :tar(4); say %a.append(%b) | 16:17 | ||
evalable6 | {bar => [2 3], foo => 1, tar => 4} | ||
MasterDuke | m: my %a = :foo(1), :bar(2); my %b = :bar(3), :tar(4); my %n = %a, %b; say %n # if you want the later one(s) to overwrite the earlier one(s) | 16:19 | |
camelia | {bar => 3, foo => 1, tar => 4} | ||
librasteve_ | m: my %a = :foo(1), :bar(2); my %b = :bar(3), :tar(4); say %a ,= %b; | 16:23 | |
camelia | {bar => 3, foo => 1, tar => 4} | ||
librasteve_ | if you want to update the first one | 16:24 | |
16:36
MasterDuke left
|
|||
Xliff | Thanks, folks! | 16:51 | |
Turns out that append only works on %-sigiled. So even if you have "my $a = { a => 1, b => 2 }" you still have to do "%hash.append(%$a)" | |||
librasteve_ | ah - wondered why I couldn’t get .append to work | 16:54 | |
17:01
jjido joined
17:06
wayland76 left,
wayland76 joined
17:19
librasteve left
|
|||
disbot3 | <jubilatious1_98524> [0] > my %a = :foo(1), :bar(2); my %b = :bar(3), :tar(4); say %a.append(%b) {bar => [2 3], foo => 1, tar => 4} [0] > say %a.push(%b) {bar => [2 3 3], foo => 1, tar => [4 4]} [0] > say %a.append(%b) {bar => [2 3 3 3], foo => 1, tar => [4 4 4]} | 17:29 | |
17:32
librasteve joined
17:36
librasteve left
|
|||
disbot3 | <jubilatious1_98524> [0] > say %a {bar => [2 3 3 3], foo => 1, tar => [4 4 4]} [0] > say %b {bar => 3, tar => 4} [0] > say %a (+) %b Bag(bar(7) foo tar(7)) [0] > say %a (|) %b Set(bar foo tar) | 17:39 | |
17:59
melezhik joined
|
|||
melezhik | o/ | 17:59 | |
18:00
librasteve joined
18:04
librasteve left
18:13
Guest91 joined
18:17
Guest91 left
18:24
librasteve joined
18:26
Sussy joined
|
|||
Sussy | Hi Good evening everyone, It's been long since I came back here. Idk what happened but looks like you have loses discord for now | 18:27 | |
*closed | 18:28 | ||
disbot3 | <librasteve> yep | ||
Sussy | I hope you all are well | 18:29 | |
disbot3 | <librasteve> we are alive and kicking | 18:34 | |
<librasteve> wonders why you dropped by? | |||
<librasteve> (not the buzz!) | 18:35 | ||
Sussy | Good to hear that folks | 18:36 | |
Just got nostalgia so back | 18:37 | ||
disbot3 | <librasteve> yeah - be careful ... raku nostalgia is kinda compelling | 18:38 | |
Sussy | 🙂🍭 | 18:39 | |
disbot3 | <librasteve> m: say '12.34'.succ; | ||
<Raku eval> 13.34 | |||
<librasteve> m: say 'img001.png'.succ | |||
<Raku eval> img002.png | |||
<librasteve> sorry - I am just discovering .succ | 18:40 | ||
<librasteve> m: say 'α'.succ | 18:41 | ||
<Raku eval> β | |||
Sussy | Ohh when was the summit? | ||
disbot3 | <librasteve> 2 weeks ago ... rakudoweekly.blog/blog-feed/ | 18:42 | |
<librasteve> ^^ has some info | |||
Sussy | Read that | 18:43 | |
First thing I did was to check the blog | 18:44 | ||
disbot3 | <librasteve> cool ... what's your impression ... do you think the summit outcome was positive, are we headed somewhere cool oir are we lost | 18:50 | |
18:52
Sgeo joined
|
|||
Sussy | I think you all guys are cool have built something great but My biggest concern and I guess yours is also the adoption I think. | 18:54 | |
🥲 Sorry for directly touching pain point. | 18:55 | ||
I am blunt | |||
disbot3 | <librasteve> (btw - i am not a builder ) ... agree kudos to them for "something great" | 18:56 | |
18:56
abraxxa-home left,
abraxxa-home joined
|
|||
disbot3 | <librasteve> blunt is good ... | 18:56 | |
18:57
abraxxa-home left
|
|||
Sussy | Can you please tell me about the discussion on adoption | 18:58 | |
18:58
Sussy left
18:59
abraxxa-home joined
|
|||
disbot3 | <librasteve> well, the "discussion" afaik goes "there is no adoption, what do we have to do to get it" | 18:59 | |
18:59
Sussy joined
|
|||
disbot3 | <librasteve> www.perplexity.ai/search/crossing-...YOpRLEkgzQ | 18:59 | |
Sussy | I accidentally closed connection | ||
disbot3 | <librasteve> np | ||
Sussy | And did had a bouncer | 19:00 | |
librasteve_ | www.perplexity.ai/search/crossing-...YOpRLEkgzQ | ||
disbot3 | <librasteve> ^^ this is my (quite vintage now) go to text on "what to do if you tech startup can't find product market fit | 19:01 | |
<librasteve> (also Geoff bought me a case of Heineken) | 19:02 | ||
Sussy | So what is the niche or I would say the blue ocean we are looking for | ||
Is it been decided | 19:03 | ||
? | |||
19:05
guifa left
|
|||
Sussy | 👀 | 19:07 | |
19:09
Sussy left,
Sussy joined
|
|||
Sussy | Good Night bye Have good day all | 19:10 | |
19:11
Sussy left
19:25
Sussy joined
19:30
librasteve left
19:31
Sussy left
19:32
Sussy joined,
Sussy left
19:41
librasteve joined
19:42
jjido left
19:46
librasteve left
19:50
librasteve joined
20:09
melezhik left
20:12
librasteve left,
Aedil left
|
|||
disbot3 | <jubilatious1_98524> @oshboy ^ | 20:14 | |
20:25
librasteve joined
20:53
simcop2387 left
20:56
MasterDuke joined
20:59
simcop2387 joined
21:13
jjido joined
21:17
librasteve left
21:23
simcop2387 left,
librasteve joined
21:30
simcop2387 joined
21:41
lizmat joined
22:03
yewscion left
22:05
yewscion joined
22:06
librasteve left
|
|||
apogee_ntv | Adoption is fundamentally the hardest problem to solve. My contribution to this is building the FFI wrappers and the core functionality in the language ecosystem that isn't there, and we need more people doing that, but also people optimizing MoarVM, people evangelising and risk-takers building commercial success on a Raku platform to create jobs. It's a multi-faceted problem and the timescale is | 22:11 | |
years. | |||
Pick a domain you know well, build good libs, that's step 1. We need an ecosystem that people feel confident they can find what they need in it. Step 2 is completion, certification, not just supporting your own use case but all use cases. This probably needs some kind of foundation to support because its thousands of hours of work. Just my $0.02 and I don't speak for the language, I'm a noob too. | 22:13 | ||
22:14
apac joined
|
|||
apogee_ntv | Look at Rust/Zig as success models. | 22:16 | |
What do they have? Funding, large ecosystem, relentless evangelism. | |||
22:16
librasteve joined
22:22
librasteve left,
librasteve_ left
22:24
apac left
22:26
MasterDuke left
22:36
abraxxa-home left
22:49
librasteve joined
22:52
lichtkind left
22:53
librasteve left
23:02
yewscion left
23:05
yewscion joined
|
|||
wayland76 | Anyone know why www.youtube.com/playlist?list=PLA9...xitFRyEGza is now saying "14 unavailable videos are hidden"? | 23:21 | |
23:21
librasteve joined
23:25
yewscion left
23:26
yewscion joined
23:27
librasteve left
23:40
librasteve joined
23:45
librasteve left
|
|||
[Coke] | I asked on #yapc | 23:54 | |
23:57
guifa joined
|