Nathan Wiger writes:
: Larry Wall wrote:
: >
: > : I _really_ think dot-syntax would make perl prettier as well as make it
: > : more acceptable to the world of javacsharpbasic droids. Which is some
: > : kind of goal, no?
: >
: > Consider it a given that we'll be using . for dereferencing. (Possibly
: > with -> as a synonym, just for Dan. :-)
:
: <snip>
:
: > + is out because it will add numbers.
:
: FWIW, if we're going to go "all the way" and make Perl's objects .-based
: (which I personally dread, but oh well),
The . is just syntax. Do you mean something semantic by ".-based"?
: then we should adopt the "+"
: for string concat as well. Yes, I know that string concat isn't
: commutative and all the other stuff, but who cares?
I don't care about commutative either, but what you are proposing is to
throw away a particularly useful feature of Perl, which is its
autoconversion between numbers and strings. That we're not going
to lose. This implies that string operators must stay distinct
from numeric operators.
: Sometimes taking
: what other languages do just because it's widely used is worthwhile. I
: personally don't know of any other language that uses "~" for string
: concat. Does anyone else?
Doesn't ~ look like a piece of string to you? :-)
I think it kind of looks like a stitch.
: Besides, if everything's an object and you have a vtable/whatever PLUS
: method, then why shouldn't:
:
: print "The next loop will be " + $i + 1 + "\n";
:
: DWIM?
Then how do you concatenate a number?
: As a segue for a second, we should keep in mind which types of people
: we're trying to satisfy. I personally don't care at all if Perl 6 is
: more popular with Java and C# people than Perl 5. But I definitely don't
: want it to be less popular with Perl folks (like me).
Me either. But then you propose to break one of the most endearing
features of Perl 5.
: With the proposed
: changes in this thread so far, you've got:
:
: P5 P6
: ------- -------
: -> .
: . ~
:
: For no net gain.
For no *perceived* net gain. Let us be precise. :-)
There are many people who would prefer . to ->, if for no other reason
than it's cleaner looking and is one less character to type. The fact
that it's become the industry standard for method call syntax is also
a point in its favor.
Incidentally, Perl 6 will not require . everywhere that Perl 5 requires
->. The deref will be assumed before (), [], and {} (where an operator
is expected). We're only talking about method calls here, really.
: I know we're just brainstorming still,
Well, maybe we are, at that. But I feel as though I've been in design
mode for a while now. That is, any brainstorming I'm doing at this
point is merely to feel my way into the ramifications of making some of
the hard-nosed decisions that have to be made.
: but -> is not an
: oddity to Perl. There are other languages (like C) that use this.
To be fair, C also has the . variant, so there's certainly prior art on
the other side as well.
: And personally I think Perl is far more effective as a C-sh/cgi glue than a
: Java-.Net glue.
I think Perl is still suboptimal as C glue, and we can improve it. If
it becomes better VM glue at the same time, all the better. But I fail
to see how . notation can be much of a political issue, unless people
choose to turn it into one.
: The latter space is already populated w/ Java and C#,
: and Sun and MS have a little bit of marketing cash.
And because they have better marketing we should therefore concede in
the technical sphere? I don't follow.
: Just my own personal feelings. I don't want Perl 6 to be a complete
: disregard for Perl 5, but rather an improvement over it (RFC 28, you
: know...).
The question is, what is the essence of Perl 5? There are many
different levels on which we can conserve the spirit of Perl 5.
Syntactic continuity is merely one of those levels. An important
level, to be sure, but not inviolate. Not this time.
Larry