.imc file extension

http://xrl.us/jc4u

IMC vs. PIR
Two names enter
One name leaves

/me giggles
-- Chip Salzenberg

Deprecated C APIs

Currently no C APIs are deprecated.

Deprecated methods

PGE

PGE::P6Regex is now a registered compiler, and should be used like so:

<@pmichaud> it's easy; instead of  $P0 = find_global "PGE", "p6rule"
  one now does  $P0 = compreg "PGE::P6Regex"

This syntax is also true for PGE::Glob and PGE::P5Regex

Deprecated ops

From http://www.parrotcode.org/docs/ops/var.html, the following ops are deprecated:

store_global
find_global
find_name

There are several variants of some of the above ops; all are deprecated, and are replaced by the ops {set,get}_[hll,root]_global. See also http://www.parrotcode.org/docs/ops/var.html.

The classname op will deprecated in the 0.5.0 release. It's an exact duplicate of the string return variant of the typeof op.

Deprecated vtable methods

The following vtable methods are deprecated:

PMC* subclass(PMC* name)

Deprecated classes

To be removed from the 0.4.14 release [RT #43249].

src/pmc/smop_class.pmc
src/pmc/smop_attribute.pmc
t/pmc/smop_attribute.t
t/pmc/smop_class.t
compilers/smop/ (entire directory)

FUTURE changes

Not yet deprecated, but it's recommended to use the new syntax and gradually change the old.

PMC Class name IDs [#41237]

... will require a dot in front

$P0 = new Integer               => $P0 = new .Integer
Assignment syntax with opcodes [#36283]

When the first argument of an opcode is OUT, then the assignment syntax will be allowed, as it is today.

In any other case (i.e. INOUT, IN), this will become a syntax error. For example:

$S0 = print
$P0 = substr 1, 2, "x"

Will have to be:

print $S0
substr $P0, 1, 2, "x"