I'm going to post my general feelings on Apoc 3.  Rather than just
post up about things I don't like, I'll also mention what I do like
and what I just don't understand.  If I don't mention a piece, it
usually means I didn't really have much feeling one way or the other.

First, a general observation.  Perl 6 is looking more like Ruby every
day.  (Language thievery)++

Second, I like the way everything-as-object is being unobtrusively
weaved into the language.


Binary and unary dot:

This makes me *very* happy.  This is probably the best thing I've
heard all day.

I've been playing with Ruby, which has a similar feature.  @foo is an
object instance variable.  Inside a class definition, foo() is a
object method call on the current object.  Outside it's a class method
call on the current class.  Works out very nicely under the fingers.

For anyone that writes a lot of OO code, the pleasure of not having to
write $self-> (or $self.) six thousand times a day is well worth the
trip.


Unary * and list context:

This is a change for the better.  The specifics of the * syntax is a
little odd, but being able to pass two arrays into a function without
fumbling with prototypes will be welcome.


Concatenation:

I couldn't care less what string concat is.  God, let's argue about
something more interesting.


Binary ;

This worries me.  Giving ; two meanings makes basic language parsing
harder, which would be fine if there was a big payoff, but there's
not.  Just making shorthand for [[1,2,3],[4,5,6]] doesn't seem worth
it.  What am I missing here?


Trinary ??::

I'm rather surprised that I have no problems with this.


Binary //

The analogy to || is probably a bit too clever.  My first reaction
was it's some sort of weird division operator.  But it's servicable.


Filetests:

The most interesting thing I see here is the embracing of the
everything-as-object feature and seeing its first real payoff to make
neat DWIMery possible.


tr///:

I never thought I'd hear Larry use the term "sucky"


Lazy lists:

Neat!  It'll be hell to make them work right, but neat!


Hyperoperators:

I sort of understand it, but don't really grok it.  I can sort of
thing of ways it might eliminate the need for a few maps and
foreaches.  Damian, might I request some clarification in Exogenesis?


Polymorphic comparisons:

I'm firmly with Larry here.  I have oogy feelings about $foo == $bar
doing different things depending on the value of $foo and $bar.  I'm
also a more than a little afraid at what 42 == "forty-two" should do.


Backtracking:

Ok, I don't get it at all.  Damian, clarification?


=~ and 'apply-to':

"But by and large, I think I'd rather see:  @foo.grep {!m/\s/}"

Yay, CLU iterators!


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <[EMAIL PROTECTED]>       Kwalitee Is Job One
That which stirs me, stirs everything.
        -- Squonk Opera, "Spoon"

Reply via email to