Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: RELEASE_0_4_15
Fetching contributors…

Cannot retrieve contributors at this time

140 lines (79 sloc) 2.502 kb

.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.

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

new(out PMC, in INT, in STR)
instantiate(out PMC)

They will be removed in the 0.5.0 release.

Deprecated Class Features

  1. Type IDs will go away in 0.5.0.
  2. 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 the typeof op.
  3. 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.)

  4.   PMC* subclass(PMC *name)

    The subclass vtable method is deprecated and will be removed in the 0.5.0 release.

  5. 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"

Deprecated compiler tools

Currently no compiler tools are deprecated.

Jump to Line
Something went wrong with that request. Please try again.