Subject: Re: bug#36511: extraneous recompiles of scm files while editing gnu/packages/

From: Ludovic Courtès <[email-masked]>
Date: Mon, 08 Jul 2019 12:03:59 +0200

Robert Vollmert <[email-masked]> skribis:

>> On 5. Jul 2019, at 22:40, Ludovic Courtès <[email-masked]> wrote:
>> 
>> Hi,
>> 
>> Robert Vollmert <[email-masked]> skribis:
>> 
>>> rob@garp ~/guix$ nano gnu/packages/haskell.scm 
>>> rob@garp ~/guix$ ./pre-inst-env guix build ghc-ansi-wl-pprint
>> 
>> I’d suggest running “make” once you’ve edited a file.
>> 
>> It’s not strictly necessary (Guile then simply evaluates code instead of
>> running compiled code), but it will allow you to get rid of these
>> warnings, the compiler might warn you ahead of time of possible
>> mistakes, and the whole thing will be slightly faster.
>> 
>> Does that make sense?
>
> It does make sense. However once again my complaint is a bit more about the
> developer experience than how to work around the current state. I feel that
> a situation where the obvious thing works but is painful (guile debug spam,
> slowness) and you need to learn to do things differently (always run make first,
> which frequently causes work you don’t even care about, such as a guix-daemon
> recompile or po-file work) could be improved upon.

Yes I agree.  Things to have to be compiled at one point though.  We
could let Guile auto-compile code, but unfortunately that comes with its
own warts: the equivalent of “make clean-go”, for instance when an ABI
incompatibility pops up, is “rm -rf ~/.cache/guile/ccache”, and that too
is something a developer has too learn, and one could argue that it’s
less familiar than “make” or “make clean.”

So, I’m not satisfied with the ./pre-inst-env and ‘make’ workflow, but
we have yet to come up with a concrete proposal for a better workflow.

> Concretely, this bug report is in response to
> https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00009.html
>
> In that spirit, “you should run make first” is not answer I’m completely
> happy with. :)

I was trying to address the “I see recompilation messages” issue that
you raised in the current framework.  I didn’t initially interpret the
bug report as a call for a new workflow.

Thanks,
Ludo’.