Hello,

Am Tue, Jun 30, 2026 at 02:23:13PM +0100 schrieb Arun Isaac:
> > You mention that arbitrary Scheme code is difficult to edit, but the
> > simple example with a list of packages should be easy. Or let me
> > formulate a thesis: Everything that is possible to do with a not very
> > expressive declarative style, should be possible to do by
> > automatically editing a Scheme file, maybe starting from a template
> > (using "(substitute* ...", for instance).
> Like I explain with examples in a previous email, short of using an LLM,
> it is not possible to edit arbitrary Scheme code reliably.

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.

For instance, start with a template file, or a script that creates an
initial Scheme file for something (a package collection installed into
the home profile; or a combination of channels.scm and manifest.scm;
or whatever you have in mind as a concrete problem to be solved)
much like the installer creates a system configuration file.

And then a command line argument could transform such files.

It assumes that people never hand edit these files created by a machine,
so that they remain in a rather rigid format.

> > Are people's needs not already covered by the imperative style?
> >    guix package -i SOME_PACKAGE
> > ?
> I never use this command. Manifest files and guix shell is how I do most
> of my work.

Well, that was not the question, I know you can easily write Scheme;
I just wondered whether these people's needs could be covered by the
existing command line tools. For the example you give, manifest files
could clearly by created and edited by a command line tool as outlined
above; and "guix shell" already is a command line tool.

Maybe we need a concrete "workflow", an example of what people would
like to do on the command line, and which they cannot do right now?

Andreas


Reply via email to