On 2023-01-17 10:02, Ludovic Courtès wrote: > Hi, > > Andrew Tropin skribis: > >>> What about accepting sexps (or gexps) instead of strings? As in: >>> >>> (init-file '((require 'whatever) (setq something t))) >> >> A quick minor note on this approach: it won't be possible to use >> #'elisp-function inside such configuration because it will be >> interpreted by guile reader, but actually rde lives without this >> functionality completely ok. > > Specifically: > > (write '#'x) > |= (syntax x) > > But we can use (guix read-print) and ensure that it prints #'. > Do you have any links to docs/sample implementations on the topic of extending guile reader, so we have an example to start with? Does guix workflow language do something like that? I think it will be cool to hook up a custom reader, ideally comment preserving, for emacs lisp inside scheme files. >> Do we want something like this possible? >> >> (init-file `((require 'whatever) >> (setq something t) >> (load ,(local-file "old-init.el"))) > > It’d be nice. In that case, we’ll want it to be a gexp though: > > #~((require 'whatever) (load #$(local-file …))) > gexps are nice, but do we really need/want them here? Do you have any thoughts on what are the benifits over quasiquotes in this case? Maybe some examples? -- Best regards, Andrew Tropin