Mathieu Lirzin <m...@gnu.org> skribis:

> Leo Famulari <l...@famulari.name> writes:
>
>> On Tue, Mar 15, 2016 at 11:53:33AM +0300, Alex Kost wrote:
>>> Leo Famulari (2016-03-15 02:34 +0300) wrote:
>>> 
>>> [...]
>>> >  (define-public python2-llfuse
>>> > -  (package-with-python2 python-llfuse))
>>> > +  (package (inherit (package-with-python2
>>> > +                 (strip-python2-variant python-llfuse)))
>>> > +    (propagated-inputs `(("python2-contextlib2" ,python2-contextlib2)))))
>>> > +
>>> > +;; For attic@0.16
>>> > +(define-public python-llfuse@0.41
>>> 
>>> All our package variables use '-' to separate name and version.  I think
>>> this is good choice and we shouldn't use '@' in variable names.
>>
>> Okay, I replaced all use of '@' with '-'.
>>
>> Is the '@' syntax is only meant to be used on the command line?
>
> This syntax has appeared to solve some limitations in the command line
> interface which was failing to properly match package names containing
> numbers.
>
> I think it is OK to use it elsewhere as long as it does not break
> things.  However in the case of scheme variables, I think it is not a
> good idea to use '@' because it could lead people into thinking that
> there is a strong relation between typing ‘guix build foo@14’ and
> defining a variable named ‘foo@14’.

Furthermore ‘@’ (at sign) has a special meaning in Guile (info "(guile)
Using Guile Modules"), so even though it’s currently valid within an
identifier, I’d suggest avoiding it.

Ludo’.

Reply via email to