🦋 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 available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
[Coke] Sure - just happy to update anything obviously bad. :) 00:42
i did a rebase, why is github.com/rakudo/rakudo/compare/m.....coke/ps1 showing commits i didn't make to tbe branch? 00:47
Geth rakudo/coke/ps1: 29a21f7933 | (Will Coleda)++ | src/core.c/REPL.rakumod
Add proof of concept for configurable REPL prompt
00:49
rakudo/coke/ps1: d2e1ae96f2 | (Will Coleda)++ | src/core.c/REPL.rakumod
Allow multiple \t replacements
rakudo/coke/ps1: 3d1f450ab7 | (Will Coleda)++ | src/core.c/REPL.rakumod
Add support for \c and named ansi codes
[Coke] nevermind, cleaned up
rakudo: coke++ created pull request #5758:
Coke/ps1
00:50
[Coke] made the rakudo PR non-draft so I can get the CI on it 00:51
timo i just had A Thought 08:46
parsing DWARF may be a good source for generating C library bindings 08:47
possibly easier to do than parsing C header files
one reason for that is that the DWARF symbols encode in them the final results of all the definitions you're interested in. you don't have to understand #if / #ifdef / preprocessor stuff, you don't have to make sure you can chase down all the includes so you don't end up with dangling definitions, ... 08:49
with gptrixie we currently rely on CastXML, which last time i looked wasn't exactly trivial to set up, and maybe more importantly requires a C compiler like clang or gcc, which is not exactly a tiny dependency 08:50
on the other hand, the debug symbols are only very rarely already available on your target systems without end-user "intervention", so even if we go with parsing DWARF, that would probably be a step that spits out source code that can be distributed, rather than just running once at precompilation time for example 08:51
we don't have to parse the binary dwarf data ourselves, either; we could call dwarfdump and read the output, or we could use libdwarf 08:52
hmm. was i wrong? 09:13
gist.github.com/timo/0342a08148b07...d25b97c261 09:21
this has no answer for "windows?" and also maybe nothing for mac? are there dwarf debug symbols on macs? is there a public infrastructure where you can easily find the debug symbols for "the mac version of the library i have in front of me right now"? 09:43
one more benefit is that you don't have to have a machine of the target architecture and OS available, and no need to have a cross-compiler set up for the target. but you do need to find the right dwarf symbol files, and on windows you usually don't get dwarf but instead something incompatible and undocumented (last time i checked) 09:45
OTOH, on github actions you do get mac and different linuces, right? do you get 32bit linuces on github actions or do you have to bend over backwards? 09:47
patrickb Another idea: Only depend on a preprocessor. Then parse the pure C by hand. 10:58
11:01 sena_kun joined
timo yes, that was also suggested. that also requires the dependencies to be present as source (only headers) as well 11:14
also, i'm not sure if there's a way to have a c preprocessor but not a c compiler 11:18
i mean, of course there is a way, but needs a bit of work? like, take the compiler package and remove the compiler from it and leave only the preprocessor 11:19
22:33 sena_kun left 23:13 sena_kun joined