From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33409) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d7zTC-0008F7-KG for guix-patches@gnu.org; Tue, 09 May 2017 03:22:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d7zT8-0006Fg-Kv for guix-patches@gnu.org; Tue, 09 May 2017 03:22:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:57884) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d7zT8-0006Fc-H2 for guix-patches@gnu.org; Tue, 09 May 2017 03:22:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d7zT8-0007tL-9i for guix-patches@gnu.org; Tue, 09 May 2017 03:22:02 -0400 Subject: bug#26339: [PATCH v2 01/12] system: Pass to grub. Resent-Message-ID: Date: Tue, 9 May 2017 09:21:10 +0200 From: Danny Milosavljevic Message-ID: <20170509092110.2457f4a0@scratchpost.org> In-Reply-To: <878tm6bjh7.fsf@gnu.org> References: <20170417090148.13791-1-m.othacehe@gmail.com> <20170417090148.13791-2-m.othacehe@gmail.com> <87zienofiy.fsf@gnu.org> <20170508155109.19fa060d@scratchpost.org> <874lwvku5q.fsf@gnu.org> <20170508220415.0a18be95@scratchpost.org> <878tm6bjh7.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 26339@debbugs.gnu.org Hi Ludo, On Tue, 09 May 2017 09:03:00 +0200 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > No apparently it worked on Hydra (but as I wrote before, the way > build-aux/compile-all.scm builds things doesn=E2=80=99t catch > macro-used-before-defined errors, so testing locally doesn=E2=80=99t help= much). Hmm, but aren't the .go files the compiled files? I've removed those befor= e testing. And the guix script has "--no-auto-compile". I don't really und= erstand this part yet... > I was concerned that @@ would effectively cause the same problem as > #:use-module, but apparently that=E2=80=99s fine. The idea was that it would load the module just in time when the procedure = is executed. In any case, module-ref can't hurt either, so that's in maste= r now. > We=E2=80=99ll keep reviewing/merging the rest of the series, which appare= ntly > provides a nicer bootloader abstraction. It does. I think the state in master now is good and we can review the rem= ainder at our leisure and I can stop hot-fixing things now. Phiew... :) > There=E2=80=99s some flakiness, but I think the circular dependency in th= is case > was the consequence of a half-baked abstraction. Yeah... > I think it remains easy to refactor GuixSD, especially now that we have > system tests. Let=E2=80=99s not throw the baby out with the bath water. = ;-) True, it's okay. Though, it would be nice if there was a way to run the interpreted version = locally - without it taking several hours each time. Would it be possible = for guile to have some static analysis that catches these things? Doesn't = seem that difficult: Just walk the modules, remember when you see record de= finitions, remember when you see record usage. In fact I'll write a throwa= way script to do just that for next time. (I've already got my Makefile ge= nerator to find Guile module cycles :) )