From mboxrd@z Thu Jan 1 00:00:00 1970 From: Catonano Subject: some code Date: Mon, 6 Jun 2016 17:05:06 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11439870dc1e1605349d6535 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b9w5U-0006jx-W8 for help-guix@gnu.org; Mon, 06 Jun 2016 11:05:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b9w5T-0004gf-TK for help-guix@gnu.org; Mon, 06 Jun 2016 11:05:08 -0400 Received: from mail-it0-x233.google.com ([2607:f8b0:4001:c0b::233]:38274) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b9w5T-0004fZ-OJ for help-guix@gnu.org; Mon, 06 Jun 2016 11:05:07 -0400 Received: by mail-it0-x233.google.com with SMTP id i65so37633924ith.1 for ; Mon, 06 Jun 2016 08:05:07 -0700 (PDT) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org --001a11439870dc1e1605349d6535 Content-Type: text/plain; charset=UTF-8 There's a piece of code (in the Emacs build system) I don't understand In "guix/build-system/emacs.scm" on line 97 there's a call to a function called "emacs-build" Such call is inside the body of "emacs-build" itself. As it is common in scheme, a function is calling itself (recursively) Now, I read the SICP and the discussion about functions implementing processes that can be iterative or recursive (in both cases the function calls itself) But I don't understand what is going on here Why is "emacs-build" calling itself ? Is this an iterative or recursive process ? And what value is this calculating ? I see that the result of this calculation (" (define builder..." ) is passed as an argument to "build-expression->derivation" a few lines below But I don't get what build-expression->derivation is receiving really. Also what's with that "define*" ? Is there a manual page describing it ? I couldn't find it --001a11439870dc1e1605349d6535 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
There's a piece of code = (in the Emacs build system) I don't understand

In "gu= ix/build-system/emacs.scm" on line 97 there's a call to a function= called "emacs-build"

Such call is inside the body o= f "emacs-build" itself. As it is common in scheme, a function is = calling itself (recursively)

Now, I read the SICP and the disc= ussion about functions implementing processes that can be iterative or recu= rsive (in both cases the function calls itself)

But I don'= t understand what is going on here

Why is "emacs-build&qu= ot; calling itself ? Is this an iterative or recursive process ?

And what value is this calculating ?

I see that the result of this calculation ("=C2=A0 (define builder.= .."=C2=A0 ) is passed as an argument to "build-expression->der= ivation" a few lines below

But I don't get what = build-expression->derivation is receiving really.

Also= what's with that "define*" ? Is there a manual page describi= ng it ? I couldn't find it


--001a11439870dc1e1605349d6535--