Brad, thanks for your reply.
I accept your point on not calling $-variables "generic variables",
but then how do you call them?

The same with the other 3. You described what they do in the same way
as the documentation does, but
when you casually speak about them, you know, with friends in bar :-),
 what do you call them then? e.g.:

@a = 23, 14, 49;

Do you say:
"I assign the list on the right hand side to a variable that does the
Positional role."    ?
or
"I assign the list on the right hand side to an array."     ?
or
"I assign the list on the right hand side to an at-variable."     ?
or
Something completely different.

Gabor



On Sat, Jun 10, 2017 at 7:21 AM, Brad Gilbert <b2gi...@gmail.com> wrote:
> @ does the Positional role
> % does Associative
> & does Callable
> $ causes its value to be an item (its values do not flatten into an
> outer list when you use `flat`)
>
>     my %hash is SetHash;
>
> Array does Positional, and all of its values are itemized
>
> We are unlikely to call $ variables "generic" because the word
> "generic" is too generic.
> For example Java has generics, and they are not variables.
> Why muddy the waters by using a word that has many different meanings
> in different programming languages?
>
> On Fri, Jun 9, 2017 at 1:21 AM, Richard Hainsworth
> <rnhainswo...@gmail.com> wrote:
>> It also seems to me that 'scalar' gives the wrong impression compared to
>> arrays. A scalar in a vector is a component of a vector.
>>
>> I was thinking of "generic".
>>
>> Hence "$variable" is a generic variable because it can hold any type of
>> content.
>>
>>
>>
>> On Friday, June 09, 2017 02:10 PM, Gabor Szabo wrote:
>>>
>>> Looking at https://docs.perl6.org/language/variables there are 4
>>> variable types with sigil:  $, @, %, &.
>>> In Perl 5 I used to call them scalar, array, hash, and function
>>> respectively, even if the scalar variable had a reference to an array
>>> in it.
>>>
>>> How do you call them in Perl 6?
>>>
>>> As I understand @ always holds an array (@.^name is always Array or
>>> some Array[type]). Similarly % always holds a hash and & is always a
>>> function or a method.
>>> So calling them array, hash, and function sounds good.
>>>
>>> However I am not sure what to call the variables with a $ sigil?
>>> Should they be called "scalars"? Wouldn't that case confusion as there
>>> is also a container-type called Scalar.
>>>
>>> The word "scalar" appears twice in the document describing the
>>> variables: https://docs.perl6.org/language/variables and a total of
>>> 135 in the whole doc including the 5to6 documents and the document
>>> describing the Scalar type.
>>> The document describing the Scalar type:
>>> https://docs.perl6.org/type/Scalar the term "$-sigiled variable" is
>>> used which seems to be a bit long for general use.
>>>
>>> So I wonder how do *you* call them?
>>>
>>> Gabor

Reply via email to