19 Nov 2024 | |||
ab5tract | I’m signing off for tonight though, sleep has been both chasing and eluding me | 21:09 | |
lizmat | ack | 21:18 | |
sleep well! recharge! kick those bed bugs out! | |||
Geth | roast: raiph++ created pull request #866: s/`|w`/`?wb`/ (switch from Rakudo feature to Raku feature) |
23:16 | |
20 Nov 2024 | |||
releasable6 | Next release in ≈1 day and ≈15 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 03:00 | |
[Coke] | lovely. powershell isn't utf8. it's "utf8 with BOM" | 12:53 | |
and if no BOM, you get some windows encoding, and so mojibake. | 12:59 | ||
(also chcp doesn't seem to fix it. :( | 13:19 | ||
timo | how does "utf8 with bom" even work for a shell | 13:24 | |
given the path to a source file installed in a CompUnit Repository, how do i find the distribution it belongs to? the only way i can see is to search through the dist/ folder for any files that have the filename in it | 15:04 | ||
i can go from the source to any files that are precomped from it, but that only gives me stuff that file depends on, and apparently not a hint for where the file comes from? | 15:06 | ||
ugexe | it probably doesnt matter, but you'd have to ask to find source files installed i a CompUnit Repository *Installation* | 15:10 | |
other CURs may not even have files on disk, i.e. github.com/ugexe/Raku-CompUnit--Re...ry--Github | |||
otherwise you can probably grep the files in dist/ for provides.values.file | 15:11 | ||
when distributio is installed the meta6.json provides section is mutated (which is bad and dumb but lets ignore that) to contain vallue of not "Foo::Bar" but "Foo::Bar" => { "file":$some_sha1 } | 15:12 | ||
timo | ah, right. i'm writing a piece of code that turns the path from an annotation in bytecode into something clickable to open the source (hopefully even at the right line number). so that would be a file:/// url in some cases, an https:// url in other cases, and just nothing in the more complicated cases | 15:13 | |
so it's okay if there's not actually a file on disk that i can point the user at, as long as i can get something url-like in common cases | 15:14 | ||
ugexe | ah ok. note that you can't edit such source files and have those changes visible, but certainly still useful for seeing the code itself | 15:18 | |
timo | indeed. there would ideally be some kind of mechanism for the user to provide a way to find the local checkout they installed that dist from | 15:19 | |
though on the other hand, this is for the debugger, so jumping to the file on disk that was used for compilation is better than going to the "latest" version of the file in the source code repo | 15:20 | ||
ugexe | in this scenario do you care if they have been loaded already? CompUnit object has the distribution set on it | ||
although maybe that is only set when in certain situations | |||
timo | the debug client runs in its own process, and while it can theoretically invoke code on the debuggee, i'm not sure if i want to do it like that? | 15:21 | |
ugexe | the thing is if it jumps to the file used for compilation and you edit that file, the original compiled file would still exist and thus be loaded | ||
timo | oh, is there a lexical actually somewhere in the outers of any frame i might have? | 15:22 | |
or is it like a PseudoStash situation where the lookup would be done relatively late | |||
yes, that's true | |||
... when it's in a backtrace, the file names have the distribution name in them in parenthesis LOL | 15:23 | ||
ugexe | those are module names i thought | 15:24 | |
timo | oh, yes that's right | ||
but also, when they go into the tables used inside of moarvm for breakpoints, i cut that off because until now the user would have to know to literally type it in exactly like that | |||
ugexe | zef locate $some-sha1 --sha1 | 15:26 | |
github.com/ugexe/zef/blob/a103ae4a...#L801-L829 | |||
that is how zef looks them up although its using some implementation details like assuming the directory structure of CURI | 15:27 | ||
timo | i think i'd like a 20/80 solution here :D | 15:30 | |
Comma has a big benefit here, since it already knows basically everything about the code you're debugging, since if i remember correctly you can't just attach it to a random program you're running manually | 15:32 | ||
plus it has a proper parse tree of the code and all that jazz | 15:33 | ||
annoyingly, there is currently nothing in the debug server protocol that lets us get an object's WHO or HOW or WHAT | 15:40 | ||
patrickb | I still want to put the source into the comp unit itself. But I also still have no idea what I'm doing in that domain. :-P | 17:04 | |
timo | that's fine if you have a good way to display it | 20:09 | |
ugexe | i think most places we do CompUnit.new(...) we have a mechanism for accessing the source for when set handle => $precomp-code // &load-fromsource | 21:23 | |
for example: github.com/rakudo/rakudo/blob/d00d...od#L33-L42 | 21:25 | ||
ah i guess in that example you dont know the source file if $precompiled is true | 21:26 | ||
timo | the debug client is very happy when asked about the positionals of an array with 78518 entries | 21:41 | |
there's a spot where i flatten the list of things when formatting them for table printing, so it's now hard-capped to 65535 until i change that, but what's the sense in spewing 65k lines to the terminal | 21:43 | ||
and maybe the positionals request should also be able to do pagination so you don't have to transfer the entirety of an object's contents to the client | 21:46 | ||
ab5tract | That pagination idea sounds perfect! | 22:13 | |
timo | also annoying to implement i think | 22:17 | |
but what i just made is a "show" that combines the effects of "metadata" + whichever are appropriate out of "attrs", "pos", and "assoc", and also recurses two levels deep | 22:18 | ||
something i have dearly missed for ... a little while :) | 22:22 | ||
ab5tract | I can’t wait to see it in action | 22:56 | |
releasable6 | Next release in ≈19 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 23:00 | |
timo | ab5tract: asciinema.org/a/ZUydbBeO06o54VelwomN7y3bG here's a quick recording of it | 23:16 |