Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

A great talk on Perl6

by emilbarton (Scribe)
on Apr 01, 2014 at 22:05 UTC ( [id://1080646]=perlnews: print w/replies, xml ) Need Help??

Damian Conway gave us a brilliant lecture on Perl6 tonight here near Geneva. I'm already convinced P6 syntax is the smartest at present. I only regret it doesn't benefit the advantages of a fully compiled language.

Replies are listed 'Best First'.
Re: A great talk on Perl6
by grondilu (Friar) on Apr 03, 2014 at 08:39 UTC

    I hope I'm not wrong but I think a link has not yet been given in this thread.

    So, here it is.

    Personally, the part I liked the most was when he suggested that eventually pretty much any language will be able to run under Perl 6. I've always kind of hoped something like this, but I would not have dared to state it loud like that.

    In Perl 6 what we see is that we expect that there will be all kinds of domain specific languages implanted right within Perl 6. You will be able to write Perl 6 and then you are suddenly flipping to a domain specific language. And the way you’ll do that is simply by saying: “Take the parser and compiler for Perl 6, take the grammar, add in some extra rules that implement the domain specific language, pass that to the compiler”, and the internal parse tree that it emits will just have the transformation of the domain specific parts into standard Perl which will be done in the grammar itself in actions. And then the standard syntax tree goes on to the interpreter or to the compiler or whatever it is. So we see that Perl 6 is not just going to be a standard language but a language where you and the word we uses is 'braid', and we braid into that language the possibility of “In this block I’m going to write in SQL, or in this block I’m going to write in Java, or in this block I’m going to write in Ruby.
    Why? - Because there is some tool that I want to use that is much better done in those languages, so what we want to have is a way that you can just say: “At this point in the code use Ruby”, and what will happen is that “use Ruby” command will tell the original compiler you need to use an extended grammar in this scope. And because the grammars are just objects and because objects are composable in Perl 6 it would literally at runtime compose in the Ruby grammar, parse the Ruby, emit the underline opcodes or whatever they happen to be, bytecodes, and just work. So we expect that one of the real powers of Perl 6 will be it will be a great language, not just for gluing different data together, but for gluing different languages together. We see that as a very powerful thing, but to do that we needed very powerful parsing facilities built right into the language.
Re: A great talk on Perl6
by zentara (Archbishop) on Apr 03, 2014 at 10:28 UTC
    Wow, I never figured that just asking if Perl5 modules will be available under Perl6 would unleash such a pack of anonymous dogs, nipping at it's heels. BTW, I was looking for the above mentioned talk on youtube, and instead got this: video link

    Where it is described as: "Temporally Quaquaversal Virtual Nanomachine Programming In Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces...Made Easy!"

    Us old dogs don't like the sound of them new tricks. :-)

    This link is pretty funny. Demian Conway explains Perl6 in 1 minute :-)


    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh
      Thanks funny!

      brought me to this interesting talk ...(OK? :)

      (Seems like Apple is the Pompeii for presentation software, ... OK! ;)

      Cheers Rolf

      ( addicted to the Perl Programming Language)

      PS:OK!?!

        I just watched Damian Conway's talk at Damian explains the cosmos, and I can't believe he hasn't attained World Domination yet. Positronic variables into the quantuum superposition. I wonder if his time-travel variables could be used to get stock prices. :-)

        I'm not really a human, but I play one on earth.
        Old Perl Programmer Haiku ................... flash japh
      I wouldn't be anonymous if PM could figure out how to store passwords securely. It's been five years. It's been five years. Please.
        Wow PM bashing now? :´(

        Already bored of P6 trolling?

        Just generate a throw away password with an encryption tool and use a password manager.

        Cheers Rolf

        ( addicted to the Perl Programming Language)

Re: A great talk on Perl6
by zentara (Archbishop) on Apr 02, 2014 at 09:46 UTC
    Just as a point of practicality, will Perl5 modules be compatible with Perl6? Can I run Tk on Perl6? If not, what changes are needed to make current modules compatible?

    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh

      As I could understand it *most* of the Perl5 syntax can be handled by Perl6 but not all of it, for instance a hash key is now written %h{key}. In general, contextual polysemy has been tracked and destroyed, this is what Conway calls Huffmanization.

      Besides there are many new features that make the old Perl style verbose and messy in comparison. Youl'll find native
      - iterators,
      - Moose-like object constructors,
      - generalized operators for method calls and parameter passing,
      - type checking in subroutines,
      - direct interpolation,
      - subroutines trying (as in C++),
      - overloaded and user-defined operators,
      - and Unicode builtin.

      This is why modules have to be translated in some way. One can find many modules - like CGI, DBI etc. - already available under the Rakudo project, unfortunately as far as I know Tk isn't imported yet, nor any other GUI.

      If by "will Perl5 modules be compatible" you mean "is that the plan?" then yes, the plan is that you'll be able to use most perl 5 modules (including ones that use XS) via an embedded libperl on platforms where that works and you'll be able to use most pure perl 5 modules otherwise via the P6 project called "v5".

      For a little more detail about these plans see the bit about "Mixing P6 and ..." in this post.

        The plan was for 5.8 to be the final release of Perl, so why would anyone care what the plan is?

        Why can't you be honest, Ralphie-boy? "The plan" is for your weird little marketdroid posts to keep promising that "something" is almost certainly "just around the corner", hoping that people forget that you pull this stunt year after year after year.

      Yes, you are looking for a project called PONIE.

      Except it's been dead for years.

      So #perl6 will start rewriting it again in the future. Then kill it. Then rewrite it. Then announce that they're going to rewrite it and try to kill it but let it linger on and then write a compatibility layer five or six different ways and half-arse it onto several different backends.

      And then several years later, they'll tell you that it has a real user. They just can't tell you who it is or anything about it. But it has a real user and it's not vaporware, they promise, and it'll be done THIS YEAR FOR SURE and why don't you read their conference presentation and their blogs hosted in Wordpress because they're too busy drinking and rewriting things to figure out how to use Rakudo for anything as mundane as web programming.

      After all, it's a language designed to rewrite compilers, slowly and poorly.

        It's a language designed to replace Java and C++ but waiting for good management and workers.
Re: A great talk on Perl6
by Your Mother (Archbishop) on Apr 01, 2014 at 22:18 UTC

    Without a link or a real summary this isn’t much fun. :( Just PERL IS TEH DEAD BECUZ OF RADUKO flamebait.

      yeah , I second, doesn't belong in perlnews ... something cool happened and you missed it , na-na na-na boo-boo
Re: A great talk on Perl6
by Anonymous Monk on Apr 02, 2014 at 01:08 UTC
    It doesn't benefit the advantages of existing in a usable form either. But that's okay. It's only 14 years old. It's not like when the C language was 14 years old there were multiple complete operating systems written in it or anything.

      I take comfort with the following and probably it helps you too: Starting with 15 years, better 18 years a Single Malt Whisky begins to reach the upper class of maturity.

      Let's hope it's the same with Perl 6. There seem to be some master distillers in the community promising that the starting substance is good.

      ;-)

      Best regards
      McA

      A reply falls below the community's threshold of quality. You may see it by logging in.
      It is usable already on Parrot virtual machine, and will target the Java virtual machine. But that's a question I wanted to ask: why did they choose to implement it that way? Why not making it a lower level language?
        Hi emilbarton,

        A quick clarification. First, Rakudo (well, NQP really, but let's call that an implementation detail for now) not only already targets the JVM as well as Parrot but is generally at parity or better feature wise when running on the JVM.

        (And Rakudo on MoarVM is generally at parity with or better than Rakudo on JVM. The first release of Rakudo Star (a bundle including the compiler and modules) that supports these three backends will likely ship about one month from now.)

        I'm not sure what you meant by your why questions. Are you suggesting Perl 6 should itself be a lower level language? Or that the compiler should target a lower level language? Something else?

        Rakudo targets NQP. NQP in turn targets various backends. If your question is "why NQP?", please watch Patrick Michaud's excellent explanation of where NQP came from, where it fits in, and where it's going at YAPC NA 2013. (I recommend you start at 6 minutes in and watch at least the next 5 and a half minutes.)

        It's usable if you don't need documentation or libraries. If you like hanging out with drunks on IRC to get bug fixes. If packaging isn't important to you. If you want to deploy code from Git checkouts every day. If you don't mind that Rakudo has been trying to get rid of Parrot for several years. If it's okay that the spec isn't even finished for things like lists or containers. If you're okay being like the third or fourth person using it for anything real.
      Let me remind you that the beautiful D programming language, is also 14 years old, and has not met a strong succes in everyday use yet. In my opinion you can't expect a newer generation language to be developed at the rate old languages were having, the justification for their development is precisely that older languages don't handle so well newer features in software design but they suffer the wide success (libraries etc.) of their predecessors and thus require more time to become usable.
        Unlike perl-6, D 1.0 actually came out after only six years in development. Then Walter took a page out of the Rakudo playbook and FORKED THE COMMUNITY with D2. Great job!

        Unlike perl-6, D actually has users. Probably because they actually released a 1.0.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2024-03-19 02:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found