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