Subject: bug#38529: Make --ad-hoc the default for guix environment proposed deprecation mechanism

From: Ludovic Courtès <[email-masked]>
Date: Tue, 31 Dec 2019 19:09:22 +0100

Hi!

Ricardo Wurmus <[email-masked]> skribis:

> zimoun <[email-masked]> writes:

[...]

>> What about "guix spawn"?
>
> “spawn” is a very generic verb, much like “enter” (enter what?) or
> “make”.  “shell” has the awkward property of meaning different things
> dependent on how you interpret it: “to shell” means to *remove* an outer
> shell (like that of a nut) whereas “guix shell” as a noun would imply
> *wrapping“ something in a shell.  It sends mixed signals.  We’d probably
> want people to understand it as ‘spawn a command line shell’, but that’s
> really not the primary purpose of ‘guix environment’.

Yeah.

> Thinking about words some more I started to wonder: do we want verbs or
> nouns?

I think verbs are preferred, but nouns are accepted.  :-)

For example, ‘time-machine’ was recently introduced, but I find it nice
that way; ’travel-in-time’ wouldn’t be better.

It’s much like Scheme APIs: we use nouns for object properties (like
‘commit-parent’) and verbs for things that are best viewed as actions
(like ‘fold’).  This is all subjective in a functional setting!

> If we were looking for verbs that express the idea of creating an
> environment or to place a thing inside of an environment we could use
> one of these:
>
>    to envelop (envelop what though?  This seems to require two objects.)
>    to arrange (kinda misses the point)
>    to stage (in the theatric sense)
>    to frame (not in the criminal sense)
>    to contain (…the resulting process in a possibly leaky environment)
>    to join (…all these packages to form a new whole)
>    to group (…all these packages)
>
> (As a bonus: ‘to environ’ exists, but it suffers from the same problem
> as ‘to envelop’.)
>
> Here are some nouns that might work:
>
>    scene
>    frame
>    context
>    union
>
> All of them are shorter than “environment”!  :)

More data points!  :-)

--8<---------------cut here---------------start------------->8---
$ wn environment -synsn

Synonyms/Hypernyms (Ordered by Estimated Frequency) of noun environment

2 senses of environment                                                 

Sense 1
environment
       => situation, state of affairs

Sense 2
environment, environs, surroundings, surround
       => geographical area, geographic area, geographical region, geographic region
$ wn environ -synsv

Synonyms/Hypernyms (Ordered by Estimated Frequency) of verb environ

1 sense of environ                                                      

Sense 1
surround, environ, ring, skirt, border
       => touch, adjoin, meet, contact
--8<---------------cut here---------------end--------------->8---

Maybe “union”, “surround”, or… “profile”?

(I’d reserve “guix spawn” or “guix run” for the tool that runs commands
in a least-authority environment, as we’ve discussed in the past.)

Ludo’.