guix-devel
[Top][All Lists]
Advanced

[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.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]