01:39 euandreh left 01:42 euandreh joined 01:48 Manifest0 left 02:43 kylese left, hulk joined 02:47 stanrifkin joined 03:15 hulk left, kylese joined 03:30 kylese left 03:34 kylese joined 03:42 swrogers joined 03:57 zetaaaa left 04:33 stanrifkin_ joined, hellwolf left, Aedil joined 04:35 stanrifkin left 04:44 Aedil left 04:50 Aedil joined 09:18 stanrifkin_ left 09:50 sena_kun joined 09:59 finanalyst joined 10:15 finanalyst left 10:19 finanalyst joined 11:16 finanalyst left 11:21 bartolin left 11:41 MoC joined
Geth ecosystem/main: a827606742 | (Elizabeth Mattijsen)++ | META.list
Remove samcv's modules, they are being moved to zef
11:45
12:01 Sgeo left 12:36 hellwolf joined 13:29 hellwolf left 13:36 bartolin joined
botato timo: thanks, looks like it's already fixed! the moarvm error is LTA but looks like there's already an open issue to improve that too 13:42
13:47 swrogers left
librasteve 🍬 13:50
c.a53 @ab5tract I've just installed Comma v2.0-beta.27 and the multi-line REPL seems to work indeed. Thanks for the fix :). 14:05
timo you were wondering if raku's "start" is like green threads or not; we do have "await" that puts an item back into the thread pool's queue of work, but we also have both sync and async IO and it looks like HTTP::UserAgent uses sync IO so it will actually block real threads, and the thread pool scheduler will create quite a few real OS threads; you can turn on RAKUDO_SCHEDULER_DEBUG in the environment 14:07
to see what it's thinking, and optionally RAKUDO_SCHEDULER_DEBUG_STATUS for a lot more messages
we also offer the Thread class which lets you make a full OS thread for lower-level needs, and you can create multiple ThreadPoolScheduler instances with different min and max threads variables, plus CurrentThreadScheduler exists for very specific use cases, and making a custom Scheduler is also possible 14:11
botato thanks, are those debugging environment variables documented? searching I find it in some irc logs and blog posts but no official documentation 14:28
it looks like there's good facilities for debugging threaded code, the moarvm debugger supports listing all threads, threads are named, you can view their stacktraces etc 14:29
timo it's quite possible that there's no official documentation for these vars. all i could find is the changelog mentioning the _STATUS one 14:30
the Comma IDE plugin has support for the debugger as well. the CLI debugger is not very ergonomic, but lizmat and me just a few weeks ago started looking at those pieces again, and patrickb is also working towards a new TUI debugger 14:33
there's some bits and pieces for using GDB with a process that has moarvm in it, but it's all kind of spread out and undocumented, so you really have to already know what exists and how to use it 14:34
like the MVM_dump_backtrace, MVM_dump_bytecode, MVM_dump_p6opaque functions you can invoke with gdb's "print" or "call" commands 14:35
botato for async IO like async networking with Cro are there facilities for debugging it? now everything is in promises and I don't find a way to list all pending promises, get backtraces, etc? ie ruby Async::Debug will list all fibers, their stacktraces, you can open a repl in local context of some fiber. I think I remember reading raku/perl6 has green threads, but it seems that's not the case? ie there is 14:37
thread pool of system threads, and async stuff is based on promises, not green/lightweight threads with their own stack? though I think both is more or less equivalent, ie bluebird promises library for javascript has debug option of longStackTraces that adds extra info to promises to give stacktraces
timo when you "await", we take a continuation, so our tasks ("green threads") do have their own stacks 14:47
there is currently nothing built in to the App::MoarVM::Debugger that gives you a list of all the tasks that exist in a given scheduler for example. you'd have to manually dig through the objects, and that's no fun, of course 14:49
I definitely want that to exist, though
did you see Log::Timeline? github.com/jnthn/raku-log-timeline 14:52
the only viewer i know of is in Comma
but it does specifically point out that it shows the start and end times of "start" blocks as well as await statements, and stuff 14:53
but logging and realtime display of a timeline is not the same thing as a debugger
github.com/jnthn/raku-log-timeline...#L179-L211 that isn't terribly complicated 14:59
15:02 abraxxa-home joined
librasteve o/ 15:19
15:20 Manifest0 joined 15:34 hellwolf joined 15:35 hellwolf left 15:36 hellwolf joined
okaaay - I have been jealous of the Fragments feature in other web template engines - as described here htmx.org/essays/template-fragments/ 15:44
sooo - I went and made this feature in cro-webapp and have just submitted a PR there and at cro-website for the docs 15:45
hopefully there is general support for this as a new Cro feature and if it is accepted it will show that Cro (like Comma) is definitely not a dead parrot 15:47
(questions / feedback welcome!)
15:53 hellwolf left 15:54 hellwolf joined
timo ah, that's neat 15:57
16:09 Aedil left, bdju left, summerisle_ left, gabiruh left, peder left, Opus left, GreaseMonkey left, charsbar left
botato interesting, thanks 16:09
timo so where would a good place be to put documentation about the various environment variables that can influence rakudo and moarvm behaviour? 16:15
16:15 Aedil joined, bdju joined, charsbar joined, GreaseMonkey joined, Opus joined, peder joined, gabiruh joined, summerisle_ joined
timo github.com/rakudo/rakudo/wiki/dev-...ars#moarvm this is linked from rakudo/docs/running.pod 16:16
16:21 rajj joined, euandreh left, ky3 left, dpk left, camelia left, mtj left, Altreus left, thaewrapt left, xinming left, coleman left, human-blip left, bisectable6 left, destroycomputer- left, toddr left, ingy left, zostay left, JRaspass left, gugod left, slu left, dmvrtx left, sjn left, cm left, renormalist left, simcop2387 left, dano left, tinita left, jast left, swaggboi left, thowe left, avar left, perlbot left, andinus left, hudo__ left, dustinm` left, gfldex left, ilogger2_ left, tbrowder left, tonyo left, drakonis left, MoC left, kylese left, tjr left, kaskal left, greppable6 left, unicodable6 left, bloatable6 left, sourceable6 left, samebchase left, tellable6 left, coverable6 left, jmcgnh left, corwin left, mst left, broquaint left, popebob left, lucs left
timo i guess that already has a good portion of all the env vars documented 16:22
not the github wiki page, i mean the running.pod document
github.com/rakudo/rakudo/blob/main...unning.pod
but that's kind of out-of-the-way still. it should perhaps be migrated or at least copied over to docs.raku.org, even though it's about rakudo and not necessarily about raku
docs.raku.org/programs/03-environment-variables
16:24 Sevalecan left, vrurg left, sivoais left, hvxgr left, acidsys left, _________ left, dutchie_ left, timo left, rjbs left 16:30 euandreh joined, xinming joined, dmvrtx joined, coleman joined, sjn joined, cm joined, human-blip joined, renormalist joined, ky3 joined, simcop2387 joined, dano joined, dpk joined, bisectable6 joined, camelia joined, mtj joined, Altreus joined, destroycomputer- joined, thaewrapt joined, tinita joined, jast joined, JRaspass joined, zostay joined, ingy joined, toddr joined, slu joined, gugod joined, Sevalecan joined, vrurg joined, sivoais joined, hvxgr joined, acidsys joined, _________ joined, dutchie_ joined, timo joined, rjbs joined, rajj left, bartolin left, bartolin_ joined, swaggboi joined, thowe joined, avar joined, perlbot joined, andinus joined, hudo__ joined, dustinm` joined, gfldex joined, ilogger2_ joined, tbrowder joined, tonyo joined, drakonis joined, MoC joined, kylese joined, tjr joined, kaskal joined, greppable6 joined, unicodable6 joined, sourceable6 joined, bloatable6 joined, samebchase joined, tellable6 joined, coverable6 joined, jmcgnh joined, corwin joined, mst joined, broquaint joined, popebob joined, lucs joined, abraxxa-home left, lizmat left, Geth left, leah2 left, synthmeat left, esh left, jdv left, itaipu left, phogg left, m6locks_ left, nicole left, xkr47 left, abraxxa-home joined, lizmat joined, Geth joined, leah2 joined, synthmeat joined, esh joined, jdv joined, itaipu joined, phogg joined, m6locks_ joined, nicole joined, xkr47 joined, jmcgnh left, tjr left, samebchase left, kaskal left, samebchase6 joined, orangebot left, zups left, elcaro left, evalable6 left, releasable6 left, tadzik left, benchable6 left, linkable6 left, dfarnsworth left, skaji__ left, xelxebar left, perryprog left, SmokeMachine left, ky2 left, samebchase6 is now known as samebchase, kaskal joined, orangebot joined, zups joined, elcaro joined, evalable6 joined, releasable6 joined, tadzik joined, benchable6 joined, linkable6 joined, dfarnsworth joined, skaji__ joined, xelxebar joined, perryprog joined, SmokeMachine joined, ky2 joined 16:31 guifa left, snonux left, Tirifto left, eseyman left, maylay left, DarthGandalf left, guifa joined, snonux joined, Tirifto joined, eseyman joined, maylay joined, DarthGandalf joined, sena_kun left, rba left, oodani left, BooK left, shareable6 left, sorenson left, hudo left, tailgate left, teatime left, teatwo joined 16:32 sena_kun joined
xinming m: class T { {my $set = <a b c>.Set; has $.t where * (elem) $set = "a" }; submethod BUILD (:$!t) { $!t.say; }; }; T.new(:t<x>) 16:37
camelia ===SORRY!=== Error while compiling <tmp>
Can never assign default value Str ("a") to attribute '$!t', it expects: <anon>
at <tmp>:1
xinming m: class T { { has $.t where * (elem) <a b c> = "a" }; submethod BUILD (:$!t) { $!t.say; }; }; T.new(:t<x>)
camelia Type check failed in assignment to $!t; expected <anon> but got Str ("x")
in submethod BUILD at <tmp> line 1
in block <unit> at <tmp> line 1
xinming m: class T { { has $.t where * (elem) <a b c> = "a" }; submethod BUILD (:$!t) { $!t.say; }; }; T.new(:t<a>)
camelia a
xinming m: class T { {my $set = <a b c>.Set; has $.t where * (elem) $set = "a" }; submethod BUILD (:$!t) { $!t.say; }; }; T.new(:t<a>)
camelia ===SORRY!=== Error while compiling <tmp>
Can never assign default value Str ("a") to attribute '$!t', it expects: <anon>
at <tmp>:1
xinming m: my $set = <a b c>.Set; ("a" (elem) $set).raku.say; 16:38
camelia Bool::True
xinming Is this a bug in where ?
m: class T { {my $set = <a b c>.Set; has $.t where { $_ (elem) $set } = "a" }; submethod BUILD (:$!t) { $!t.say; }; }; T.new(:t<x>) 16:40
camelia ===SORRY!=== Error while compiling <tmp>
Can never assign default value Str ("a") to attribute '$!t', it expects: <anon>
at <tmp>:1
xinming m: class T { {my $set = <a b c>.Set; has $.t where { $_ (elem) $set } = "a" }; submethod BUILD (:$!t) { $!t.say; }; }; T.new(:t<a>)
camelia ===SORRY!=== Error while compiling <tmp>
Can never assign default value Str ("a") to attribute '$!t', it expects: <anon>
at <tmp>:1
xinming hmm, The 'where * (elem) $set' 'where { $_ (elem) $set)' Neither worked. 16:41
16:42 tjr joined 16:46 jmcgnh joined 16:48 hellwolf left, japhb left, discord-raku-bot left, nine left, committable6 left, ecocode left, quotable6 left, dutchie left, BinGOs left, jcallen left 16:49 hellwolf joined, japhb joined, discord-raku-bot joined, nine joined, committable6 joined, ecocode joined, quotable6 joined, dutchie joined, BinGOs joined, jcallen joined
timo i don't think you can do that with a { my ... } because it's not compile-time-known? 16:49
m: class T { {my $set = <a b c>.Set; has $.t where { say "evaluating $_ against $set.raku()"; $_ (elem) $set } = "a" }; };
camelia evaluating a against Any
===SORRY!=== Error while compiling <tmp>
Can never assign default value Str ("a") to attribute '$!t', it expects: <anon>
at <tmp>:1
16:50
timo m: class T { BEGIN { my $set = <a b c>.Set; has $.t where { say "evaluating $_ against $set.raku()"; $_ (elem) $set } = "a" }; };
camelia evaluating a against Set.new("a","c","b")
timo so not a bug in "where" per se
somewhere between an LTA, a footgun, and something we should be able to fix? 16:51
also, would be good to have the error show something better than "<anon>". even if it's only like "expected to match against unnamed subset / condition" or whatever 16:52
16:52 leedo left, silug left, El_Che left, greenfork left, ashfield left, atweedie left, ab5tract left, PotatoGim left, jjatria left, leont left, jetchisel left, ugexe left, dutchie left, leedo joined, silug joined, El_Che joined, ashfield joined, greenfork joined, atweedie joined, ab5tract joined, PotatoGim joined, jjatria joined, leont joined, jetchisel joined, ugexe joined
timo also, probably a good idea to make it clear / known / documented that this is a way for compile-time code execution to happen? we don't really document that kind of thing thoroughly at the moment i don't think? 16:52
16:55 dutchie joined, leedo left, silug left, El_Che left, greenfork left, ashfield left, atweedie left, ab5tract left, PotatoGim left, jjatria left, leont left, jetchisel left, ugexe left, hellwolf left, japhb left, discord-raku-bot left, nine left, committable6 left, ecocode left, quotable6 left, BinGOs left, jcallen left, sena_kun left, guifa left, snonux left, Tirifto left, eseyman left, maylay left, DarthGandalf left, orangebot left, zups left, elcaro left, evalable6 left, releasable6 left, tadzik left, benchable6 left, linkable6 left 16:56 dfarnsworth left, skaji__ left, xelxebar left, perryprog left, SmokeMachine left, ky2 left, abraxxa-home left, lizmat left, Geth left, leah2 left, synthmeat left, esh left, jdv left, itaipu left, phogg left, m6locks_ left, nicole left, xkr47 left, swaggboi left, thowe left, avar left, perlbot left, andinus left, hudo__ left, dustinm` left, gfldex left, ilogger2_ left, tbrowder left, tonyo left, drakonis left, tjr left, MoC left, kylese left, greppable6 left, unicodable6 left, bloatable6 left, sourceable6 left, tellable6 left, coverable6 left, corwin left, mst left, broquaint left, popebob left, lucs left, Sevalecan left, vrurg left, sivoais left, hvxgr left, acidsys left, _________ left, dutchie_ left, timo left, rjbs left, jmcgnh left, euandreh left, ky3 left, dpk left, camelia left, mtj left, Altreus left, thaewrapt left, dutchie left, kaskal left, xinming left, coleman left, human-blip left, bisectable6 left, destroycomputer- left, toddr left, ingy left, zostay left, JRaspass left, gugod left, slu left, teatwo left, samebchase left, dmvrtx left, sjn left, cm left, renormalist left, simcop2387 left, dano left, tinita left, jast left, bartolin_ left, Aedil left, bdju left, summerisle_ left, gabiruh left, peder left, Opus left, GreaseMonkey left, charsbar left, Manifest0 left, botato left, dg left, Voldenet left, kjp left, ACfromTX left, tobs left, constxd left, pierrot left, Ekho left, dutchie joined, ugexe joined, jetchisel joined, leont joined, jjatria joined, PotatoGim joined, ab5tract joined, atweedie joined, greenfork joined, ashfield joined, El_Che joined, silug joined, leedo joined, jcallen joined, BinGOs joined, quotable6 joined, ecocode joined, committable6 joined, maylay joined, eseyman joined, Tirifto joined, snonux joined, guifa joined, ky2 joined, SmokeMachine joined, perryprog joined, xelxebar joined, skaji__ joined, dfarnsworth joined, linkable6 joined, benchable6 joined, tadzik joined, releasable6 joined, evalable6 joined, elcaro joined, zups joined, orangebot joined, kaskal joined, samebchase joined, xkr47 joined, nicole joined, m6locks_ joined, phogg joined, itaipu joined, jdv joined, esh joined, synthmeat joined, leah2 joined, Geth joined, lizmat joined, abraxxa-home joined, lucs joined, popebob joined, broquaint joined, mst joined, corwin joined, coverable6 joined, tellable6 joined, bloatable6 joined, sourceable6 joined, unicodable6 joined, greppable6 joined, kylese joined, MoC joined, drakonis joined, tonyo joined, tbrowder joined, ilogger2_ joined, gfldex joined, dustinm` joined, hudo__ joined, andinus joined, perlbot joined, avar joined, thowe joined, swaggboi joined, bartolin_ joined, rjbs joined, timo joined, dutchie_ joined, _________ joined, acidsys joined, hvxgr joined, sivoais joined, vrurg joined, Sevalecan joined, gugod joined, slu joined, toddr joined, ingy joined, zostay joined, JRaspass joined, jast joined, tinita joined, thaewrapt joined, destroycomputer- joined, Altreus joined, mtj joined, camelia joined, bisectable6 joined, dpk joined, dano joined, simcop2387 joined, ky3 joined, renormalist joined, human-blip joined, cm joined, sjn joined, coleman joined, dmvrtx joined, xinming joined, euandreh joined, Ekho joined, pierrot joined, constxd joined, tobs joined, ACfromTX joined, kjp joined, Voldenet joined, dg joined, botato joined, Manifest0 joined, Aedil joined, bdju joined, charsbar joined, GreaseMonkey joined, Opus joined, peder joined, gabiruh joined, summerisle_ joined 16:58 Manifest0 left, botato left, dg left, Voldenet left, kjp left, ACfromTX left, tobs left, constxd left, pierrot left, Ekho left, Manifest0 joined, botato joined, dg joined, Voldenet joined, kjp joined, ACfromTX joined, tobs joined, constxd joined, pierrot joined, Ekho joined 17:00 dutchie left
xinming timo: Thanks, I forgot about the compile-time vs runtime thing. 17:10
timo: I think there is a bug 17:16
timo: termbin.com/wl2i This is the sample which works with 'where { }', But doesn't work with 'where * ...' 17:18
Also, Move the 'my %calculator' out of the BEGIN block will also trigger same errors with 'has $.t ...' line 17:19
neither 'has $.t where * ...' nor 'has $.t where { }' works. 17:21
guifa I wonder if the whatever there is for some reason clobbering the default 17:25
but no that would give an error of assigning 'min' to True
ugexe xinming: in your example should :method be :t?
xinming ugexe: Yea 17:27
17:51 zetaaaa joined
timo all this will be extra fun because the error probably won't show up if you --optimize=off or --optimize=0 18:12
18:13 hellwolf joined
timo you're right, with the { } the argument passed to (elem) is the right set, but with the WhateverCode it's "Any", even though outputting $set a line above it (still in the BEGIN block) gives the expected output 18:16
funny enough, if you use `where $set` it works fine 18:17
since the default smartmatch on Set is element check 18:18
it side-steps the bug, but i've not looked at how we could fix that issue. assuming it is an actual bug. i think it is a bug
xinming So, this is a optimization bug related with whatever code convertion. 18:22
timo well, the optimizer being involved here is mostly because that's the stage where we do this kind of check, at least it is for some similar checks, like `sub a(Str $a) { }; a(6)` is caught by the optimizer 18:25
cool, i was wrong, this happens immediately in stage parse apparently 18:36
wait, no, it's in a begin block, so stagestats doesn't tell the whole story
create_BUILDPLAN is the spot where the check happens and fails for the * (elem) $set case 18:37
the optimizer is actually not involved in this 18:38
18:52 dutchie joined 19:04 abraxxa-home left 19:09 guifa left 19:10 guifa joined
SmokeMachine is there a way to force RAKUDO_RAKUAST=1 with out setting the envvar? from inside the scipt? I think there is a `use` to that, am I right? 19:13
guifa I don't think so 19:15
timo there is the "use experimental :rakuast" but that doesn't cause your program to be parsed by the rakuast parser i don't think
that use only gives you the AST method and rakuast classes i imagine
what's your use case? 19:16
SmokeMachine I think `use experimental :rakuast` only gives you access to the RakuAST classes... :? 19:17
:)
:( that's what I meant... 19:18
my problem it that I'm writing a test that needs RAKUDO_RAKUAST=1...
timo then i would say put the source code of the test in a huge heredoc string and "run" it? 19:19
librasteve err $*ENV<RAKUDO_RAKUAST> = 1 maybe
timo probably easier to get the rakuast compiler, feed the source in, compile it, and run the result
librasteve, even if you put that in BEGIN, it's probably too late to actually switch into rakuast mode 19:20
librasteve oh
SmokeMachine maybe I'll need to not test that as it should be used, but using Str.AST... :( 19:21
this was my test: usercontent.irccloud-cdn.com/file/.../image.png 19:22
guifa SmokeMachine: or just fail if it's not with RAKUDO_RAKUAST ? 19:27
SmokeMachine but it would always fail, no? 19:28
timo maybe skip instead of fail, but without a way to get the test run with rakuast turned on, for example by `zef test`, how would the test be useful? 19:29
also, in the future, rakuast will be the default parser even without RAKUDO_RAKUAST
SmokeMachine I think I'm going with this: usercontent.irccloud-cdn.com/file/.../image.png 19:30
librasteve &afk 19:33
19:48 lizmat_ joined 19:51 lizmat left 19:54 lizmat_ left, lizmat joined 20:34 Sgeo joined
SmokeMachine I released 2 modules but I can't install them... 21:09
usercontent.irccloud-cdn.com/file/.../image.png
usercontent.irccloud-cdn.com/file/.../image.png 21:10
raku.land/?q=ASTQuery and raku.land/?q=Acme::Overreact 21:11
21:20 MoC left 21:31 stanrifkin joined 21:33 finanalyst joined
[Coke] what are the git repos? 21:38
(and when did you upload?)
Looks like Acme::Overreact is in the ecosystem, but not ASTQuery, but since it depends on that.. 21:39
What's the git repo for ASTQuery?
21:45 stanrifkin left
[Coke] finds github.com/FCO/ASTQuery. 21:47
git
installs fine from git repo, fwiw. 21:48
don't see any obvious errors in the META6.json 21:49
SmokeMachine ASTQuery was released last week and a new version today just before I released the other one… 21:56
[Coke]: 👆 21:57
22:09 Aedil left
[Coke] ok. ASTQuery isn't on 360.zef.pm - so let's ping tonyo, I guess? 22:14
or coleman - any idea on how to diagnose why something that a user uploaded with fez isn't available? 22:20
guifa [Coke] that's a good tonyo question 22:22
coleman ask tonyo, because I dunno, but whenever we figure out the answer I'd be interested 22:32
[Coke] SmokeMachine: maybe open a ticket here: github.com/tony-o/raku-fez ? 22:41
SmokeMachine Yeah, thanks! I’ll do that! 22:43
[Coke]: github.com/tony-o/raku-fez/issues/121 23:02
23:16 Chanakan joined