Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^9: A "Perl-7" that I could actually USE right now

by raiph (Deacon)
on Dec 19, 2013 at 00:16 UTC ( [id://1067746]=note: print w/replies, xml ) Need Help??


in reply to Re^8: A "Perl-7" that I could actually USE right now
in thread A "Perl-7" that I could actually USE right now

Be honest and tell people that half of the things you are blabbering about will be obsolete and useless within a year

The vision for the monastery is that we try to help each other. Dishonesty doesn't remotely fit. (Fwiw, imo being unkind isn't a whole lot better.)

Ignoring areas such as concurrency and NFG, and bug fixing and implementing features previously unimplemented, I see increasing stability. Perhaps you could name a P6 topic I've talked about that you think has been affected by instability?

Do you trust Larry Wall (or jnthn, or anyone involved in P6) to be honest? Anyone can join freenode's #perl6 IRC channel to engage in a one-on-one dialog with Larry Wall (nick TimToady).

Replies are listed 'Best First'.
Re^10: A "Perl-7" that I could actually USE right now
by Anonymous Monk on Dec 19, 2013 at 16:45 UTC
    Deny, deflect, defer. Sorry ralph, your kool-aid mustache is showing. Maybe this is the year Perl-6 decides if for loops are really eager or lazy. Maybe this is the year someone finishes the module synopsis. Maybe this is the year Patrick finishes the list redesign. Maybe this is the year Larry finally chooses names for synchronization primitives. Maybe this is the year you admin Necza has finally shuffled off into Pugs-like irrelevance.

    Deny, deflect, defer.

    It's not unkind to point out untruths, ralph. Surely even you know that.

      »»» This post is about the immature Perl 6, not the rock solid Perl 5 «««

      Thank you for raising issues others might find interesting.

      • if for loops are really eager or lazy.

        By design they default to eager in sink (void) context because there's no point in having a lazy for loop in sink context. In all other contexts they default to the appropriate setting, Mostly Lazy. You can explicitly force eager or lazy context by using the eager or lazy keyword. It's been this way for years and remains how things are.

        After experience with coders using P6, Larry this year made a change to "support the expectations of imperative programmers". It doesn't change the basic logic described above. Afaik, all who've spoken up on #perl6 support this change.

      • someone finishes the module synopsis.

        Synopsis 11 (Units and Modules) had been under specified and largely unimplemented for years but that changed this year, especially in the last 6 months, as suggested by Perl 6 Advent Day 11 – Installing Modules. If FROGGS' English skills are too weak for you, please wait for him (or lizmat or lue or whoever) to commit a new S11, anticipated in the next month or two, that will hopefully make clear the tremendous advancement in this area this year.

      • Patrick finishes the list redesign.

        That would be nice. You know why he hasn't yet done so, right? (Please don't say you don't care.)

      • Larry finally chooses names for synchronization primitives.

        When jnthn recently created some detailed designs for concurrency constructs, and implemented them, he used placeholder syntax and names. Larry replaced the placeholders the first day he got to see them and has since refined his thinking about this a couple times and will no doubt do so more as this stuff matures.

      • you admin Necza has finally shuffled off into Pugs-like irrelevance.

        Stefan O'Rear, Niecza's original author, has not worked on Niecza this year iirc, and doesn't seem interested in it. Others have landed a few commits this year but it's clearly falling behind Rakudo in terms of spec coverage.

        (I must confess I was delighted when Stefan chose to do some major work on Rakudo rather than Niecza in June/July. He wrote the system level synchronization primitives that were the groundwork for the concurrency constructs just discussed. That said, I've not seen signs of him since.)

        raiph:

        I was looking over the documentation you linked to, and came across "Parcel Objects":

        The comma operator (infix:<,>) creates Parcel objects. These should not be confused with lists; a Parcel represents a raw syntactic sequence of elements. A Parcel is immutable, although the elements of a Parcel may be either mutable or immutable.

        The name "Parcel" is derived from the phrase "parenthesis cell", since many Parcel objects appear inside of parentheses. However, except for the empty parcel, it's the comma operator that creates Parcel objects.

            ()       # empty Parcel
            (1)      # an Int
            (1,2)    # a Parcel with two Ints
            (1,)     # a Parcel with one Int
        

        A Parcel is also Positional, and uses flattening context for list operations such as .[] and .elems. See "Flattening contexts" below. For raw access to the arguments without flattening, you may use .arg($n) instead of .[$n], and .args instead of .elems.

        This looks confusing to me: Isn't there a concern that there appear to be two special cases* leading to different results here? It seems to me that having (1) evaluate to an integer and the others evaluate to a parcel could be problematic. What's the thought behind that?

        The second oddity in that document is in the section "The .infinite method". The table looks wrong:

            .infinite     Meaning
            ----------------------------------------------
            True          iteration is known to be infinite
            False         iteration is known to be finite
            Mu            finiteness isn't currently known
        

        I'm no expert, but I'm pretty sure that The Daily WTF? clearly established that the third state of a boolean value is FILE_NOT_FOUND.</ribbing>

        Notes:

        * The second special case being empty parenthesis evaluating to a parcel.

        ...roboticus

        When your only tool is a hammer, all problems look like your thumb.

      A reply falls below the community's threshold of quality. You may see it by logging in.
A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1067746]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-03-29 09:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found