The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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