|
00:12
arkiuat left
00:22
sftp left
00:23
sftp joined,
sftp left,
sftp joined
|
|||
| aruniecrisps | @librasteve do you mind if i make a couple of contributions to Air for DataStar? | 00:24 | |
|
00:24
arkiuat joined
|
|||
| i'm thinking there may be some useful utility functions that may come in handy | 00:24 | ||
|
00:28
arkiuat left
00:41
arkiuat joined
00:46
arkiuat left
00:49
gabiruh_ left,
gabiruh joined
|
|||
| ugexe | i am guessing the rakudo star problem is because it installs its modules to the 'vendor' repo, and for whatever reason the staging repo doesn't work right with that (although from my understanding it should be fine) | 00:51 | |
|
00:51
arkiuat joined
|
|||
| ugexe | so you end up with the staging repo zef generates that is for the 'site' repo (where modules are usually installed) but references dependencies in 'vendor' repo. so its like 3 layers deep in repos | 00:52 | |
|
00:57
kaskal left
01:00
librasteve_ left
01:01
kaskal joined
01:04
ds7832 left
01:36
kaskal left
01:40
Rakuists joined
01:41
kaskal joined
01:56
guifa left
02:19
Rakuists left
02:48
hulk joined,
kylese left
03:15
hulk left,
kylese joined
03:17
arkiuat left
03:24
arkiuat joined
03:29
arkiuat left
03:58
arkiuat joined
04:03
arkiuat left
04:14
Aedil joined
04:22
arkiuat joined
04:26
arkiuat left
04:37
arkiuat joined
04:41
arkiuat left
04:47
arkiuat joined
04:52
arkiuat left
04:55
arkiuat joined
05:04
arkiuat left
|
|||
| antononcube | .seen lizmat | 05:12 | |
| tellable6 | antononcube, I saw lizmat 2025-10-27T20:58:19Z in #moarvm: <lizmat> #1946 #1947 | ||
| antononcube | @lizmat Is it possible to use the package "Ecosystem" to retrieve the descriptions of packages and their URLs? (As found in META6.json's.) | 05:15 | |
|
05:17
arkiuat joined
05:23
arkiuat left
05:35
arkiuat joined
05:42
arkiuat left
05:54
Sgeo left
05:55
arkiuat joined
06:00
arkiuat left
|
|||
| librasteve | hi @aruniecrisps … i’m pretty sure that App::Mi6 curates the META6.json eg on build cmd | 06:11 | |
|
06:17
arkiuat joined
|
|||
| @aruniecrisps I would like to see DataStar implemented with Air … my very vague knowledge is that someone (sorry can’t recall who) has been prototyping SSE with raku. At a 30000’ level I would like to see SSE hooked up to Cromponents (which as you likely know underpins the Air::Component module) in a way that you can add reactive code to a Component and wire it up to the DOM via Raku Supplies or Channels. Suggest you | 06:20 | ||
| fork Air and write the nicest possible DataStar SSE implementation probably avoiding Air::Component … eg make something analogous called Air:: Element … for now. When that is working, then we can work out how to reintegrate everything…?? | |||
|
06:22
arkiuat left
06:33
arkiuat joined
06:39
arkiuat left
06:52
arkiuat joined
06:57
arkiuat left
07:02
arkiuat joined
07:07
wayland76 joined
07:12
arkiuat left
07:24
arkiuat joined
07:27
melezhik joined
07:28
Rakuists__ joined,
Rakuists__ is now known as Woopy,
Woopy left
07:29
arkiuat left
07:30
Rakuists__ joined,
Rakuists__ is now known as RakuistsHello
|
|||
| RakuistsHello | hello test from irc client | 07:30 | |
| simon_sibl | Hey there ! | ||
|
07:31
RakuistsHello left
07:34
Aedil left
07:39
apac joined
07:45
apac left
07:57
arkiuat joined
08:01
arkiuat left
08:02
arkiuat joined
08:07
arkiuat left
|
|||
| ab5tract | librasteve: I keep mentioning SSE | 08:16 | |
| so I'm probably the guilty party :) | 08:17 | ||
| The protocol specification at least is super simple | |||
| wayland76 | Question: docs.raku.org/type/Metamodel/C3MRO says "C3 is the default resolution order for classes and grammars in Raku". Does that mean that a different order can be used? | ||
| ab5tract | it's basically "data: {self.data | ||
| it's basically "data: {self.data}\n\n" | 08:18 | ||
| inside an http packet | |||
| I haven't actually implemented it yet though | |||
| wayland76: I do not think core provides any other MROs, but I might be mistaken | 08:19 | ||
| from the metamodel code, it's not clear how pluggable it really is | |||
| antononcube: the rip plugin has code that does this | 08:21 | ||
| github.com/ab5tract/raku-intellij-...Fetcher.kt | 08:23 | ||
| wayland76 | ab5tract: Thanks! Yes, I haven't seen any others. I was hoping it'd be, if not pluggable, then at least overridable (ie. in a Slang) | 08:24 | |
| ab5tract | oh for sure it is in theory swappable | 08:25 | |
| As with all pieces of the metamodel | |||
| how well that works in practice ... | |||
|
08:33
arkiuat joined
08:38
arkiuat left
09:03
arkiuat joined
|
|||
| wayland76 | Turns out I was confusing inheritance ordering (C3MRO) with multiple dispatch ordering (does this use C3MRO as well, or something else?) | 09:03 | |
| ab5tract | I think so | 09:05 | |
|
09:07
dakkar joined
09:09
arkiuat left
|
|||
| ab5tract | IIRC The magic is in select_candidates | 09:10 | |
|
09:30
librasteve_ joined
09:38
arkiuat joined
09:43
arkiuat left
|
|||
| wayland76 | .tell antononcube Definitely not a vi guy. I lean towards nano (pine was my first e-mail program). I probably could've gone emacs if it'd been a bit easier. | 09:54 | |
| tellable6 | wayland76, I'll pass your message to antononcube | ||
|
09:55
arkiuat joined
|
|||
| wayland76 | .tell ds7832 Interesting! I can see why the Neo is popular (and I usually can't see why a layout is popular). My main board is currently on a Moonlander, and I've gone QWERTY-like, but with extra layers. One of the things I've done is that matching punctuation (eg. parentheses) is in the same place on opposite hands; left opens, right closes. | 09:57 | |
| tellable6 | wayland76, I'll pass your message to ds7832 | ||
|
10:00
arkiuat left
|
|||
| wayland76 | .tell jubilatious1_98542 Well, the creator of your Perl keyobard probably isn't going to be me any time soon (I'm more of a maximalist -- more keys, rather than more layers), and if it is, it'll be a Moonlander layout. | 10:00 | |
| tellable6 | wayland76, I'll pass your message to jubilatious1_98524 | ||
| wayland76 | If people haven't seen the keyboardio that Coke offered, I'd urge them to take a look. If I didn't already have a Moonlander, I'd be asking for it :) . | 10:02 | |
| Anyway, thanks everyone for your feedback on the Raku keyboard layout. No-one's complaining that their favourite symbol has been left out, so I'm going to take that as a good sign :) . | 10:05 | ||
| librasteve_: Any particular recommendations? I'm seeing some in your various measurement modules. | 10:09 | ||
| librasteve | not really … i am slowly drifting toward ascii only (already there with App::Crag) … I would say keep a ° (degree) symbol somewhere handy is about the only one | 10:19 | |
| wayland76 | librasteve_: You read my mind -- I've added that, and ignored the rest :) | 10:20 | |
|
10:21
arkiuat joined
|
|||
| wayland76 | (ie. I'd already decided that was the one to add :) ) | 10:21 | |
|
10:26
arkiuat left
|
|||
| librasteve | =b | 10:29 | |
|
10:44
arkiuat joined
10:50
arkiuat left
10:54
Pixi` joined
10:58
Pixi left
11:20
arkiuat joined
11:25
arkiuat left
11:33
oodani left
11:34
oodani joined
11:41
arkiuat joined
11:42
Aedil joined,
apac joined
11:45
arkiuat left
12:00
apac left
12:06
arkiuat joined
12:12
arkiuat left
12:20
arkiuat joined
12:25
apac joined
12:33
arkiuat left
12:41
arkiuat joined
12:44
apac left
13:20
Maylay left
13:53
apac joined
14:11
ds7832 joined
14:18
Maylay joined
|
|||
| ds7832 | ugexe: thank you very much for the help and explannations! | 14:20 | |
| tellable6 | hey ds7832, you have a message: gist.github.com/8a6248bc8e0df449d9...d4859b8fd4 | ||
|
14:30
librasteve_ left
14:31
stanrifkin joined
14:39
arkiuat left
|
|||
| aruniecrisps | Also I do need to get around to making a job queue library for Raku | 14:40 | |
| @librasteve sure, my plan for datastar is to create three levels of integrations: one standalone library with the basics, an integration at the Cro level and one at the Air level | 14:41 | ||
| The standalone library is what has already been releasrd | |||
| Released | |||
| My Cro::Datastar library is going to basically have helper functions for getting headers and params out from Datastar specific requests | 14:44 | ||
| And then Air::Jetstream (the Air integration) is probably going to have helper functions for generating Datastar attributes and valuesn | 14:45 | ||
| Values | |||
| Also another thing on my to-do list is to finally get around to making that pattern matching Slang | 14:46 | ||
| I think I can go off of Slang::Forgiven | |||
| jubilatious1_98524 | weekly: unix.stackexchange.com/questions/8...812#800812 | 14:51 | |
| notable6 | jubilatious1_98524, Noted! (weekly) | ||
| tellable6 | 2025-10-28T10:00:54Z #raku <wayland76> jubilatious1_98542 Well, the creator of your Perl keyobard probably isn't going to be me any time soon (I'm more of a maximalist -- more keys, rather than more layers), and if it is, it'll be a Moonlander layout. | ||
|
14:51
arkiuat joined
14:56
arkiuat left
15:20
arkiuat joined
15:25
arkiuat left
15:28
arkiuat joined
15:33
arkiuat left
|
|||
| perryprog | I'm curious... how would y'all approach writing a function that turns something like <a b c d> into something like (((), a, (b, c, d)), ((a), b, (c, d)), ((a, b), c, (d)), ((a, b, c), d, ()))? | 15:49 | |
|
15:50
arkiuat joined
15:55
arkiuat left
|
|||
| librasteve | @arun - Air::Jetstar sounds cool ... I look forward to playing with it! | 16:01 | |
| [Coke] | I'd probably loop over the position instead of the elements, and group everything before and after the individual element. (adding a padding as needed. and you probably mean (,) not () ) | 16:02 | |
|
16:08
arkiuat joined
|
|||
| [Coke] | anyone know how to generate test output that can be parsed by an azdo pipeline? | 16:11 | |
| I am currently generating TAP for something in raku, but want to output so devops can easily see it (rather than having to search for "failed test" or "not ok" in 1000s of lines of output | 16:12 | ||
|
16:13
arkiuat left
|
|||
| [Coke] | also: any modules yet that replace Test's TAP output with anything else? | 16:21 | |
|
16:22
apac left
|
|||
| jubilatious1_98524 | m: my @a = <a b c d>; for @a.kv -> $k,$v { say @a[ 0..^$k,$k+1..*] }; | 16:22 | |
| evalable6 | ((b c d)) ((a) (c d)) ((a b) (d)) ((a b c)) |
||
| jubilatious1_98524 | ^^ @perryprog | 16:23 | |
| [Coke] | @a.keys, no $v necessary. | ||
| perryprog | :eyes: very nifty, will take a closer look in a bit (Ish) | 16:24 | |
|
16:25
apac joined
|
|||
| jubilatious1_98524 | m: raku -e 'my @a = <a b c d>; for @a.kv -> $k,$v { say @a[ 0..^$k], @a[$k], @a[$k+1..*] };' | 16:25 | |
| evalable6 | (exit code 1) ===SORRY!=== Error while compilin… | ||
| jubilatious1_98524, Full output: gist.github.com/6d795493929dee5168...af753b2495 | |||
| [Coke] wonders if it's easier to add a separate test module that outputs non-tap and has all its own routines, or to take over stderr, consume the TAP, then emit non-tap at exit time | |||
| jubilatious1_98524 | m: my @a = <a b c d>; for @a.kv -> $k,$v { say @a[ 0..^$k], @a[$k], @a[$k+1..*] }; | ||
| evalable6 | ()a(b c d) (a)b(c d) (a b)c(d) (a b c)d() |
||
| jubilatious1_98524 | ^^ @perryprog | 16:26 | |
|
16:26
arkiuat joined
|
|||
| [Coke] | m: my @a = <a b c d>; for @a.keys -> $k { say @a[ 0..^$k], @a[$k], @a[$k+1..*] } | 16:27 | |
| camelia | ()a(b c d) (a)b(c d) (a b)c(d) (a b c)d() |
||
| [Coke] | m: my @a = <a b c d>; for @a.kv-> $k, $v { say @a[ 0..^$k], $v, @a[$k+1..*] } | ||
| camelia | ===SORRY!=== Error while compiling <tmp> Unsupported use of -> as postfix. In Raku please use: either . to call a method, or whitespace to delimit a pointy block. at <tmp>:1 ------> my @a = <a b c d>; for @a.kv-><HERE> $k, $v { say @a[ 0..^$k]… |
||
| [Coke] | m: my @a = <a b c d>; for @a.kv -> $k, $v { say @a[ 0..^$k], $v, @a[$k+1..*] } | ||
| camelia | ()a(b c d) (a)b(c d) (a b)c(d) (a b c)d() |
||
| jubilatious1_98524 | @cokebot9000 Nice. | 16:28 | |
|
16:28
apac left
|
|||
| timo | m: for "abcd".comb(/./, :match) -> $/ { say "($/.prematch())$/.Str()($/.postmatch())" } | 16:29 | |
| camelia | No such method 'CALL-ME' for string 'a' in block <unit> at <tmp> line 1 |
||
| timo | m: for "abcd".comb(/./, :match) -> $/ { say "($/.prematch())$/.Str()\($/.postmatch())" } | ||
| camelia | ()a(bcd) (a)b(cd) (ab)c(d) (abc)d() |
||
| tonyo | .tell librasteve hey dude, any word on brussels? | ||
| tellable6 | tonyo, I'll pass your message to librasteve | ||
| jubilatious1_98524 | @timotimo Original! | 16:30 | |
| timo | only works for strings though | 16:31 | |
|
16:32
arkiuat left
|
|||
| timo | m: my @a = <a b c d>; for @a.keys -> $k { say @a[ 0..^$k], @a[$k], @a[$k^..*] }; # the ^.. allows us to not have to write a +1 there | 16:32 | |
| camelia | ()a(b c d) (a)b(c d) (a b)c(d) (a b c)d() |
||
| timo | m: my @a = <a b c d>; for @a.keys -> $k { say @a.head($k), @a[$k], @a.tail(* - $k) }; | ||
| camelia | Cannot resolve caller Numeric(WhateverCode:D: ); none of these signatures matches: (Mu:U \v:: *%_) in block <unit> at <tmp> line 1 |
||
| timo | ah, interesting, it doesn't have a candidate for callables? | 16:33 | |
| m: my @a = <a b c d>; for @a.keys -> $k { say @a.head($k), @a[$k], @a.skip($k) }; | |||
| camelia | ()a(a b c d) (a)b(b c d) (a b)c(c d) (a b c)d(d) |
||
| timo | m: my @a = <a b c d>; for @a.keys -> $k { say @a.head($k), @a[$k], @a.skip($k + 1) }; | ||
| camelia | ()a(b c d) (a)b(c d) (a b)c(d) (a b c)d() |
||
| timo | that's how to use skip correctly for this case | 16:34 | |
| jubilatious1_98524 | m: my @a = <a b c d>; for @a.kv -> $k,$v { say join " | ", @a[ 0..^$k].join(","), @a[$k], @a[$k+1..*].join(",") }; | ||
| evalable6 | | a | b,c,d a | b | c,d a,b | c | d a,b,c | d | |
||
| timo | i really wanted to do something with triangle reduce, but that doesn't immediately give access to the remainder of the arguments | 16:37 | |
| m: .say for [\,] <a b c d> | |||
| camelia | (a) (a b) (a b c) (a b c d) |
||
| timo | m: say ($_.head.raku, " ", $_.skip.raku) for [\,] <a b c d> | 16:38 | |
| camelia | ("a" ().Seq) ("a" ("b",).Seq) ("a" ("b", "c").Seq) ("a" ("b", "c", "d").Seq) |
||
| timo | m: say ($_.head(*-1), " | ", $_.tail) for [\,] <a b c d> | ||
| camelia | (() | a) ((a) | b) ((a b) | c) ((a b c) | d) |
||
| timo | m: given <a b c d> -> $in { say ($_.head(*-1), "|", $_.tail, "|", $in.skip(.elems + 1)) for [\,] @$in } | 16:39 | |
| camelia | (() | a | (c d)) ((a) | b | (d)) ((a b) | c | ()) ((a b c) | d | ()) |
||
| timo | m: given <a b c d> -> $in { say ($_.head(*-1), "|", $_.tail, "|", $in.skip(.elems)) for [\,] @$in } | 16:40 | |
| camelia | (() | a | (b c d)) ((a) | b | (c d)) ((a b) | c | (d)) ((a b c) | d | ()) |
||
| timo | not my greatest work | ||
|
16:46
librasteve_ joined
16:48
ds7832 left
16:49
ds7832 joined
|
|||
| jubilatious1_98524 | skip has potential. | 16:56 | |
| Voldenet | I'd use a lot simpler approach, but it does memmove so it's probably fairly slow | 16:58 | |
| sub sliding-iterate(*@n) { gather { my @i; while $_ = @n.shift { take (@i, $_, @n); @i.push: $_ }}}; say sliding-iterate <a b c d> | |||
| evalable6 | (([] a [b c d]) ([a] b [c d]) ([a b] c [d]) ([a b c] d [])) | ||
|
16:59
apac joined,
ab5tract_ joined
17:01
arkiuat joined
|
|||
| Voldenet | m: sub sliding-iterate(*@n) { my $c = +@n; (^$c).map({ 0..^$_, $_, $_^..^$c }).map({ $_.map({ @n[$_] }) }) }; sliding-iterate(<a b c d>).say | 17:04 | |
| camelia | ((() a (b c d)) ((a) b (c d)) ((a b) c (d)) ((a b c) d ())) | ||
| Voldenet | probably a lot faster, because it does operations on ranges | ||
|
17:06
arkiuat left
17:09
ab5tract_ left
17:15
ab5tract_ joined
17:16
ab5tract_ left
17:17
ab5tract_ joined
17:19
apac left
|
|||
| timo | actually, shift and push don't memmove, they just change the "start" pointer | 17:20 | |
| Voldenet | oh, so that could be actually faster than ranges approach, hm | 17:21 | |
| timo | on the other hand, taking @i and @n like that may be trouble if the consumer of your iterator doesn't do its own copying and keeps the references around | 17:22 | |
|
17:22
arkiuat joined
|
|||
| timo | m: sub sliding-iterate(*@n) { gather { my @i; while $_ = @n.shift { take (@i, $_, @n); @i.push: $_ }}}; my @bits = eager sliding-iterate <a b c d>; .say for @bits; | 17:22 | |
| camelia | ([a b c d] (HANDLED) Cannot shift from an empty Array in block <unit> at <tmp> line 1 []) ([a b c d] (HANDLED) Cannot shift from an empty Array in block <unit> at <tmp> line 1 []) ([a b c d] (HANDLED) Cannot shift from an empty Array… |
||
| timo | uh, not the failure mode i expected | 17:23 | |
| Voldenet | the approach with ranges is in practice 2x faster :) | 17:25 | |
| timo | :D | ||
| the nested maps one? | |||
| Voldenet | yeah | 17:26 | |
| timo | m: sub sliding-iterate(*@n) { my $c = +@n; @n[(^$c).map({ 0..^$_, $_, $_^..^$c })] }; sliding-iterate(<a b c d>).say | ||
| camelia | ((a (b c d)) ((a) b (c d)) ((a b) c (d)) ((a b c) d)) | ||
| timo | no need for the nested map, even | 17:27 | |
| though it doesn't give the empty list at the start or end in this one | |||
|
17:27
arkiuat left
|
|||
| ab5tract_ | that's pretty nice to read | 17:28 | |
| timo | that may be unacceptable that the empty lists are thrown out for the first and last entry of the result | 17:29 | |
| Voldenet | and last approach is a bit slower in practice | ||
| (well it allocates, obviously) | |||
| since the problem is about `for ^@n { @n.say }` and having 3 constant iterators with common storage that only iterates using index multiple times | 17:32 | ||
| well, two indexes | |||
| the outer and inner | |||
| it can be probably written as class and be very optimized | |||
|
17:34
apac joined
|
|||
| ab5tract_ | Voldenet: true, there is (at least) an axis each for beauty and for elegance | 17:36 | |
|
17:36
dakkar left
17:42
swaggboi left
17:45
swaggboi joined
17:49
arkiuat joined
17:50
ab5tract_ left
17:54
arkiuat left
|
|||
| Voldenet | also, the "what is the fastest" will also depend on how it's used | 17:56 | |
| ab5tract | irccloud benefits in the beauty of Halloy? can it really be possible? | 18:21 | |
|
18:22
arkiuat joined
|
|||
| [Coke] | Anyone have a pointer on what an HTTP::UserAgent delete would look like with a json body? | 18:22 | |
| (how to write the call) | |||
| I have an API I need to call that is a DELETE that takes some input in query params (easy) and some in a JSON body | 18:26 | ||
| (wondering if I need to switch from using that module to something else) | |||
| Voldenet | HTTP::Request.new('DELETE', URI.new('foo.com/bar'), HTTP::Header.new(Foo => 'bar')) | ||
| [Coke] | for the body, though... .add-content? | 18:34 | |
| and then how to fire it? | 18:35 | ||
| perryprog | Thanks for all the fun responses! I was also trying to do it in a fancy reduce way but I agree that just doing the imperative ranges is quite clear | 18:39 | |
| I continue to love how easy it is to nerd snipe this channel :) | |||
| Voldenet | either add-content or add-form-data on HTTP::Request, then HTTP::UserAgent has send-request method that accepts the request | 18:40 | |
| and returns response | |||
| [Coke] | perfect. Danke! | 18:41 | |
| Voldenet | perryprog: it's a fun problem actually, so no wonder everyone's interested – I've even asked gpt to generate optimized version, but let's just say it wasn't what I hoped for :D | 18:43 | |
| perryprog | Yeah it's one of those things that feels like it might have a really clean solution | 18:44 | |
| jubilatious1_98524 | @cokebot9000 Would you consider using Cro::HTTP::Client? stackoverflow.com/questions/788090...3#78813313 | 18:49 | |
| [Coke] | In a future rewrite, sure. This is some "legacy" stuff I'm using for work, and am just trying to get the job done right now, not shave a yak | 18:50 | |
| ALso: while I am both [Coke] and @cokebot9000, if I'm posting as one, you're better off replying to that one. :) | |||
| jubilatious1_98524 | @perryprog I learned something. Thanks. | ||
| @coke-or-new-coke I'm on Discord...not sure I can reply to your IRC messages directly? | 18:52 | ||
| Voldenet | not-really-clean solution from gpt :P 0x0.st/K_KF.raku | 18:54 | |
| I did some poking around it to understand it more, but I doubt it's sane solution | 18:55 | ||
| It's probably fast (that's what I asked for) but difficult to use otherwise | 18:57 | ||
|
19:10
simcop2387 left
19:13
librasteve_ left
19:19
melezhik_ joined
19:21
melezhik_ left
19:54
Aedil left
19:56
simcop2387 joined
20:12
disbot1 left,
disbot1 joined
20:17
ds7832 left
20:18
ds7832 joined
20:20
wayland joined,
wayland76 left
20:47
LainIwakura joined
20:50
LainIwakura85 joined
20:54
LainIwakura left
20:57
wayland left
21:21
arkiuat left
21:22
orangebot left
21:29
apac left,
apac joined
21:31
arkiuat joined
21:36
arkiuat left
21:37
librasteve_ joined
21:41
arkiuat joined
21:45
arkiuat left
21:46
simcop2387 left
22:07
arkiuat joined
22:09
apac left
22:12
arkiuat left
22:27
LainIwakura85 left
22:35
Sgeo joined
22:42
melezhik left,
arkiuat joined
22:47
arkiuat left
22:54
kylese left
23:03
arkiuat joined
23:09
arkiuat left
23:18
ds7832 left
23:21
ds7832 joined
23:23
arkiuat joined
23:33
LainIwakura joined
23:38
stanrifkin left
|
|||