🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs can be inspected at colabti.org/irclogger/irclogger_log/raku-dev | For MoarVM see #moarvm
Set by lizmat on 26 April 2021.
01:54 kvw_5_ joined 01:58 kvw_5 left 02:11 frost-lab joined 02:32 softmoth left 02:52 Xliff left
japhb Copy pasta that bitrotted: *JS* backend says "Cannot force GC on JVM backend yet" for force_gc op, while it actually seems to be implemented on JVM. :-) 04:38
06:38 domidumont joined 06:41 frost-lab left 08:12 sena_kun left 08:13 sena_kun joined 08:18 domidumont left 08:20 Xliff joined
sena_kun releasable6, status 08:23
releasable6 sena_kun, Next release in ≈22 days and ≈10 hours. 2 blockers. 0 out of 10 commits logged
sena_kun, Details: gist.github.com/7a354e9a477ee6ba57...4b2b6ac4cf
sena_kun releasable6, status 08:25
releasable6 sena_kun, Next release in ≈22 days and ≈10 hours. There are no known blockers. 0 out of 10 commits logged
sena_kun, Details: gist.github.com/2f7d807ea05814f04b...fe903ecffc
08:44 frost-lab joined
Xliff sena_kun++ # Latest release 08:48
In case I haven't mentioned it, yet. Thank you, for all you do.
sena_kun: Who would I need to talk to for CURI related issues?
CURI = CompUnit::Repository::Installer 08:49
MasterDuke Xliff: ugexe or nine
Xliff MasterDuke: OK. Yes, it's related to "that" problem.
I still haven't heard from anyone about how to best approach adding more user feedback to the current way Rakudo installs modules.
I would like to put some time into that. 08:50
CURI = CompUnit::Repository::Installation, actually 08:51
MasterDuke hack some minimal change in, PR that, hopefully get relevant comments? people might need to see some actual code changes to understand what you're thinking 08:52
Xliff Yeah. Unfortunately, I need to understand what they were thinking, first.
A high level tour of CURI would be niec.
Take this section for example: github.com/rakudo/rakudo/blob/mast...n.pm6#L207 08:56
Could we replace that with a single for loop and two when blocks?
Also, is there some way to precompile the modules, FIRST into some staging directory and then install from therE? 08:59
Is there a writeup about how Raku goes about installing its modules? 09:00
MasterDuke github.com/rakudo/rakudo/blob/mast...-dist.raku perhaps 09:02
09:03 sena_kun left
Xliff Yeah, that sounds like what I am looking for. But that code installs it. Is there a writeup on its use? 09:04
MasterDuke dunno 09:05
Xliff And where are those sources?
09:05 sena_kun joined
Xliff MasterDuke: Alas. Those are the answers I always get when I ask these questions, and they do me no good when I have doesn't of projects I'd like to release. 09:05
I am not faulting you. I am just trying to determine next steps! 09:06
MasterDuke no worries. fwiw, i've never touched any of those parts of the code, so i'm just as much in the dark 09:09
09:31 frost-lab left
nine Xliff: yes, you could probably use a single loop and to whens. Don't know how that's related to a high level view though. Looks like a minor code structure change to me 10:26
Xliff: precompile first and then install from there? That's what CompUnit::Repository::Staging is all about.
Xliff: the architecture documentation is at github.com/rakudo/rakudo/blob/mast...agement.md 10:27
Xliff nine: The loop change was minor suggestion. It's what I do when looking at new code. 10:32
Thanks for the link!
nine The system has evolved somewhat since that document was written, but it's still an excellent starting point for understanding the different parts 10:33
Xliff Yes. Good information in here. Any writeups on ::Staging? 10:34
Or an example that uses it... 10:35
Geth rakudo/rakuast: c796cd3c22 | (Jonathan Worthington)++ | 2 files
Parse `my sub ...`
Xliff jnthn++ # RakuAST work 10:44
jnthn: Have any conservative idea on when to expect RakuAST on master? 10:47
tellable6 Xliff, I'll pass your message to jnthn
nine Xliff: github.com/rakudo/rakudo/blob/mast...ll-dist.p6 11:00
And build.opensuse.org/package/view_fi...c?expand=1 11:02
Xliff Ah! Shows how the --to directive is to be used. nine++ 11:03
Although one wonders if libdir might be better? 11:04
from "raku -V"
nine: Would there be a simple way to pull the vendor directory from the repo chain? 11:07
"raku -V" has "repo::Chain=..."
Although one would hope I could pass 'vendor' somewhere and get something like: /home/cbwood/Projects/rakudobrew/versions/moar-blead/install/share/perl6/vendor 11:08
I could loop through that and check for .ends-with('vendor'), but even that seems a bit unclean. :/
11:14 titsuki joined
nine look in CompUnit::RepositoryRegistry 11:16
Xliff Thanks. 11:19
Will have to download this chatlog as notes, LOL!
nine: So if I can build out a module with this script: github.com/Xliff/p6-GtkPlus/blob/m...-build.pl6 11:21
Will ::Staging pick up what's been built and use that?
dependency-build.pl6 tl;dr - It makes use of parallel rakudo compilations via '-e "use <MODULE>"' 11:22
nine Sorry, I don't understand your question 11:32
Geth rakudo/rakuast: 0553127bd2 | (Jonathan Worthington)++ | 6 files
RakuAST node for term (sigilless) var declarations
Xliff nine: Nevermind. I will rephrase it when I get a chance to really look at the information you've already shared. 11:35
Thanks for the infodump!
timotimo hm. how best to make switching between a tracy-enabled moarvm and a not-tracy-enabled moarvm available 12:25
12:34 MasterDuke left 12:39 MasterDuke joined 13:11 MasterDuke left
lizmat ok, so I want to watch a directory for any additions to that directory 13:11
but at the same time, I want to watch a sub-directory of that directory for changes
now as, soon as the upper directory sees a new sub-directory, I want to switch watching *that* subdirectory 13:12
feels to me that this needs some type of nested react whenevers
13:13 MasterDuke joined
lizmat but I seem to not be able to wrap my head around it :-) 13:13
nwc10 time for a bike ride?
lizmat it actually is, yet the weather is not very appealing
nwc10 it is nice here right now, but the forecast is rain by this evening. Various forecasts are unsure when "this evening" starts 13:14
lizmat 8 degrees with a wind chill of 4
nwc10 erk
something like 17 here with no wind
lizmat compared to the 21 we had yesterday
yeah, very much like we had yesterday :-)
nwc10 Seems like you're a day ahead of us :-)
(and you typed faster) 13:15
ugexe github.com/perlpilot/p6-IO-Notific...-Recursive
lizmat ugexe++ perlpilot++ 13:17
github.com/raku-community-modules/...-Recursive nowadays, but yes 13:18
a little overkill for what I wants 13:19
setled on: 13:28
loop { react { whenever $upper.watch { $sub = newsub; done }; whenever $upper.add($sub).watch { do stuff } } 13:29
nine nwc10: lizmat doesn't type faster, she obviously lives in the future! 13:36
lizmat I wish... 13:37
13:37 frost-lab joined 13:39 frost-lab left 13:54 moritz_ joined, moritz left
sena_kun greppable6, use lib 14:09
greppable6, help
greppable6 sena_kun, Like this: greppable6: password # See wiki for more examples: github.com/Raku/whateverable/wiki/Greppable
sena_kun, 2770 lines, 535 modules: gist.github.com/237b4c8c116b2b0023...74244df458
14:14 MasterDuke left, MasterDuke joined 14:20 sena_kun left 14:22 sena_kun joined
ugexe remember folks if you're using `use lib ...` you're probably doing it wrong 15:14
sena_kun Oh, I remember there was a solution with $*FILE.parent.absolute, but don't remember what I was writting with it anymore. :S 15:17
Geth roast: tbrowder++ created pull request #733:
Add Gregorian test data including negative dates
ugexe there are cases when `use lib ...` is fine (like the roast) but its almost always wrong for any part of a module/distribution
putting `use lib "lib";` in a test for example is asserting that you must have everything laid out as the author intended even though the author doesn't get to dictate that 15:19
sena_kun ugexe, how do I use test-only packages then?
ugexe `use lib "lib"` this is bad
`use lib "t/lib";` this is fine
for a test
sena_kun phew
sena_kun did `use lib 't/lib';`
ugexe yeah the important thing is the tests should have no idea about the structure of the library code they are likely testing. that should be supplied via `-I whatever` 15:20
for libraries that are specifically for the test (and not part of the distribution) they can assume the structure
Xliff lizmat: In your example (reused here replit.com/@Xliff/InfamousPleasant...#main.raku for clarity) 15:21
tellable6 2021-04-29T13:35:44Z #moarvm <jnthn> Xliff Can't see it happening before Q4 this year; even when most features are there, we'll want all the opts to be too, plus there'll be lots of little details to do (and bug compat with the current compiler frontend)
Xliff Aren't both whenever blocks started at the same time?
jnth++ # Thanks for the estimate! 15:22
Geth rakudo/rakuast: eae14b1a39 | (Jonathan Worthington)++ | 4 files
RakuAST handling of loop labels

  * A RakuAST::Label node
  * Statements hold a list of labels
  * Make loop compilation care about them
16:05 MasterDuke left 16:21 domidumont joined 16:33 domidumont left
Xliff m: my @a; say +a; 16:59
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
a used at line 1
Xliff m: my @a; say +@a;
camelia 0
18:11 sourceable6 left, notable6 left, benchable6 left, unicodable6 left, releasable6 left, committable6 left, tellable6 left, squashable6 left, coverable6 left, shareable6 left, statisfiable6 left, quotable6 left, bisectable6 left, greppable6 left, bloatable6 left, unicodable6 joined, coverable6 joined, statisfiable6 joined 18:12 greppable6 joined 18:13 releasable6 joined, benchable6 joined 18:30 dogbert17 left 18:31 dogbert17 joined 18:32 dogbert11 joined 18:34 vrurg left 18:35 dogbert12 joined, vrurg joined 18:36 dogbert17 left 18:38 dogbert11 left 19:00 titsuki left 19:08 MasterDuke joined 19:30 dogbert17 joined 19:32 dogbert12 left 19:59 MasterDuke left 20:05 MasterDuke joined 21:25 LizBot left 21:27 lizmat left, [Tux] left 21:35 lizmat joined 21:45 nwc10 left 21:46 nwc10 joined 21:55 LizBot joined
lizmat seems our provider lost most of their network about 40 mins ago :-( 21:55
japhb lizmat, you might remember this from your native array work: What would be the fastest way to get a Blob or Buf containing the raw data in an intarray or numarray? Is it necessary to copy, or can it be done without the copy? What about going in the opposite direction? 22:01
lizmat Blobs/Bufs are native intarrays under the hood
so you could just use nqp::ops on them 22:02
now, getting them to be recognized at HLL level as one or the other, I haven't been able to figure that one out
m: lob.new(1,2,3); use nqp; dd nqp::atpos_i($b,0) 22:03
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$b' is not declared
at <tmp>:1
------> 3ob.new(1,2,3); use nqp; dd nqp::atpos_i(7⏏5$b,0)
lizmat m: Blob.new(1,2,3); use nqp; dd nqp::atpos_i($b,0)
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$b' is not declared
at <tmp>:1
------> 3ob.new(1,2,3); use nqp; dd nqp::atpos_i(7⏏5$b,0)
lizmat m: my $b := Blob.new(1,2,3); use nqp; dd nqp::atpos_i($b,0)
camelia 1
22:04 b2gills left
japhb Right, they're all VMArrays, yes? Seems like it ought to be possible to just create a new "header" with the same raw data pointer. 22:04
lizmat you would think :-)
japhb Hmmm, can you nqp::splice between different typed arrays?
lizmat don't think so 22:05
japhb Gah, dang it.
lizmat try it, I'd say :-)
japhb Heh
Every time I think "What's the worst that could happen?" I have a vision of suddenly being in a hellish post-apocalyptic wasteland going "Ummm ... what?" 22:06
.oO( cats and dogs, living together! )
japhb > use nqp; nqp::splice($buf, @na, 0, 0) 22:10
MVMArray: atpos expected num register
Harrumph. 22:11
You cannot create an instance of this type (Buf[uint8]) # Says you! Don't tell me what I can and cannot do! 22:15
Grrrr: `nqp::istype(nqp::hllize($got),Int) ?? ... !! self!fail-typecheck-element(action,$i,$got).throw))` 22:27
japhb is about to go full Charleton Heston / Planet of the Apes overacting 22:29
22:29 LizBot left, lizmat left, lizmat joined
japhb idly wonders if Charleton Heston or ST:TOS-era William Shatner was the hammier overactor .... 22:30
22:31 LizBot joined
lizmat Shatner, no doubt 22:34
22:52 Kaiepi left 23:46 LizBot left, lizmat left