From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] build: pull: Compile .scm files in one process. Date: Mon, 30 Nov 2015 14:04:55 +0100 Message-ID: <87h9k3ab9k.fsf@gnu.org> References: <87si4kxtge.fsf@T420.taylan> <87611gdul8.fsf@gnu.org> <87h9kzy09b.fsf@T420.taylan> <87bnb6c0nh.fsf@gnu.org> <874mgyxhgy.fsf@T420.taylan> <877flpohu6.fsf@gnu.org> <87mvuku444.fsf@T420.taylan> <87pozgfyzt.fsf@gnu.org> <87io57tt2s.fsf@T420.taylan> <876117mnef.fsf@igalia.com> <87egfvtnbw.fsf@T420.taylan> <87y4e3l7hm.fsf@igalia.com> <87a8qjtje8.fsf@T420.taylan> <876117t0ax.fsf@gnu.org> <877flmrn2m.fsf@T420.taylan> <87a8q0ies5.fsf@gnu.org> <87fuzrlt6f.fsf@T420.taylan> <87bnafbvrs.fsf@gnu.org> <87bnaflbg2.fsf@T420.taylan> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3O8d-0001HF-3a for guix-devel@gnu.org; Mon, 30 Nov 2015 08:05:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3O8Y-0001UL-JL for guix-devel@gnu.org; Mon, 30 Nov 2015 08:05:03 -0500 In-Reply-To: <87bnaflbg2.fsf@T420.taylan> ("Taylan Ulrich \=\?utf-8\?Q\?\=5C\=22Bay\=C4\=B1rl\=C4\=B1\=2FKammer\=5C\=22\=22's\?\= message of "Fri, 27 Nov 2015 16:16:29 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Taylan Ulrich =?utf-8?Q?=22Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer=22?= Cc: guix-devel@gnu.org taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") skribis: > After some tinkering around I realized that the problem is that our > workaround of loading files explicitly causes the package record type to > be redefined after some packages have already been defined. More > generally, we force the top-level of many files to be re-executed after > they've already been executed as a result of a module import... > > It would be great if the whole circular import problem could somehow be > solved by Guile (no idea how feasible it is). On the meanwhile, we'll > have to work around problems introduced by workarounds. :-) I think we=E2=80=99ve gone way too far in kludgeland. ;-) The other idea I had, and which is known to work, it to rely exclusively on auto-compilation. By definition, Guile=E2=80=99s auto-compilation mode = will compile things in the right order, thereby allowing us to compile everything in one process. Probably not parallelizable though, since this is under Guile=E2=80=99s control, not ours. Would you like to play with that? Otherwise I can give it a try later. Thank you, Ludo=E2=80=99.