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: Ludovic Courtès
Subject: Re: Using #true and #false everywhere?
Date: Wed, 21 Oct 2020 12:20:38 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Hi,

Andreas Enge <andreas@enge.fr> skribis:

> 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:

Writing #true instead of #t will not make the language immediately
obvious to everyone.  You’re right about those other pitfalls.

To me it’s really about the height of the barrier to entry: I view this
change as a simple way to lower it by a bit.  I did hear comments from
newcomers who just wanted to package something and stared at those #t/#f
wondering what it could mean.  Vagrant shared a similar experience.

There’s a convention in Scheme to spell things out for clarity, even
‘call-with-current-continuation’.  I do think it helps a great deal make
code more intelligible.  #t/#f are an exception to that rule.

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

There are examples of quote/unquote at
<https://www.gnu.org/software/guile/manual/html_node/Expression-Syntax.html>,
there’s also a discussion of code staging at
<https://guix.gnu.org/manual/devel/en/html_node/G_002dExpressions.html>,
but I gather it’s hard to grasp.

If you have suggestions on how to improve documentation on these topics,
I’m all ears!

Recently I’ve been working on the manual in the spirit of making it
easier to get started using the Scheme APIs, for packaging in
particular, and what we’re discussing here goes in the same direction.

Thanks,
Ludo’.



reply via email to

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