Subject: [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type.

From: Andrew Tropin <[email-masked]>
Date: Tue, 17 Jan 2023 18:46:32 +0400

On 2023-01-17 10:02, Ludovic Courtès wrote:

> Hi,
>
> Andrew Tropin <[email-masked]> 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