Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: How much Perl6 have we got?

by dragonchild (Archbishop)
on Aug 21, 2005 at 02:27 UTC ( [id://485466]=note: print w/replies, xml ) Need Help??


in reply to How much Perl6 have we got?

It is very simple to answer - we have most of it. You can download Pugs (from http://www.pugscode.org/) and run many P6 programs right now. The class metamodel is almost done (stvn is working on it) and autrijus is implementing it faster than he can design it.

Other notable items:

  • the Perl6 namespace on CPAN right now
  • PIL, which is allowing P6 to compile to, among other things, Javascript
  • an amazing number of tests in the Pugs testsuite.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Replies are listed 'Best First'.
Re^2: How much Perl6 have we got?
by thor (Priest) on Aug 21, 2005 at 15:59 UTC
    It is very simple to answer - we have most of it.
    Yeah...simple indeed. Of course when someone says that "most" of something is done, there's an implication that whomever is working on it would have a reasonable estimation of a completion date. Moreover, if they have an estimated completion date, it's sometime in the near future. Perhaps I'm being cynical, but whenever I glance at "This week in Perl 6" on perl.com, there's some pretty fundamental stuff being ironed out still. Not that therey's anything wrong with that; it's a big project. You'll forgive me if I don't agree with your assessment of the situation.

    This is also what keeps me away from Perl 6 except for curiosity. I want to wait until there's an official, 100% done version in my hands before I take on the task of learning anything of the language. Why? Right now, I have no guarantee that some feature isn't going to be completely re-written and/or obviated tomorrow. Again, I'm fine with this; Perl 6 is stil in the design stage...a stage in which things are supposed to change. However, my sanity doesn't play well with moving targets.

    I'm also in awe of the Pugs project. Again, however, I don't want to write programs that are ahead of the runtime. That is to say that Pugs isn't a feature complete version of Perl 6. It can't be; Perl 6 isn't done. My luck being what it is, I'd write some program based on the specifications and Pugs will have not implemented some key feature of that program. I'm not saying that I'm sort of über coder, just saying that I'm unlucky. ;)

    thor

    Feel the white light, the light within
    Be your own disciple, fan the sparks of will
    For all of us waiting, your kingdom will come

      My luck being what it is, I'd write some program based on the specifications and Pugs will have not implemented some key feature of that program. I'm not saying that I'm sort of über coder, just saying that I'm unlucky. ;)

      What is wrong with that? This type of thing has been driving the Pugs project from the very begining. I started writing (failing) tests based off the Synopsis in the early days of the project, and within days autrijus would have turned them into passing tests. Both chromatic and Darren Duncan and their work on the p6 versions of Test::Builder and Locale::KeyedText respectively, drove much of the early OO functionality in Pugs. The current work on the Javascript and Perl 5 backends have helped fuel autrijus's work on PIL (Pugs Intermediate Language) and my work on the Object MetaModel.

      My point is really that Pugs is a different sort of project than your usual compiler/interpreter project. It is (in autrijus's words) optimized for fun. And autrijus has always said he does not intend Pugs to be "the" Perl 6, and one of the original goals of the project was to help iron out the design of Perl 6 itself by providing a reference implementation.

      Another thing about Pugs is that all you need to do to get a commiter bits is ask, and all you need do to get your name in the AUTHORS file is contribute something (even commiting it yourself is not a requirement). No one is expected to contribute any more then they want to or can. Because after all, it's optimized for fun :)

      -stvn
        The thing is that I learn by doing. Most if not all of how I learned Perl 5 was trying out small snippets, seeing that my understanding was off, revising my understanding, rinse, lather, and repeat. I think that my frustration would grow and I'd end up giving it up anyways. I aplaud yours and everyone elses efforts. I'm sure that they help the Perl 6 folks immeasureably. It's not for me, however.

        thor

        Feel the white light, the light within
        Be your own disciple, fan the sparks of will
        For all of us waiting, your kingdom will come

      A reply falls below the community's threshold of quality. You may see it by logging in.
      I concur. Watching the Lambdacamels go is fascinating (and humbling), but I've decided to wait for the Perl 6 version of the Llama before I try to start coding in it, or even worry about it anymore.

      P.S. mad props for the Manowar sig

      There's another way of looking at it .... if you code stuff in pugs, then you're way ahead of those who don't, as far as being Perl6-ready. Of course, i wouldn't advise coding anything intended for production, but it's worth exploring fun stuff in your spare time.

      --
      TTTATCGGTCGTTATATAGATGTTTGCA

Re^2: How much Perl6 have we got?
by lolajl (Acolyte) on Aug 21, 2005 at 11:16 UTC
    Speaking of which, is there a binary package of Pugs for OSX? Like PxPerl, which is compiled for Windows OS ?
        Unfortunately, it's not that simple. After installing this package, this is what shows up when I run this:
        install Perl6::Pugs
        ghc-pkg: cannot find package plugins
        *** Inline Haskell support disabled.  If you want dynamic loading
            of haskell modules, please install the hs-plugins library:
                http://www.cse.unsw.edu.au/~dons/code/hs-plugins
            Remember to "make register" after "make install" for hs-plugins!
        
        *** Perl 5 embedding disabled.  If you want Perl 5 support, please set the
            PUGS_EMBED environment variable to contain "perl5".
        
        *** GHC 6.4.0 cannot work with GCC 4.0 on Mac OS X.
            Please use "sudo gcc_select 3.3" to pick an earlier version of gcc,
            or set the CC environment variable to "/usr/bin/gcc-3.3".
        Running make test
          Make had some problems, maybe interrupted? Won't test
        Running make install
        
        Attempting to install the hs-plugins ultimately brings up this, after running make:
        Rebuilding dependencies ... Could not find module `Language.Haskell.Hsx':
          use -v to see a list of the files searched for
          (imported from System/Plugins/Parser.hs)
        
        Moving on, after changing gcc to 3.3, I then attempted to install Perl6::Pugs, it wouldn't install at all. I got this:
          Makefile.PL returned status 65280
        Running make test
          Make had some problems, maybe interrupted? Won't test
        Running make install
          Make had some problems, maybe interrupted? Won't install
        
        I've attempted this before, so that's why I asked if there's a binary installation.
Re^2: How much Perl6 have we got?
by Anonymous Monk on Aug 22, 2005 at 05:41 UTC

    Perl 6 is not ready, period! Don't sound like a salesman who does not know his job.

      *looks back over his post*

      *looks over it again*

      I'm sorry, but I can't find in my reply where I said Perl6 is "ready" for anything, other than more work. Would you mind cut'n'pasting a quotation so that I can respond to it?


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2024-04-24 22:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found