Talk:Parrot virtual machine

From Wikipedia, the free encyclopedia

Which ones of the current implemented compilers which compile to the Parrot machine code could already be considered somewhat useful? Hirzel 19:04, 16 Jun 2005 (UTC)

Brainfuck? ;) porges 07:31, 18 January 2006 (UTC)

What on earth is "compile-time semantic modulation"? Does it involve flux capacitors or sonic screwdrivers somehow? State the obvious, please. 23:32, 28 November 2005 (UTC)

“Up until version 0.3.0, Parrot typically provided 32 registers of each type, with the possibility of enabling 64 registers. Later versions provide an unlimited number of registers; each function can allocate as many registers of each type as it needs.” Is this correct? I was reading Parrot docs just the other day and it seemed to say you could use any number of registers in PIR, but they’d be converted to “real” registers on compilation. -Ahruman 12:20, 31 March 2006 (UTC)

Yes this is correct. In the IMCC compiler there is an analyzer that determines how many registers are needed. The registers are allocated accordingly, so no spilling occurs any more. PASM is somewhat lagging behind. The PASM compiler still knows only about 32 registers. Note that PIR and PASM are independently compiled down to PBC. It is not PIR to PASM to PBC. - Bernhard Schmalhofer

[edit] Register-Based Bytecode

Is anyone else severely bothered by the following statement?

The developers see it as an advantage of the Parrot machine that it has registers, and therefore more closely resembles an actual hardware design, allowing the vast literature on compiler optimization to be used generating code for the Parrot virtual machine so that it will run bytecode at speeds closer to compiled languages like C.

While a register-based bytecode would be faster if executed by an interpreter on a machine that had sufficient registers, the compiled code (once compiled by a JIT compiler) shouldn't be any faster, right? And wouldn't this make the JIT compiler's job of producing good code harder? -- Steve3003 (Oct 11, 2006)

Are you asking what we think in general, or what can be cited in the article? Keep in mind that the former constitutes original research, where the existing text is simply citing the documentation that is available. We could, I imagine, debate the pros and cons of the design endlessly, but little of that would be encyclopedic. Now, if someone has demonstrated that these assertions are incorrect or sub-optimal, and can be cited from a reliable source, we should certainly cite their work. -Harmil 08:52, 12 October 2006 (UTC)

[edit] "There is strong interest in parts of the Ruby community"

As of Feb. 10, 2008, googling "ruby parrot" only brings up videos of a parrot named Ruby who has a particularly dirty mouth. The only project I've been able to find, Cardinal (http://cardinal2.rubyforge.org/), seems to be dead as well. It seems like this sentence (and possible the entire "Possible future languages and projects" section) should be taken out. Wolever (talk) 00:34, 11 February 2008 (UTC)