guix-devel
[Top][All Lists]
Advanced

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

Re: GSOC draft


From: Ludovic Courtès
Subject: Re: GSOC draft
Date: Sat, 26 Mar 2016 15:15:09 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Alex Vong <address@hidden> skribis:

> First, I have withdrawn my proposal since I think it is not good enough.
> Of course I will be exploring guix during summer, since it is a fun
> thing to do. My original thought is to first port a working make-like
> tool and then change it to output g-exps instead of actually performing
> the build.

OK.

>> I would suggest looking at the prototype Make replacement that Eelco
>> Dolstra wrote as part of his PhD thesis on Nix:
>>
>>   http://nixos.org/~eelco/pubs/phd-thesis.pdf (Chapter 10)
>>
> Thanks for the link to the paper. The paper mentioned nix expression. Is
> that what g-exp based on?

G-exps borrow from s-exps (obviously), client-side expression quoting in
HOP¹ (~ and $ come right from there; HOP implements things using
built-in compiler tricks whereas g-exps simply rely on macros, and of
course HOP and g-exps both implement staging but with different
constraints/goals), and string interpolation in Nix.

> What are their name in the case of store-monad?

(guix monads) provides ‘>>=’ and ‘return’.  There’s additional syntactic
sugar such as ‘mlet’, and helpers such as ‘lift’, ‘foldm’, ‘mapm’, etc.
This is partly covered in:

  https://www.gnu.org/software/guix/manual/html_node/The-Store-Monad.html

(Most of the section is not specific to ‘%store-monad’.)

>> There’s also this defunct project about a Make replacement in Guile (not
>> connected to Guix and Nix):
>>
>>   http://home.gna.org/conjure/
>>
> The homepage does not mention guile, is conjure written in guile?

It’s written in Guile I think.  Just mentioned it as a possible source
of inspiration for the EDSLs or APIs it provides.

> Finally, I suggest talking about the monad in the next Guix talks,
> I "assert" people will love it!

Heh, noted.  :-)

Thanks,
Ludo’.

¹ http://hop.inria.fr



reply via email to

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