[perl #131510] [SEGV] Segfault when `-Ilib` while running a file that does `use lib ` and loads some modules

2017-06-10 Thread Zoffix Znet via RT
Also noticed another failure mode in a more recent version[^1] of the test file:

fails (likely due to segv): prove -e 'perl6 -Ilib' -r   t/03-DESTROY.t
succeeds:   prove -e 'perl6 -Ilib' -vlr t/03-DESTROY.t

And removing the `-Ilib` from prove line didn't help it, but removing the `use 
lib` from the
test file and using solely -Ilib avoided the problem.


[1] 
https://github.com/zoffixznet/perl6-Temp-Path/blob/0c2d855ffd4e602aafc34297f17d2a428c080cdd/t/03-DESTROY.t


[perl #131510] [SEGV] Segfault when `-Ilib` while running a file that does `use lib ` and loads some modules

2017-06-10 Thread Zoffix Znet via RT
Also noticed another failure mode in a more recent version[^1] of the test file:

fails (likely due to segv): prove -e 'perl6 -Ilib' -r   t/03-DESTROY.t
succeeds:   prove -e 'perl6 -Ilib' -vlr t/03-DESTROY.t

And removing the `-Ilib` from prove line didn't help it, but removing the `use 
lib` from the
test file and using solely -Ilib avoided the problem.


[1] 
https://github.com/zoffixznet/perl6-Temp-Path/blob/0c2d855ffd4e602aafc34297f17d2a428c080cdd/t/03-DESTROY.t


[perl #131553] IO::Socket::INET mishandles IPv6

2017-06-10 Thread via RT
# New Ticket Created by  zengargoyle 
# Please include the string:  [perl #131553]
# in the subject line of all future correspondence about this issue. 
# https://rt.perl.org/Ticket/Display.html?id=131553 >


$ perl6 -e 'say so IO::Socket::INET.new( :host<127.0.0.1>, :port(80));'
True

perl6 -e 'say so IO::Socket::INET.new( :host<127.0.0.1>, :port(80) :family(3));'
True

$ perl6 -e 'say so IO::Socket::INET.new( :host<::1>, :port(80) :family(3));'
True

$ perl6 -e 'say so IO::Socket::INET.new( :host<::1>, :port(80));'
Failed to resolve host name
  in block  at -e line 1


The :host<> of IO::Socket::INET should be agnostic as to IP protocol version.
When given a hostname (or IPv*) there is no distinction between the versions.
The current behavior will cause mysterious failures and is not consistent.


[perl #131552] [BUG] «||=« leads to Non ast passed to WANTED: NQPMu␤Non ast passed to WANTED: NQPMu␤Weird node in analyze

2017-06-10 Thread via RT
# New Ticket Created by  Zoffix Znet 
# Please include the string:  [perl #131552]
# in the subject line of all future correspondence about this issue. 
# https://rt.perl.org/Ticket/Display.html?id=131552 >


 m: dd "".split("=", 2) «||=« ''
 rakudo-moar 8b86b5: OUTPUT: «Non ast passed to WANTED: NQPMu␤Non ast 
passed to WANTED: NQPMu␤Weird node in analyze: NQPMu␤===SORRY!===␤Unknown QAST 
node type NQPMu␤»


Re: How do you call the variable types?

2017-06-10 Thread Brent Laabs
I thought:
$ is Scalar
@ is Array
% is Hash
& is a function

> my $x; say $x.VAR.WHAT;
(Scalar)

A dollar variable is a scalar.  The Scalar type is the the container for
the dollar-variables, just like Array is the container for @array and Hash
is the container for %hash.  Of course we also have this...
> my  
(Scalar)

It turns out functions are stored in Scalar containers as well.  In my view
it's a form of syntactic sugar to be able to to use function names without
a sigil in Perl 6.  A declared function is just an object; `sub foo {}` is
saved in the current lexical scope as   These function calls are all
equivalent:
> my  = sub { say "called" };
sub () { #`(Sub|140204743370112) ... }
> x()
called
> ()
called
> my $y =  $y();
called

(Though multi subs would be much more complex to declare this way.)


On Fri, Jun 9, 2017 at 9:51 PM, Gabor Szabo  wrote:

> 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  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
> >  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
>