This is a list of currently deprecated features of Parrot. Every deprecation has an associated RT ticket. Each item indicates the last release it's guaranteed to appear in. Items marked with a release of ??? are still deprecated, but a firm deadline for their removal has not yet been established.
When deprecated items are removed, all usage of the feature in the repository should be updated or removed; including documentation.
METHOD [post 0.5.2]
METHOD
The current METHOD syntax will be deleted and the current PCCMETHOD syntax will replace it under the name METHOD. See RT #48565.
PCCMETHOD
PCCINVOKE [post 0.5.2]
PCCINVOKE
The syntax for passing named arguments to PCCINVOKE will change from :named['key'] to :named('key') to better match PDD 3. See RT #42292.
get_attr [post 0.5.2]
get_attr
See RT #48583.
set_attr [post 0.5.2]
set_attr
See RT #48585.
type_keyed [post 0.5.2]
type_keyed
See RT #48577.
type_keyed_int [post 0.5.2]
type_keyed_int
See RT #48579.
type_keyed_str [post 0.5.2]
type_keyed_str
See RT #48581.
get_bool_keyed [post 0.5.2]
get_bool_keyed
See RT #48571.
get_bool_keyed_int [post 0.5.2]
get_bool_keyed_int
See RT #48573.
get_bool_keyed_str [post 0.5.2]
get_bool_keyed_str
See RT #48575.
type [post 0.5.2]
type
See RT #48567.
subtype [post 0.5.2]
subtype
See RT #48569.
new_from_string [post 0.5.0]
new_from_string
See RT #47011.
class_type [post 0.5.1]
class_type
See RT #48142.
pmc_namespace [post 0.5.1]
pmc_namespace
See RT# 48144. Replaced by get_namespace.
get_namespace
DYNSELF [post 0.5.2]
DYNSELF
Replaced by SELF. (Old behavior of SELF changes to STATICSELF.)
SELF
STATICSELF
getattribute_p_p_i, setattribute_p_p_i [post 0.5.1]
getattribute_p_p_i
setattribute_p_p_i
See RT # 48729. These were already deprecated, but not fully removed.
classoffset [post 0.5.1]
classoffset
See RT # 48727. This was already deprecated, but not fully removed.
pioctl [post 0.5.1]
pioctl
See RT #48589.
store_global [post 0.5.0]
store_global
See RT #48016. Replace usage with set_[hll,root]_global variants.
find_global [post 0.5.0]
find_global
See RT #48018. Replace usage with get_[hll,root]_global variants.
new(out PMC, in INT, in STR) [post 0.5.0]
new
instantiate [post 0.5.0]
instantiate
See RT #48022.
getclass [post 0.5.0]
getclass
See RT #47972. Future use should use the get_class opcode.
get_class
get_mro [post 0.5.0]
get_mro
See RT #47976.
getfd [post 0.5.1]
getfd
See RT #48310.
pmcinfo [post 0.5.2]
pmcinfo
See RT #42375.
Integer Type IDs [post 0.5.0]
See RT #48024. Instead of $P0 = new Integer or <$P0 = new .Integer>, use the following syntax, which works for both PMCs and objects.
$P0 = new Integer
$P0 = new 'Integer'
PMC union struct [post 0.5.0]
See RT #48014. This will be removed once all core PMCs have been updated.
Keyed access to exception attributes [post 0.5.1]
See RT #48012. Attributes on exception objects will no longer be accessible by integer or string key, use getattribute and setattribute instead.
getattribute
setattribute
<.namespace <identifier >> syntax [post 0.5.1]
<.namespace <identifier
See RT #48737.
Use of :: in identifiers [post 0.5.1]
::
See RT #48735.
.namespace [ "a" .. "b" ] [post 0.5.0]
.namespace [ "a" .. "b" ]
See RT #4671.
vtable name .constants and __vtable overrides [post 0.5.2]
See RT #48877.
Assignment syntax with opcodes [post ???]
See RT #36283. When the first argument of an opcode is OUT, then the assignment syntax will be allowed, as it is today.
OUT
In any other case (i.e. INOUT, IN), this will become a syntax error. For example:
INOUT
IN
$S0 = print $P0 = substr 1, 2, "x"
Will have to be:
print $S0 substr $P0, 1, 2, "x"
pgc.pir [post 0.5.0]
See RT #48026. The pgc.pir compiler for P6 grammars (pre-2007 regex syntax) is deprecated. Switch to using the new PGE::Perl6Grammar.pir compiler instead, and the Perl6Regex syntax.
PGE::P6Regex [post 0.5.0]
See RT #48028. In early 2007 there were a number of changes made to the Perl 6 regular expression syntax (as given by Synopsis 5). The new syntax is implemented via the PGE::Perl6Regex compiler, and the PGE::P6Regex compiler is now deprecated in favor of the new syntax.
compilers/PAST-pm [post 0.5.1]
See RT #48030. The compiler tools in compilers/PAST-pm/ and runtime/parrot/library/Parrot/HLLCompiler.pir are deprecated in favor of the new versions in the Parrot Compiler Toolkit ( compilers/pct/ ). In particular, the PAST representation in PCT follows the specification given by pdd26 .
'v' NCI arg signature [post 0.5.1]
See RT #48733. (Been removed for some time; nice warning is going away)
To install Parrot::Op, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Parrot::Op
CPAN shell
perl -MCPAN -e shell install Parrot::Op
For more information on module installation, please visit the detailed CPAN module installation guide.