IRC channel logs

2025-11-05.log

back to list of logs

<mwette>sorry, not familiar, but hope it works out
<mwette>fyi, cdata (arch-info, actually) has this: (with-arch "x86-64" ... (mtype-bv-ref 'u32 bv ix) ...)
<euouae>Hello
<euouae>ACTION is still working on his ELF parsing library. almost done!
<daviid>sneek: later tell bootchk wrt to your last sentence, you can't make C made GObject instances 'visible' to g-golf, because GLib/GObject is based on a dynamic type system: the GType that the C code refers to when making instances, will likely almost always be different then the GType of the same class in g-golf (except for the GObject class itself) - you can write a plugin if the scheme code creats and manipulates its own itstances ...
<sneek>Will do.
<daviid>sneek: later tell bootchk so what you've tried so far may (have) work(ed), but i that is likely 'out of luck' (so to speak)
<sneek>Will do.
<daviid> later tell bootchk this behing said, let me look at the GimpRunImageFunc definition and the GimpValueArray api ... assuming those who wrote these apis know what I just said, maybe there is a way to make this work ... Last, I am not familiar with the Gimp namespace, nor gimp itself (or so little that that doesn't count ...), so take what I write with 'reserve'
<daviid>sneek later tell bootchk this behing said, let me look at the GimpRunImageFunc definition and the GimpValueArray api ... assuming those who wrote these apis know what I just said, maybe there is a way to make this work ... Last, I am not familiar with the Gimp namespace, nor gimp itself (or so little that that doesn't count ...), so take what I write with 'reserve'
<sneek>Will do.
<daviid> sneek later tell bootchk i've just slightly patched gi-array->scm to get a better error message, could you either clone, checkout the devel branch or replace the gi-array->scm in the (g-golf gi utils) module with this version https://paste.debian.net/1404588/ - then run the configure/make/make install danse, run your plugin and paste the 'complete' error message - tx
<sneek>Got it.
<ArneBab>sneek seen kb
<sneek>Kabouik was last seen in #guix one day and 17 hours ago, saying: Right, that'd explain why I don't see it; not using Gnome.
<binarydigitz01>Hi!
<binarydigitz01>I wanted to ask if there is a way to compile a given project if there is no makefile
<binarydigitz01>I'm trying to package https://git.sr.ht/~abcdw/guile-ares-rs, and the makefile doesn't really specify a build command, for now the way i have packaged it (for nixos) is that I just copy all the .scm files, and create a bash script that calls the corresponding function. However it doesn't really compile it which is probably bad.
<morenonatural>by default, guile compiles scripts on read/load … but it works just fine without doing so, anyway
<morenonatural>you can use `guild` command to pre-compile those scm. keep in mind compilated files (.go) end up in a separate hidden directory
<binarydigitz01>guild compile as far as i'm aware only compiles 1 file, do i use it with find to compile all or is there a better way?
<binarydigitz01>also by default guix compiles everything while installing packages so i thought it would be better to compile it in nixos as well
<morenonatural>hey, y'all … is there a fuzzy matching library for guile? (like fzf) … any term ui library too?
<dsmith>sneek, guile-software?
<sneek>I've heard guile-software is http://sph.mn/foreign/guile-software.html Send an email to tantalum, <sph at posteo dot eu> to make changes or post a new project.
<dsmith>morenonatural, take a look ^^
<morenonatural>👀
<rlb>civodul: if you have a weak-key hash table and, other than the table itself, the key for an entry is (only) in a guardian, does the fact that it's in the guardian keep the entry in the table, or not? If you know offhand. (I wasn't absolutely sure from the docs.)
<rlb>(came up via https://codeberg.org/guile/guile/issues/44)
<rlb>civodul: also, I wanted to consider this (and get a second opinion from you or Andy) wrt 3.0.11 - https://debbugs.gnu.org/79762
<dpk>rlb: aiui it should but it does not; Whippet will fix this
<dpk>‘Guile’s documentation on guardians, a finalization-like facility, specifies that weak associations (i.e. ephemerons) remain in place when an object becomes collectable, though I think in practice this has been broken since Guile switched to the BDW-GC collector some 20 years ago or so and I would like to fix it.’ — https://wingolog.org/archives/2022/10/31/ephemerons-and-finalizers
<dpk>‘It would be a shame if guardians were primitive, as they are a relatively niche language feature. Guile has them, yes, but really what Guile has is bugs: because Guile implements guardians on top of BDW-GC’s finalizers (without topological ordering), all the other things that finalizers might do in Guile (e.g. closing file ports) might run at the same time as the objects protected by guardians.’ —
<dpk> https://wingolog.org/archives/2024/07/22/finalizers-guardians-phantom-references-et-cetera
<rlb>OK, so I wonder what that should mean for 3.0.x -- i.e. would it be wontfix, and I'd probably also want to make the docs clear wrt the situation...
<rlb>apteryx: ^
<dpk>i already pointed apteryx to this last week …
<dpk>(it’s how i had those specific references on hand so quickly)
<rlb>Oh, ok.
<rlb>apteryx: might make sense to add that context to your issue.
<daviid>rlb: as i wrote recently, g-golf was using guardian (not anymore) and when the value is the scheme object (in g-golf the key was the GOBject instance poiter address), then the entry is removed automatically when not reachable - I never tried to use the gobject as a key though ... fwiw
<rlb>It sounds like ideally, someone who already understands the issue well would adjust the guardians docs appropriately to avoid presenting an attractive nuisance until/unless things are "fixed"...
<daviid>rlb: but iirc, it should be relatively easy to just try? you add an object make it unreachable and in the add-gc-hook, get and display the weak hash table entry ...
<rlb>Hmm, try what? The question I originally mentioned was demonstrated here: https://codeberg.org/guile/guile/issues/44
<rlb>And I tried the same thing and could see the entry vanishing via the write representation of the weak key hash table.
<rlb>But as dpk points out sounds like a "known" issue.
<old>objects in guardians are in a gray area between alive and dead ..
<old>What happen if an object in a guardian is captured?
<daviid>what i just suggested will tell you if the entry is still in the weak or not after the object becomes unreachable, iiuc, this was the quiz - i didn't looked in the issue, i was just suggesting a quick try ...
<rlb>The way I could see it is that the weak hash table's write output shows the number of entries, i.e. 1/31, and that dropped to 0/31 once the weak key was only in the guardian.
<rlb>fwiw
<daviid>'captured', i do not understand, unreachable, the gc recover the space and the weak hash entry is removed (in the case the object is the value, I do not know if the object is the key )
<daviid>have to go afk ... just wanted to comment my experience
<old>there is no way for getopt-long to only accept a short option ?!
<euouae>apteryx: I just finished my ELF library
<euouae>I'm writing the docs now and I'll publish soon. I'll also rewrite gremlins using my library so that you can compare if you'd like.
<mwette>python is so lame: 0 == False => true
<Arsen>>>> isinstance(False, int)
<Arsen>True
<euouae>there's worse
<euouae> <https://discuss.python.org/t/why-is-it-better-to-write-if-a-is-none-instead-of-if-a-none/42203> for example
<Arsen>meh
<Arsen>this is IMO obvious
<Arsen>'==' is semantic equality, not reference equality, whatever that may mean for the algebra of a given class
<euouae>the problem is not == but using `if foo()` instead of `if foo() is None`
<Arsen>those mean different things
<euouae>yes
<euouae>I see, you're saying my complaint is apples to oranges w.r.t. False being int. My point was that I think
<euouae>Python sucks for the design de+cision
<Arsen>the design decision of == being overridable?
<euouae>Of recommending `if foo()` as style unless None is involved
<Arsen>I'm not aware of that recommendation
<Arsen>again, those aren't the same test
<Arsen>where did you see that?
<euouae>I don't remember
<euouae>I know they're not the same
<euouae>I'm pointing out their difference :) you don't' have to tell me they're different
<Arsen>hmm, you think the difference is bad?
<euouae>I think it's tricky because a lot of code does `if foo()`
<euouae>I don't like tricky things
<Arsen>I'm sorry, I must be missing something, but I can't tell why that's tricky
<euouae>Do you think C++ is tricky?
<euouae>Or crystal clear?
<Arsen>well i'm a c++ implementor so that's biased
<Arsen>but it's definitely a steep learning curve, so let's go tricky
<euouae>I think you're biased if you're a C++ implementor, you're not the right person to talk to about tricky programming language constructs
<Arsen>I'm not *only* a C++ implementor
<euouae>didn't mean to strip you of your titles ;)
<Arsen>what I mean is that I have other experiences too, the reason I bring up the above is because C++ has an internal logic I'm keenly aware of and as such I can't judge how the language feels upfront
<euouae>You spoke of a learning curve
<euouae>aside from knowledge, there is also performance
<euouae>For example, I know how to walk. Can I walk mt Everest?
<euouae>In languages, say like C++, I might know all the concepts involved because I've studied the C++ standard thoroughly (say). Am I always in the position to perform to write 100% correct C++ code?
<euouae>Now, in various languages, is the performance requirement different when it comes to writing correct code? I think yes. I think tricky constructs are one reason why the performance/focus can be higher in comparison to other languages.
<euouae>If you're responding to everything I'm saying from the position that performance is always 100%, you might not understand what argument I'm making. Or, if your performance is so much higher than average, you might still not understand the point I'm making if you're not understanding that others do not have such great performance/focus as yours
<Arsen>I'm not srue I understand the concept of focus in this instance
<euouae>Humans focus on their tasks when they don't wish to make mistakes
<Arsen>is that the same as performance in this context
<euouae>I'm not sure why you're treating this casual conversation in this manner
<Arsen>oh I'm sorry, I didn't mean to treat it especially non-casually
<Arsen>I'm also not trying to bog you down
<Arsen>apologies if it seems so
<euouae>no worries
<euouae>I just don't want to explain myself further
<ekaitz>guys, all languages are beautiful
<euouae>That's true, it's fun learning a language
<ekaitz>euouae: for example, javascript's internals are very interesting
<ekaitz>everybody complains about that, but the object/function system is cool
<euouae>I never touched Javascript aside from some silly projects that did *not* deal with Javascript frameworks
<euouae>My journey was with C and then Common Lisp
<euouae>Now I use just about anything to get it done and I don't spend too much time understanding the language if I can avoid it
<dsmith>Arsen, What C++ are you involved with?
<ekaitz>sneek: later tell euouae this is a great explanation https://web.archive.org/web/20140205182624/http://vijayan.ca/blog/2012/02/21/javascript-type-model
<sneek>Got it.
<ekaitz>sneek: botstnack
<ekaitz>sneek: botsnack
<sneek>:)