Monday, August 10, 2009

"Parrot even runs BASIC programs"

This might be old news but I was recently told "Parrot even runs BASIC programs". However, when I went looking for examples - I found none. All of the references were from 2002 or so. Then I ran across this: "Parrot BASIC — For the Parrot virtual machine; V 1.0 is modeled on GW-BASIC, V 2.0 is modeled on Microsoft QuickBASIC version 4.5." (see Parrot BASIC under the list of BASIC dialests on Wikipedia.) Wow! I'm probably the only one who would think that was really, really cool! I switched TO Perl from QuickBASIC 4.5! Does anyone know of some good examples of running BASIC programs through Parrot?

I worry that you may have the wrong expectations. I'm not an insider but I watch Parrot and Perl 6 development closely, and it's still far from ready for prime time, imo, even while it (community and code) continues to mature quite impressively.

Almost all the early parrot based language implementations were prototypes, and are now bitrotted history. That almost certainly includes Clint's BASIC which I think hasn't been worked on in 5 years or so. The doc etc. doesn't make that clear partly because the doc itself is bitrotted and partly because it's not obvious what to rip out. Who knows, perhaps someone -- you? -- will pick up the work on BASIC and run with it.

Similarly, the PUGS compiler hasn't been worked on much at all in the last 3 years.

These older efforts served a vital role in driving things onward but have almost all fallen by the wayside.

Parrot, PGE, Rakudo Star (a "usable, useful subset of P6, running on Parrot") et al will be ready in 2010 for use in limited ways, mostly A) exploration of a subset of Perl 6 by those who like playing with advanced languages, B) creation of compilers for other languages, old and new, such as a BASIC interpreter, by those who like the Parrot concept and are willing to be patient with its performance, and C) creation of Perl 6 apps such as November by pioneers.

Parrot, PGE, and Rakudo are like unstoppable forces of nature, and they will revolutionize several aspects of programming. However, as hard to stomach as it may be, the story remains, even though they've taken a decade to get this far, they may well take another year or two to be usable for limited production contexts and perhaps five to get to Perl 6.0.0 and a generally robust status.