[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What's the meaning of the percent sign in variable names
From: |
Luis Felipe |
Subject: |
Re: What's the meaning of the percent sign in variable names |
Date: |
Wed, 05 May 2021 14:18:25 +0000 |
Hey Ludovic :)
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Tuesday, May 4, 2021 3:49 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> Hi Luis!
>
> Luis Felipe luis.felipe.la@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.