🦋 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 ...` |
10:36 | |
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 | ||
moar::libdir=/home/cbwood/Projects/rakudobrew/versions/moar-blead/install/lib | |||
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 |
11:33 | |
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 |
15:18 | |
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 | ||
lizmat | .oO( cats and dogs, living together! ) |
22:07 | |
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
|