Subject: Re: [bug#62356] [PATCH guix-artwork] website: posts: Add Dissecting Guix, Part 3: G-Expressions.

From: "(" <[email-masked]>
Date: Wed, 12 Apr 2023 17:06:18 +0100

Hi,

Thanks for the review! :D

Simon Tournier <[email-masked]> writes:
>> +The shortcomings of using s-expressions in this way are numerous: we have to
>> +convert everything to a derivation before using it, and _inputs are not an
>> +inherent aspect of the builder_.  G-expressions were designed to overcome these
>> +issues.
>
> Here I would link to the paper introducing G-expressions,
>
>     https://hal.inria.fr/hal-01580582v1

Good idea.  I'll do that :)

> Well, maybe it is a bit stretching and is probably not natural at all
> but I would try to introduce some unquote in sexp-builder.  I think it
> would help to see the parallel between S-exp and G-exp; well how G-exp
> extend S-exp as you explained in the introduction.

I'll try, but no guarantees I'll be able to make that make sense.

> From a stylistic point of view, I would write ’S-expressions’ in plain
> and not S-exps or sexps…
>
> …Similarly for G-expression.  Both over all the post.  Except when it
> refers to code as ’gexp-builder’.

Okay.

> Before the brief digression, I would do another. ;-)  Mention ,build and
> ,lower from “guix repl”.

,LOWER is mentioned in part 1
<https://guix.gnu.org/en/blog/2023/dissecting-guix-part-1-derivations/>;
I should have mentioned ,BUILD there too, but it's too late now, and
I don't think such an explanation fits a post meant to explain how gexps
work.

> Hum, maybe #~' needs an explanation.  Well, using G-expressions, I am
> missing why Schemers are complaining about Haskell syntax. ;-)

Heh :)  (I think it's more to do with Haskell's complexity than ease of
reading.)  I'll try to add a short note there.

> Here, I would link to another introduction of G-expression,
>
>     https://archive.fosdem.org/2020/schedule/event/gexpressionsguile/
>
> or maybe in the Conclusion section.

Yeah, I'll put the other references in the Conclusion.

> Maybe instead of ’silly’, I would pick another name as ’simple’ or
> ’empty’ or ’trivial’ or ’not-serious’ or else. :-)
>
> And similarly for snippets from above.

Okay.

> Maybe, you could link to Arun’s or Marius’s posts; for the ones I am
> aware of. :-)
>
> https://www.systemreboot.net/post/deploy-scripts-using-g-expressions
> https://gexp.no/blog/guix-drops-part-3-g-expressions.html

Yup, and the FOSDEM talk in the same place.