.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.
Deprecated Class Features
Type IDs will go away in 0.5.0.
The
classname
op is deprecated and will be removed in the 0.5.0 release. It's an exact duplicate of the string return variant of thetypeof
op.The experimental
instantiate
opcode is deprecated and will be removed in the 0.5.0 release.(The
instantiate
vtable function becomes core in 0.5.0, but is accessed via the "new" opcode for the PMCs that use it.)-
PMC* subclass(PMC* name)
The subclass vtable method is deprecated and will be removed in the 0.5.0 release.
The PMC union struct is deprecated and will be removed once all core PMCs have been updated.
FUTURE changes
Not yet deprecated, but it's recommended to use the new syntax and gradually change the old.
- PMC Class name IDs
-
Instead of:
$P0 = new Integer
or
$P0 = new .Integer # better, but ...
we are moving to use:
$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"