IRC channel logs

2023-08-26.log

back to list of logs

<rlb>...ideally, we need some kind of dependency between check-guile.in and check-guile. i.e. changes to the former don't force a rebuild of the latter atm, which was confusing.
<rlb>Finally cleaned up (a bit) and sent a proposal (patch series) to switch to the automake parallel test harness to guile-devel. As mentioned, with that, even without any changes to the tests, make check runs in about half the time here (with -j5).
<rlb> https://www.gnu.org/software/automake/manual/html_node/Parallel-Test-Harness.html
<roptat>hi! I'm trying to find a way to compute the width of a character string, which is not just (length str), as there might be double-width characters or zero-width characters
<roptat>in C I'd use wcswidth, but I don't see it in the manual
<rlb>roptat: are you wanting the utf-8 length, utf-16 length, or something else?
<RhodiumToad>display length, sounds like
<roptat>rlb the width on the terminal
<rlb>Oh, right.
<roptat>I ended up using an ffi for wcswidth, but if guile already provides something for it, it'd be better
<rlb>Hah, have been swamped with unicode lately, but haven't been thinking about that at all.
<RhodiumToad>afaik guile does not provide it
<roptat>I see, thanks
<haugh>Maybe you can use charset algebra to get charsets of all zero and double width characters
<haugh>unicode is one of those things that makes me wish I'd stuck with the piano lessons
<RhodiumToad>character sets are hard
<RhodiumToad>just pray you never have to deal with EBCDIC
<haugh>ACTION makes the sign of the 38
<wingo>moo
<rlb>wingo: not rushing at all, but just wanted to check that you'd seen that I'd raised the utf-8 pr you'd requested (in that tmp repo). And as mentioned, if/when you do get to it, for now, mainly would like to see if it's remotely in the right direction -- I still have a number of NOTEs here to review and maybe fix/adjust.
<wingo>hey hey! yes i just saw that
<wingo>will look soon, not tonight tho. plz do re-ping whenever you like if i don't get back within 3-4 days
<rlb>No worries. I'd just gotten far enough that I felt like I should check-in before I spent a lot more time on it (plenty already :) ).
<rlb>Also, if you want to likely to at least halve your "make check" time, I posted some preliminary patches to the list to switch to the non-deprecated automake harness (parallel) :)
<wingo>aaah yass
<rlb>I also wondered if we could make some granularity adjustments and go even faster, later. Here -j3 gets most of the speed up, and nothing over -j5 helps...
<rlb>I think it *may* be threads.test.
<rlb>I didn't bother to try to allow keeping support for the old approach with some ./configure or ./autogen.sh control, but suppose we could consider that if it were thought justifiable.
<rlb>Also, I've been in the new code, leaning toward the clj "always #:select by default" approach, which I've found quite nice -- bit more work when writing the code, but that's only once, and it's really nice to be able to see exactly where things come from, and to be insulated (both you and the upstream module author) from conflicts with future export additions.
<rlb>That said, I'm fine if that's not something people want, and I'll rework those cases in the proposals.
<wingo>#:select by default sgtm as a general practice
<rlb>OK.
<ArneBab>rlb: I usually use (only (the module) ...) for all but the most basic imports. It’s great for reading the code.
<ArneBab>(but for code in Guile, I thing #:select wins)
<ArneBab>s/thing/think/ — also: code to be part of Guile’s codebase
<rlb>Hmm, if wrt "reading the code" you mean that otherwise you have too much select noise a the top of the file, then at least for me, that's what C-v is for :)
<rlb>(...or maybe you mean when you want to actually read the define-module, and it's awfully spread out)
<rlb>(Regarding the former, suppose we could have a convention where there's a marker or ^L just after the define module, so you can easily jump down...)