On 2026-06-30 17:28, Arun Isaac wrote: >> I fully agree with this. My argument would be that if everything is >> supposed to go through the command line, then we could work with very >> limited types of expressions - instead of using not very expressive >> Yaml, we could use a not very expressive subset of Scheme. > > Sure, if it is possible to define this subset of Scheme clearly, that > could be perfectly acceptable.
A very interesting subset would be records IMHO. We spoke about that once with Simon, since finite records seem to be THE tool used for all complex structures in Guile and Guix, having tooling to parse and edit them programmatically most likely already diminishes parsing complexity (from possibly infinite arbitrary sexps to finite defined records) while still allowing for pretty advanced configuration on the user side. (During this conversation, Simon described Arun's efforts to edit arbitrary scheme code and the inherent complexity of this task). That would be a blessing for `guix style`, as it would allow us to programmatically edit packages from a robust tool (guix style currently is not), and I guess since we have a package/json conversion, that this type of match hopefully could be done for records in general. I don't have a lot of time or hints on how to start that, but I would find that kind of tooling very precious for Guix. -- Best regards, Nicolas Graves
