guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using #true and #false everywhere?


From: Andreas Enge
Subject: Re: Using #true and #false everywhere?
Date: Tue, 20 Oct 2020 12:32:44 +0200

And since we are on the bikeshedding front, I feel like writing a second
message.

On Fri, Oct 16, 2020 at 12:38:23PM +0200, Ludovic Courtès wrote:
> As discussed on IRC recently, several of us think that using “#true” and
> “#false” instead of “#t” and “#f” throughout or documentation and code
> would probably make it easier for newcomers to decipher that.

Honestly, I think either of them is sufficiently easy to understand, in the
presence of much more difficult questions:
- The "non-typedness of booleans": Does "(if 1 2 3)" raise an exception or
  work, and if the latter is true, what is the result? And if I replace
  "1" by "0" or the empty list? (In Guix, this is related to the question:
  Do I need to add #t or #f at the end of a phase, or is the value of its
  last statement sufficient?)
- What are the different procedures for comparing things?
- What are quotes, quasiquotes, unquotes? How do they relate to code staging
  in Guix? (This is to me the most difficult part of Guix code, in particular
  for someone coming from a language where code is code and data are data.)
- Actually, why are there two ways to define literal lists? Do they have
  the same result? This is a mixture of the previous two questions; try
     (eq? '(1) '(1))
  vs.
     (eq? '(1) (list 1))
  or
     (eq? (list 1) (list 1))
  Then try again with eqv? and equal?.
  Then try again with "(eq? '() (list))" and so on. (This one still
  surprises me.)
  Does it matter? (Probably not much in the context of Guix.)
- If I want to know what are and what happens in the phases of
  the perl build system, do I look in build/perl-build-system.scm or
  build-system/perl.scm? Why is there no build-system/perl-build-system.scm
  or build/perl.scm instead? (Just a little trolling at the end of my post,
  no real harm intended ;-) But I am honestly unable to remember the answer,
  and look at the two files every time I wonder about a build system, which
  is of course entirely feasible, some might even argue instructional.)

Andreas




reply via email to

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