On Tue, Apr 12, 2005 at 06:22:13PM +0200, Thomas Sandlaß wrote:
I've edited the above syntax into S06 and A06. The two patches
are attached but I don't know if you are the right one to sent
them to. Whom should I sent such patches? I just saw you applying
other patches as well.
Applied,
Austin Hastings wrote:
So if $$ref gives the 'all the way down' behavior, how do I get just
one layer down dereferencing?
How about:
my XMLnode $x = parseXML( file.xml );
do_something( $x.down.down.down.item[17].up.up.body.down.down );
Details of class XMLnode and friends left as an excercise ;)
Larry Wall wrote:
: Is a closure return type indicated with this siglet syntax, too?
:
: sub foo :(Str,Int) of :(Any) {...}
You would need :() only to group multiple siglets into a single type.
So an Any can stand on its own.
Ohh, interessting! I wanted to express a return value type that
is a
Larry Wall wrote:
Yes. It should complain that = is not a valid type signature.
Any foo (or foo:...) followed by ... should be parsed as a single
term selecting the function that MMD would dispatch to given that
type signature.
And I guess it's not allowed to have interspersed whitespace unless
Thomas Sandla writes:
Larry Wall wrote:
Yes. It should complain that = is not a valid type signature.
Any foo (or foo:...) followed by ... should be parsed as a single
term selecting the function that MMD would dispatch to given that
type signature.
And I guess it's not allowed to have
On Wed, Apr 06, 2005 at 04:31:08PM +0200, Thomas Sandlaß wrote:
: Larry Wall wrote:
: Yes. It should complain that = is not a valid type signature.
: Any foo (or foo:...) followed by ... should be parsed as a single
: term selecting the function that MMD would dispatch to given that
: type
On Wed, Apr 06, 2005 at 10:07:33AM -0600, Luke Palmer wrote:
: Thomas Sandlaß writes:
: Larry Wall wrote:
: Yes. It should complain that = is not a valid type signature.
: Any foo (or foo:...) followed by ... should be parsed as a single
: term selecting the function that MMD would dispatch
HaloO Larry,
you wrote:
for ordinary functions. If it gets really popular people might
even start writing:
sub foo :(Str,Int) {...}
I like it, but that could mean it will not become popular :))
And this is also nice:
sub foo :(Str,Int) of Str {...}
Is a closure return type indicated with this
On Mon, Apr 04, 2005 at 06:50:11PM +0200, Thomas Sandlaß wrote:
: Juerd wrote:
: And will Perl 6 reference values rather than their containers, that is:
: will \$foo differ when $foo gets a new value, just as in Python id(foo)
: changes after foo += 1?
:
: Depends on the definition of the
Larry Wall skribis 2005-04-06 11:10 (-0700):
$$ref follow the ref list to the actual object.
my $foo;
my $bar = \$foo;
my $quux = \$bar;
my $xyzzy = \$quux;
How then, with only $xyzzy, do you get $bar? $$xyzzy would follow until
$foo. I don't like this at all.
On Wed, Apr 06, 2005 at 07:22:48PM +0200, Thomas Sandlaß wrote:
: HaloO Larry,
:
: you wrote:
: for ordinary functions. If it gets really popular people might
: even start writing:
:
: sub foo :(Str,Int) {...}
:
: I like it, but that could mean it will not become popular :))
: And this is
On Wed, Apr 06, 2005 at 08:24:23PM +0200, Juerd wrote:
: Larry Wall skribis 2005-04-06 11:10 (-0700):
: $$ref follow the ref list to the actual object.
:
: my $foo;
: my $bar = \$foo;
: my $quux = \$bar;
: my $xyzzy = \$quux;
:
: How then, with only $xyzzy, do you get
On Wed, Apr 06, 2005 at 11:30:35AM -0700, Larry Wall wrote:
If you want to help, earn a billion dollars and write me into your
will. And then peg out. Nothing personal. :-)
Larry
Darn. So far, I'm, 0 for 3 on that plan.
However, I promise that item two will follow very shortly in
time
Larry Wall wrote:
On Wed, Apr 06, 2005 at 08:24:23PM +0200, Juerd wrote:
: Larry Wall skribis 2005-04-06 11:10 (-0700):
: $$ref follow the ref list to the actual object.
:
: my $foo;
: my $bar = \$foo;
: my $quux = \$bar;
: my $xyzzy = \$quux;
:
: How then, with only $xyzzy,
On Wed, Apr 06, 2005, Larry Wall wrote:
I think it's time to break out
the colon again and use something like:
infix:+:(Complex, Complex);
or
foo:(Str,Int)
for ordinary functions. If it gets really popular people might
even start writing:
sub foo :(Str,Int) {...}
Larry Wall skribis 2005-04-06 11:37 (-0700):
: my $foo;
: my $bar = \$foo;
: my $quux = \$bar;
: my $xyzzy = \$quux;
: How then, with only $xyzzy, do you get $bar? $$xyzzy would follow until
: $foo. I don't like this at all.
You can't get at $bar anyway. You can only get at
On Wed, 2005-04-06 at 14:37, Larry Wall wrote:
On Wed, Apr 06, 2005 at 08:24:23PM +0200, Juerd wrote:
: Larry Wall skribis 2005-04-06 11:10 (-0700):
: $$ref follow the ref list to the actual object.
:
: my $foo;
: my $bar = \$foo;
: my $quux = \$bar;
: my $xyzzy =
On Wed, Apr 06, 2005 at 02:43:55PM -0500, Patrick R. Michaud wrote:
: On Wed, Apr 06, 2005, Larry Wall wrote:
: I think it's time to break out
: the colon again and use something like:
:
: infix:+:(Complex, Complex);
:
: or
:
: foo:(Str,Int)
:
: for ordinary functions. If
Juerd wrote:
Thomas Sandlaß skribis 2005-04-04 18:50 (+0200):
In particular what does infix=Scalar of Ref of Ref of Int,Int do?
Depends. What does it mean? :)
Specifically, what is infix, what is =?
Ups, a missing : warps this to a completly different meaning!
Comparing a coderef infix with the
On Tue, Apr 05, 2005 at 06:38:43PM +0200, Thomas Sandlaß wrote:
: Ups, a missing : warps this to a completly different meaning!
: Comparing a coderef infix with the comparison operator =
: to the word list 'Scalar of Ref of Ref of Int,Int'.
:
: I tried to ask what infix:=Scalar of Ref of Ref of
Juerd wrote:
my $four := three;
Assuming you meant $three instead of three.
Indeed. Sorry.
my $five = 5;
$four = 4; # $one == 4 now?
No, $four (and thus $three, which it is bound to) is now 4. $three is a
reference, which is a value, which is now *replaced* with the new value.
OK. Then you need
Thomas Sandlaß skribis 2005-04-04 18:50 (+0200):
In particular what does infix=Scalar of Ref of Ref of Int,Int do?
Depends. What does it mean? :)
Specifically, what is infix, what is =?
'Scalar of Ref of Any' without dispatching to 'Ref of Int'. That means
References and aliasing should have
James Mastros skribis 2005-04-01 22:48 (+0200):
$x = 42;
$a = \$x but false;
$b = \$y but blue;
$a =:= $b ???
Even without the buts, that is:
$x = 42;
$a = \$x;
$b = \$x;
I strongly believe that $a =:= $b must be false. Assignment copies! $a
=:= $b should be true only if $a and
Larry Wall [EMAIL PROTECTED] wrote:
: On Thu, 2005-03-31 at 23:46 -0800, Darren Duncan wrote:
:
: In P6, an object is a data-type. It's not a reference, and any member
: payload is attached directly to the variable.
Well, it's still a reference, but we try to smudge the distinction in P6.
A
On Sat, Apr 02, 2005 at 11:06:01AM +0200, Juerd wrote:
: Is your view of the world like Python or like Perl 5?
Them's fightin' words. :-)
: Values have no identity in Perl 5.
That's slightly not true, insofar as Perl 5 distinguishes hash keys
by value (albeit filtered through stringification).
On Sat, Apr 02, 2005 at 11:22:43AM +0200, Leopold Toetsch wrote:
: Larry Wall [EMAIL PROTECTED] wrote:
: : On Thu, 2005-03-31 at 23:46 -0800, Darren Duncan wrote:
: :
: : In P6, an object is a data-type. It's not a reference, and any member
: : payload is attached directly to the variable.
:
:
On Thu, 2005-03-31 at 23:46 -0800, Darren Duncan wrote:
What I want to be able to do is compare two references to see if they
point to the same thing, in this case an object, but in other cases
perhaps some other type of thing.
Let's be clear about the difference between P5 and P6 here. In
On Thu, Mar 31, 2005 at 11:46:22PM -0800, Darren Duncan wrote:
: So, what is the operator for reference comparison?
The =:= operator is almost certainly what you want here.
Larry
Sam Vilain writes:
Darren Duncan wrote:
Now I seem to remember reading somewhere that '===' will do what I want,
but I'm now having trouble finding any mention of it.
So, what is the operator for reference comparison?
As someone who wrote a tool that uses refaddr() and 0+ in Perl 5 to
: On Thu, 2005-03-31 at 23:46 -0800, Darren Duncan wrote:
On Fri, Apr 01, 2005 at 08:04:22AM -0500, Aaron Sherman wrote:
:
: What I want to be able to do is compare two references to see if they
: point to the same thing, in this case an object, but in other cases
: perhaps some other type
On Fri, Apr 01, 2005 at 08:39:52AM -0700, Luke Palmer wrote:
: I'm pretty sure that =:= does what you want. If you have two scalar
: references, you might have to spell it like this:
:
: $$x =:= $$y
Unnecessary, I think. I want
$x =:= @y
to tell me whether the reference in $x is to
On Fri, 2005-04-01 at 10:46, Larry Wall wrote:
On Fri, Apr 01, 2005 at 08:04:22AM -0500, Aaron Sherman wrote:
: In P6, an object is a data-type. It's not a reference, and any member
: payload is attached directly to the variable.
Well, it's still a reference, but we try to smudge the
At 7:37 AM -0800 4/1/05, Larry Wall wrote:
On Thu, Mar 31, 2005 at 11:46:22PM -0800, Darren Duncan wrote:
: So, what is the operator for reference comparison?
The =:= operator is almost certainly what you want here.
Larry
Thanks to everyone for their answers. Last night I started coding
with =:=
Larry Wall skribis 2005-04-01 7:47 (-0800):
: $$x =:= $$y
Unnecessary, I think. I want
$x =:= @y
to tell me whether the reference in $x is to the same array as @y.
But
my $foo;
my $bar := $foo;
my $baz = \$foo;
$foo :=: $bar; # true
$foo :=: $baz; # also
Juerd skribis 2005-04-01 22:35 (+0200):
$foo :=: $bar; # true
$foo :=: $baz; # also true?!
IMO, :=: should not auto(de)reference.
s:g/:=:/=:=/
Juerd
--
http://convolution.nl/maak_juerd_blij.html
http://convolution.nl/make_juerd_happy.html
http://convolution.nl/gajigu_juerd_n.html
Thomas Sandlaß skribis 2005-04-01 23:37 (+0200):
Juerd wrote (with substitution applied):
IMO, =:= should not auto(de)reference.
So you expect $bar to contain value 2 and detach from $foo?
No. But if you said $baz instead of $bar, then yes.
How would one then reach the value in $foo? With
HaloO Juerd,
you wrote:
Thomas Sandlaß skribis 2005-04-01 23:37 (+0200):
So you expect $bar to contain value 2 and detach from $foo?
No. But if you said $baz instead of $bar, then yes.
Ohh sorry, I mis-read your mail as talking about chains of
references: $baz to $bar to $foo to 2. The last step
Larry Wall wrote:
On Fri, Apr 01, 2005 at 08:39:52AM -0700, Luke Palmer wrote:
: I'm pretty sure that =:= does what you want. If you have two scalar
: references, you might have to spell it like this:
:
: $$x =:= $$y
Unnecessary, I think. I want
$x =:= @y
to tell me whether the
James Mastros wrote:
$x = 42;
$a = \$x but false;
$b = \$y but blue;
Assuming you meant \$x in the last row we are dealing with three values:
42 but true
42 but false
42 but blue
Which are not identical but equal. The first value is not necessarily
implemented that way because the boolean value
Darren Duncan wrote:
Now I seem to remember reading somewhere that '===' will do what I want,
but I'm now having trouble finding any mention of it.
So, what is the operator for reference comparison?
As someone who wrote a tool that uses refaddr() and 0+ in Perl 5 to
achieve the same thing, I
40 matches
Mail list logo