Hey Ludovic :) ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Tuesday, May 4, 2021 3:49 PM, Ludovic Courtès <l...@gnu.org> wrote:
> Hi Luis! > > Luis Felipe luis.felipe...@protonmail.com skribis: > > > Are all these constants (%base-packages, for example)? Is this a Guix > > convention or does it come from Guile? > > To complement Leo’s answer… The ‘%’ convention comes from Guile, which > may have borrowed it from other Schemes. I did find uses of the percent sign in other Scheme code (e.g. http://science.slc.edu/~jmarshall/metacat/)but enclosing the whole name. For instance (Metacat-1.2/Metacat/constants.ss): ;; Default window sizes (define %default-trace-width% #f) (define %default-trace-height% #f) (define %virtual-trace-length% #f) > Initially, it was meant to > read as “sys” (“system”), as can be seen in libguile, meaning that a > percent-binding somehow belongs to “the system”: ‘%load-path’, > ‘%make-void-port’, ‘%load-hook’, etc. Ah, I see. > In Guix it’s used with an extending meaning, typically for variables > holding Guixy constants: ‘%base-packages’, ‘%setuid-programs’, > ‘%desktop-services’, etc. I hope it makes some sense! It does. Thanks for the explanation.