Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
That helps with your own data types. But since most programs just use the default data types, it still takes more work in Perl to define a generic min function that works across strings and numbers.
Again, you are speaking of Perl 5 here; Perl 6 has generic ordering functions already, called "before" and "after", and both min and cmp are defined in terms of those. (The old string-biased cmp was renamed to leg.) And sort is defined in terms of the new cmp, so it is also generic. The least-specific ordering variants are defined in terms of comparing canonicalizations, so we can have "natural" sorting of heterogenous data.

But Perl 6 can also easily emulate the broken Ruby behavior by using the string-biased comparison operators explicitly. Philosophically, Perl 6 is going to do the right thing by default, but give the programmer the ability to supply enough type information (via either the data or the operator) for the the optimizer to do interesting things, up to and including compiling down to machine code.

(Of course, even the generic operations are allowed to do on-the-fly optimizations as long as they're pessimizable in the presence of inconsistent data. Only the semantics need be preserved--it's okay for the program to get faster or slower as the data changes in consistency. Hopefully the slowness is bounded so that you don't open your server up for denial of service attacks.)

Anyway, my point is simply that we've already thought about these things an awful lot. Please don't assume Perl 6 will fail the same way Perl 5 fails. :)

In reply to Re^5: I think Perl ruined me as a programmer by TimToady
in thread I think Perl ruined me as a programmer by Petras

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others wandering the Monastery: (3)
    As of 2019-08-24 01:07 GMT
    Find Nodes?
      Voting Booth?

      No recent polls found