00:41 rakufan1 left 00:46 yewscion joined 00:49 yewscion left 01:03 abraxxa-home left
tbrowder yo, my early Christmas present was using @jnthn's module 'OO::Monitors' which solved my thread problem which was locking up my multicore computer. 01:11
thnx lizmat for putting it in zef with community modules 01:12
01:33 elcaro joined 01:41 Manifest0 left 01:46 yewscion joined 01:48 yewscion left 02:04 yewscion joined 02:07 yewscion left 02:23 hulk joined 02:24 kylese left 02:47 yewscion joined 02:50 yewscion left 03:01 Aedil joined 03:10 tjr left, kjp left, thowe left, greppable6 left, unicodable6 left, bloatable6 left, sourceable6 left, tellable6 left, coverable6 left, corwin left, mst left, broquaint left, popebob left, lucs left 03:15 hulk left 03:19 lucs joined, broquaint joined, mst joined, popebob joined, popebob left, popebob joined 03:20 thowe joined, kjp joined, corwin joined 03:48 yewscion joined 03:51 yewscion left 03:55 eseyman left 04:18 Aedil left 04:30 Aedil joined 04:43 yewscion joined 04:46 yewscion left 05:15 yewscion joined 05:18 yewscion left 05:33 yewscion joined 05:36 yewscion left 06:27 yewscion joined 06:29 yewscion left 07:26 yewscion joined 07:30 yewscion left 07:54 seamusb joined 08:12 seamusb left 08:27 yewscion joined 08:30 yewscion left 08:34 eseyman joined 08:49 Sgeo left
lizmat weekly: raku-advent.blog/2024/12/06/day-19...i-capsule/ 09:06
notable6 lizmat, Noted! (weekly)
09:14 Manifest0 joined 09:31 yewscion joined 09:35 yewscion left 09:51 nine left 09:52 nine joined 10:23 sena_kun joined 10:34 sena_kun left 10:44 sena_kun joined 10:46 sena_kun left, yewscion joined 10:51 yewscion left 11:55 yewscion joined 11:58 yewscion left 12:51 dano left 12:56 yewscion joined 13:01 yewscion left 13:02 MyNetAz left 13:10 dano joined 13:17 MyNetAz joined 13:46 yewscion joined 13:49 yewscion left 14:09 donaldh left 14:39 Sgeo joined 15:29 yewscion joined 16:39 yewscion left 17:02 ggoebel joined
antononcube weekly: rakuforprediction.wordpress.com/20...aku-set-2/ 17:22
notable6 antononcube, Noted! (weekly)
17:25 nine left, nine joined 17:26 yewscion joined
roguerakudev I was wondering if anyone has a pointer to documentation or a starting point for reading the code related to "repossession" in Rakudo 18:27
re. this issue comment: github.com/rakudo/rakudo/issues/56...2437094425
niner identified the general area of the issue, but it seems like no one picked up the fix so I was hoping to do it myself, but I have done very little poking through rakudo so far 18:28
lizmat rakking through MoarVM and NQP code, there's quite a few references to them in comments, but no actual documentation :-( 18:34
antononcube @lizmat Thanks for posting my post on Reddit! 18:35
lizmat yw :-)
18:43 finanalyst joined 18:49 ggoebel left
ab5tract roguerakudev: scratching a personal itch is a great way to get started on hacking Rakudo! 18:50
However, that specific issue is likely to be fairly intricate and thorny 18:51
It may be worth it to scan the open issues for something else that suits your taste to serve as a starter issue 18:52
But of course jumping into the deep end also has its merits!
roguerakudev I'm assuming it's best to work on the RakuAST branch these days, assuming it's an actual Rakudo issue rather than Moar 18:54
or is that not a separate branch now 18:55
I'm open to recommendations on a "starter issue" if anyone has itches 19:00
19:08 sena_kun joined 19:24 sena_kun left, sena_kun joined 19:32 Aedil left
lizmat roguerakudev RakuAST is now in main, activate by running with RAKUDO_RAKUAST=1 19:39
[Coke] I have a grammar that has a JUNK regex that is a single . - all other regex are interesting, and longer than a single character. if I have a TOP that is ( <THING> | <OTHER> | <JUNK>)*} - shouldn't the JUNK only match if nothing else does at that point? running it through the debugger, it seems to be preferring the JUNK rule, even when it could match a longer item at that point 19:40
ugexe m: grammar Foo { token TOP { (<thing> | <junk>)* }; token thing { "aa" }; token junk { . }; }; my $g = Foo.new; my $m = $g.parse("aa"); say $m 20:00
camelia ļ½¢aaļ½£
0 => ļ½¢aaļ½£
thing => ļ½¢aaļ½£
ugexe that example does not choose JUNK
[Coke] yes. for simple examples works fine. for my example, it's skipping most of the content in favor of junk 20:01
I'm trying to golf.
Looks like a nested rule is part of the issue. 20:08
roguerakudev interesting, there is seemingly a regression on rakudo:main since release 2024.09 related to exporting enums? 20:09
consider Logging/Level.rakumod with use v6.d; unit enum Logging::Level is export < DBG INF WRN ERR FTL >; 20:10
then use Logging::Level; sub foo(Logging::Level $level) { say $level } 20:11
this works as expected on release but on latest main it gives Invalid typename 'Logging::Level' in parameter declaration 20:12
even though make spectest passes completely
works fine if you do Level instead of the FQN
lizmat could you golf that into an issue ? 20:13
[Coke] m: grammar A { regex N { \d ** 1..3 }; regex FOO { 'foo(' <N> ',' <N> ')' }; regex JUNK { . }; regex TOP { (<FOO> | <JUNK>)+ } }; say A.parse("foo(371,776)");
camelia ļ½¢foo(371,776)ļ½£
0 => ļ½¢fļ½£
JUNK => ļ½¢fļ½£
0 => ļ½¢oļ½£
JUNK => ļ½¢oļ½£
0 => ļ½¢oļ½£
JUNK => ļ½¢oļ½£
0 => ļ½¢(ļ½£
JUNK => ļ½¢(ļ½£
0 => ļ½¢3ļ½£
JUNK => ļ½¢3ļ½£
0 => ļ½¢7ļ½£
JUNK => ļ½¢7ļ½£
0 => ļ½¢1ļ½£ā€¦
roguerakudev yep, can do
ugexe changing to `regex N { \d+ }` appears to get the desired results, so maybe related to that \d ** 1..3 20:16
[Coke] or \d | \d\d | \d\d\d 20:27
ugexe++ 20:28
roguerakudev As I'm golfing this it's getting stranger and stranger
it only happens when my CWD is the root of the rakudo project lol 20:31
it's not ideal for sure, but highly unlikely to be an issue for 99% of users 20:34
aruniecrisps i made an issue on Definitely: github.com/masukomi/Definitely/issues/4 20:37
i'm curious as to what monad syntax could look like in Raku
[Coke] do you have a RAKULIB set, perhaps? 20:38
Geth advent/main: cd28b53d65 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | raku-advent-2024/authors.md
23 -> 10, 10 -> 19
20:39
aruniecrisps @librasteve thoughts? 20:42
librasteve lemme see 20:44
tx!
20:44 yewscion left
so, tbh I am not sure that that module (which is very small and very opinionated) is a good place to have a discussion about "better ways to do Monad in Raku" 20:52
[Coke] opens github.com/rakudo/rakudo/issues/5722 20:55
librasteve raku core support for "Monad" is return type smileys sub fn() returns Int:D {} so matsukomi module is a small rebellion that leans on raku is a self modifying language idea - but it is not really a robust idea more a template for if you really wanna do Monads that you can warp raku that way 20:56
roguerakudev [Coke] no RAKULIB set
[Coke] ok. (a relative dir in there might explain behavior changing in different dirs0 20:57
aruniecrisps @librasteve i'll get rid of the issue then 21:25
oh nvm you closed it
librasteve sorry - I'm right on the edge of my knowledge with Monads so not really able to understand your main idea / proposal 21:30
aruniecrisps how familiar are you with the concept of do-notation? 21:31
librasteve never heard of it
(my bad) 21:32
aruniecrisps So Haskell, F#, Scala, Ocaml and a lot of these functional languages have syntax that is meant to replicate a procedural style of coding, but underneath the hood it desugars to a bunch of bind calls
so in Haskell if i were to write something like this: haskell result :: Maybe Int result = do x <- Just 2 y <- Just 0 Just $ x + y this ultimately desugars to 2 >>= \x -> (3 >>= \y -> Just x + y)), where the <- basically desugars to a bind call 21:35
this gets way more useful when you're dealing with types like Either/Result, Async, etc 21:36
this pattern is so useful that JS/TS, Python, and Rust have it baked into the language specifically for asynchronous programming, ans JS also has it for generators 21:37
the idea behind having such a syntax is that it's applicable in many different places 21:39
I feel I could try and write a Slang for this to see how it would work
librasteve serokell.io/blog/haskell-to-core << just had a look at this - there is much for me to learn 21:41
appreciate the general idea - I think it is interesting to see how raku can be "warped / slanged" to be (even?) more amenable to functional needs - you are welcome to fork Definitely or to make something from a new angle... 21:46
must sleep 21:51
aruniecrisps i'll do some investigation 21:55
thanks!
22:03 yewscion joined 22:06 yewscion left
guifa even though it feels weird to use .kv on lists, man it's useful to do $text.lines.kv -> $line-no, $text { ... } 23:00
antononcube Well, either .kv or a special function / method to do map with indexing, e.g. map-indexed. 23:10
23:23 sena_kun left 23:24 finanalyst left
BTW, Mathematica has MapIndexed : reference.wolfram.com/language/ref...ed.html.en 23:25
23:59 yewscion joined