IRC channel logs
2025-11-21.log
back to list of logs
<hwpplayer1>Is there a policy of release management for Guile ? <rlb>hwpplayer1: depending on what you mean, generally semantic versioning, though guile's Z releases are actually Y or Z releases, and see also doc/release.org in the source tree, perhaps. <rlb>hwpplayer1: oh, btw, emacs 30.2 is in unstable/testing now :) <dsmith>hwpplayer1, ^^ Two common texts for learning <hwpplayer1>Last question for now : As I heard The BSD OS family is "designed" but "Linux" is "evolution" <hwpplayer1>what action should I take before designing a "software suite" <hwpplayer1>Maybe a degree between designed system and evolution and also monolithic and less monolithic <hwpplayer1>I graduated economics, I studied/study social sciences especially art of war and strategy classics. Maybe that counts for designing programs and also programming language <ArneBab>hwpplayer1: if you want to design a software system, you must first understand enough about its inner workings so you can judge the effects of different design decisions. <ArneBab>hwpplayer1: so I would first start small. Build something practical that touches the core of what you want to do. <ArneBab>If you want to use Guile, build something with Guile. <ArneBab>I don’t know what you want to create, so I don’t know what starting point would be best. <hwpplayer1>I also want to learn the language itself comprehensively and teach to people <ArneBab>But not so much for an in-depth understanding; for that, sicp and the little schemer are better. <ArneBab>I build smaller systems, because I only work on Guile as hobby: small online games, specific language extensions, experiments, interface to other systems. <hwpplayer1>I know Assembly and C and higher level languages ( the idea and concept ) <ArneBab>(the read the docs page lists links to read on) <hwpplayer1>That is great to hear that there are good resources/docs <hwpplayer1>I wrote/ai helped me to write a guile based website and terminal app <ArneBab>please try to actually write programs yourself: in Guile you can optimize your environment more than in any other language I know, and if you let AI template the code together, you’ll miss that advantage because you won’t actually learn how the language works. <tohoyn>daviid: true, FiTohoynDBusServer1 is not a valid interface name. I changed it to fi.tohoyn.DBusServer1. <sneek>tohoyn, you have 4 messages! <sneek>tohoyn, daviid says: I found why it is not working. could you edit the (g-golf support struct) module and comment the line 107, using #;, so it becomes this - #;(string-prefix? "GDBus" g-name) - save, compile/install g-golf <sneek>tohoyn, daviid says: then use this version of your test - https://paste.debian.net/1409664/ - given I saved it as d-bus-server-test.scm, chmod a+x d-bus-server-test.scm, you can run passing (if you wish) -d, as in ./d-bus-server-test.scm -d this will print g-golf core precious info as you are debugging ... <sneek>tohoyn, daviid says: please note that I had to change your GDBusInterfaceInfo name, "FiTohoynDBusServer1" is not a valid name, not knowing what I am doing here, I picked the one in the doc, but for info, your name must pass the test, i.e (g-dbus-is-interface-name "org.freedesktop.DBus.Properties") => #t, but (g-dbus-is-interface-name "FiTohoynDBusServer1") => #f and that raises a Gio CRITICAL ... <sneek>tohoyn, daviid says: I am sure why I tag GValue and Graphene struct as semi-opaque, but I can't remember why I also tagged DBus - even when I comment as suggested above, both the g-golf test-suite and all gi-marshalling tests still pass ... so I may patch 'for real' and release ... <identity>sam113101: «,describe function» at the repl <sam113101>scheme@(guile-user) [1]> ,describe stream-fold <CoderPrans>C-h f, is a default keybind that invokes "describle function" @sam113101 <identity>sam113101: it is described in the manual in (info "(guile) SRFI-41 Stream Library") <sam113101>info: No menu item '(guile) SRFI-41 Stream Library' in node '(dir)Top' <identity>sam113101: have you installed the guile manual? <daviid>tohoyn: wrt the first problem, as a user you should be able to pass a list of lists ... on the C side, it expect an array of pointers to GDBusMethodInfo, which are structs containing structs, themselve containing structs ... none of the gi-marshalling tests ever tested those cases. I'll look into this, but it will take a while before I can come-up with a solution ... <daviid>tohoyn: wrt the second, I'll look into it ... i'll let you know when i have a fix ... <daviid>tohoyn: I am curious, why are you willing to use d-bus? what is your objective? Is there a 'similar' d-bus usage but written in C and working, so I could look at ...? <daviid>d-bus is a nightmare, because it has its own GDBusArgInfo, GDBusAnnotationInfo ... complete total nightmare ... <tohoyn>daviid: I just thought D-Bus support would be a good thing to have in Theme-D. Actually it is a bit difficult to figure out a good piloting project for it. <daviid>but what is your objective? a concrete example ... <tohoyn>daviid: But I think that interprocess communication should have important applications. <tohoyn>daviid: BTW, I made some DBus code using make-c-struct. Do you want to see it? <daviid>tohoyn: I'd need a very concrete example to be able to learn from ... <daviid>a working code, that does something 'useful' would be nice yes <daviid>and explain what the is code 'doing', in clear english, that would help <tohoyn>daviid: I have some problems with pastezone right now <daviid>mwette: I am wondering if it would not be more efficient, for g-golf users, to bind DBus using the ffi-helper and use that interface instead of GI? <mwette>right, the ac-d-bus one too, I think that's used in guix <tohoyn>mwette: AFAIK ac-d-bus does not implement synchronous method calls <tohoyn>daviid: The server defines a callback for DBus method MyMethod1 <tohoyn>daviid: receiving the method call is handled correctly, but sending a response does not work <mwette>I have not run the dbus demo in a bit. <daviid>supposed to do? I don't get it, you send what to what process, what does that process does with the msg? <daviid>mwette: tx, I'll look at it when I can ... <tohoyn>daviid: first the argument is extracted from the method call <kestrelwx>I'm trying to make a screen recording tool, and I'm using G-Golf for D-Bus, ffi-helper for ffmpeg and I think I'll have to write bindings for Pipewire using the ffi. But I stalled for a while unfortunately. <tohoyn>daviid: then the response should be constructed and sent <kestrelwx>I guess a Guile interface over some thin bindings would be fine, but GDbus seems nice already. <tohoyn>daviid: but the construction of the response argument does not work <daviid>tohoyn: i just do not understand, what is the objective? do you send a msg to the desktop, to the kernel ...? <daviid>what are you willing to do? in clear english ... <tohoyn>daviid: the purpose of this server is just to test method calls (and later signals) <daviid>tohoyn: so no real concrete need ... ok <daviid>mwette: tx, I'll try to read this code later ... <daviid>kestrelwx: what is your objective to use g-golf to use d-bus? <tohoyn>kestrelwx: do you happen to know any important practical use of d-bus? <kestrelwx>tohoyn: I mostly need to communicate with the XDG desktop portal. <mwette>I believe dbus is used for desktop app's to talk to hardware, e.g., power statistics. See /usr/share/dbus-1/interfaces. <tohoyn>daviid: if you run the server you have to export procedure %write-c-struct in module (system foreign) in the Guile source code. <rlb>fwiw, I also know that the "secret service" (yes that's what they call it) uses d-bus to communicate secrets between keyrings/apps and I think gnome/kde may use it. <rlb>No idea how widely -- I was just poking around there a while ago... <ieure>rlb, You're telling me that if Queen Elizabeth II used a Linux desktop, her passwords were communicated On Her Majesty's Secret Service? <kestrelwx>Who would've known there are little details running around in our computers. <dsmith>It was a cute name at the time when Guile was supposed to take over every scripting and config application. <rlb>I also tried to improve things a bit in main, i.e. added an index entry for ice-9, and mention in the README, and a footnote in the info tour. <rlb>020d80c401a0a69f134ab56ca111339ac24f3ca0 fwiw