On Mon, Oct 6, 2008 at 5:49 AM, Elyse M. Grasso <[EMAIL PROTECTED]> wrote: > My company sells an application that links a bugtracking tool with an SCM tool > so that, for example, the files changed for each bug are recorded in the > bugtracking tool. It is currently written in (mostly) non-object-oriented > perl5. > > We are re-architecting the application so that it can work with different > bugtracking tools and SCM tools, and do things like sync data from specific > fields between a help desk tool and the bugtracking tool. This would be a good > time for us to transition to perl6. > yes, it seems perfectly reasonable to consider language choices when re-designing your product's architecture. certainly, the perl 6 specification makes it an attractive choice.
> As far as I can tell from the various faqs and wikis, the existing > functionality in rakudo should support most of our needs for the initial > release. I may need to assist with the porting of some database access and > other modules from CPAN to C6PAN in the longer term. > the core functionality of rakudo may support what you need, but at this point i have some concerns with chosing rakudo as the runtime for a client-facing production product. mainly, there are un- and under-tested portions of the language implementation, which to me suggests that there are bugs lurking as it hasn't been proven otherwise by passing tests. this isn't to suggest that rakudo is not ready for use, but it is a risk--until we (rakudo project team) have higher test coverage and more passing tests. anybody can help, by adding tests which cover the official perl 6 specification (http://spec.pugscode.org/) to the pugs repository (http://svn.pugscode.org/). anyone who is interested can get commit priviliges to the repository; the procedure is simple, and approval is always granted. feel free to contact this list with a commit bit request. also, there are a number of us with experience writing tests that cover the spec, and we're happy to share our knowledge on the subject. porting modules to perl 6 definitely needs some help. currently there is no c6pan, there is only the pugs repository, where some previously ported modules live. i haven't seen much visible work on c6pan lately, and i'm sure there's no solution nearing production. this means it's best to package any required modules with your product rather than relying on an external resource to provide perl 6 modules at build/configure/install-time. > However, I am concerned about deployment of a perl6 based product to > customers. Perl5 can be reasonably specified as a prerequisite for loading our > application, since it is generally available (and shipped with some of the > products we integrate). That is not the case with Perl6. > this is another case for concern, for sure. parrot's installation code is not extremely robust, but is improving quickly. as of last month's release (0.7.1), parrot is released as a source distribution from the source repository (http://svn.perl.org/parrot/tags/RELEASE_0_7_1), a CPAN module (http://search.cpan.org/~pmic/parrot-0.7.1/), a windows installation package (http://parrotwin32.wiki.sourceforge.net/), a cygwin package (libparrot0 and libparrot-devel), and a debian package (http://packages.qa.debian.org/p/parrot.html). these installation methods are in varying states of maturity, and all are being actively improved. depending on your user system requirements, these methods may work well for you. i suggest investigating further. > Is it practical now to deploy a Perl6/Parrot runtime with a (possibly > precompiled) version of our product? Will it be practical any time soon? I can > probably get away with occasionally requiring Linux and Solaris users to > rebuild Parrot to fit their local configuration, but Windows is another > matter. > (Shipping a known version of the runtime with our product will also allow us > to tune our application to a known set of available perl6 functions.) > possible? yes, definitely. practical? that's hard to say. if parrot and rakudo meet your functionality needs, and the packages are available, then yes. however, i can't call it practical until i've tried it successfully at least three times in simulated user environments. > The mechanism for generating the packages I ship to my customers does not need > to be pretty, it just needs to exist. If there are instructions already online > about how to generate such packages (now or in the near future), I would > appreciate a pointer to them. > parrot has a guide for creating the monthly release package, and there is a guide for debian packaging as well, found at http://svn.perl.org/parrot/trunk/docs/project/). questions here or on other related mailing lists are most welcome. if, during the course of your further examination of parrot and rakudo, you develop concerns on stability, portability, packaging, completeness or other topics, there are multiple ways to address those concerns. firstly, the mailing lists are an excellent resource, as well as parrot's and rakudo's bug tracking systems (http://rt.perl.org/rt3/). however, if you want targeted development/design/training to address your company's needs, donations to the perl foundation (http://www.perlfoundation.org/) and parrot foundation (http://www.parrot.org) can produce wonderful results. for an example, see patrick michaud's perl 6 development grant final report (http://www.pmichaud.com/perl6/mfp6grant.pdf). as president of parrot foundation, i'd be happy to discuss this topic more. additionally, there are for-profit companies (like mine, http://www.rakudoconsulting.com) that offer services including targeted development on rakudo/parrot features and maintenance plans that give you the confidence you need to adopt a new technology and succeed, without the constraints under which a non-profit foundation operates. i'd be happy to discuss the specifics of what rakudo consulting group has to offer your business in an off-list discussion. ~jerry