From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: G expressions Date: Mon, 28 Apr 2014 09:43:16 +0200 Message-ID: <87fvkxew6j.fsf@gnu.org> References: <871twneldl.fsf@gnu.org> 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]:49613) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WegDo-0006a7-Lm for guix-devel@gnu.org; Mon, 28 Apr 2014 03:43:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WegDf-0005zM-Lk for guix-devel@gnu.org; Mon, 28 Apr 2014 03:43:28 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:48009) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WegDf-0005zG-Ek for guix-devel@gnu.org; Mon, 28 Apr 2014 03:43:19 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 9894421CB for ; Mon, 28 Apr 2014 09:43:17 +0200 (CEST) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mUp+JAkwNUKo for ; Mon, 28 Apr 2014 09:43:17 +0200 (CEST) Received: from pluto (pluto.bordeaux.inria.fr [193.50.110.57]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 6B912CBF for ; Mon, 28 Apr 2014 09:43:17 +0200 (CEST) In-Reply-To: <871twneldl.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 24 Apr 2014 00:23:02 +0200") 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: guix-devel@gnu.org Hello! I=E2=80=99ve been experimenting with gexps in all the contexts with it seem= ed =E2=80=9Cobviously=E2=80=9D useful and in some other places under gnu/{syst= em,services} (see the commits that say =E2=80=9CRewrite using gexps=E2=80=9D in wip-gexp= .) It=E2=80=99s pretty cool: these patches remove ~200 lines (more than 5% of = the code in those directories!), and the resulting code is much more readable IMO, and less error-prone. For instance, the =E2=80=98inputs=E2=80=99 field of service definitions (in= fo "(guix) Defining Services") is no longer needed; instead we just use a gexp for the start and stop expressions, and that carries all the necessary dependency info. I=E2=80=99ll write documentation and merge it real soon now. Ludo=E2=80=99.