Subject: bug#56114: Guix does not have a documented general and practical procedure for lowering a single lowerable object to the /gnu/store/... string.

From: zimoun <[email-masked]>
Date: Tue, 5 Jul 2022 12:13:27 +0200

Hi,

On Tue, 5 Jul 2022 at 09:57, Ludovic Courtès <[email-masked]> wrote:

> I don’t take comments about unrelated things.  ;-)

So one more. ;-)

> As someone who writes gexps and manipulates “file-like objects”, it
> doesn’t matter whether a thing lowers to a derivation or to a plain
> store item.  What matters is that you can insert it in a gexp and it’ll
> do the right thing.  That’s why the docstrings don’t insist on that
> difference.
>
> Hope it makes sense!

The difference is explained nowhere and to understand why the returned
call is different, then one has to read the code; it is what I did.
:-)

Well, "do the right thing" is an expectation based on an understanding
about what the "right thing" means. :-)  When I am manipulating
"file-like objects", I am always confused by what it means and thus it
appears to me that it does not "do the right thing" and it is hard to
understand why.

Yes it makes sense to not insistt on that difference once you have
clear understanding of this very difference.  However, when learning
G-Exp -- which is already unusual -- "file-like objects" and how to
manipulate them is hard to grasp because the difference is never
written down.  I still think the docstring or the manual should
mention such difference.

        Explicit is better than implicit.
        In the face of ambiguity, refuse the temptation to guess.

        – The Zen of Python, by Tim Peters –

Anyway!  That's unrelated. ;-)

Cheers,
simon