Skip to content
This repository
tag: RELEASE_2_8_0
Fetching contributors…

Cannot retrieve contributors at this time

file 531 lines (302 sloc) 14.746 kb

Provide a list of deprecated and experimental items in parrot. All items in this list should have a corresponding Trac ticket[1].

These features are not considered supported, even though they may have shipped in a supported release of parrot[2]. Use them at your own risk, as they can be removed or changed in any release. These items are marked below with [experimental].

Please see docs/project/support_policy.pod for the parrot project's policy regarding deprecated features.

Each item shows the first release in which it is eligible for removal, e.g. [eligible in 1.5]. If the release listed is one that has already shipped, this feature may be removed in any upcoming release, and you should no longer rely on it.

If you find a feature you once used was removed after a deprecation cycle, https://trac.parrot.org/parrot/wiki/Deprecation. Otherwise please open a documentation ticket via Trac[1].

When running parrot, you can receive warnings about deprecations. Either run parrot with the -w option to enable all warnings, or deprecations specifically by including this snippet:

https://trac.parrot.org/parrot/ticket/1580

https://trac.parrot.org/parrot/ticket/1599

http://trac.parrot.org/parrot/ticket/1633

https://trac.parrot.org/parrot/ticket/452

https://trac.parrot.org/parrot/ticket/264

The VTABLE invoke in object.pmc puts SELF at the start of the signature call arguments when there is no current object and is not already here. This allows the usage of $P0() instead of $P0($P0).

https://trac.parrot.org/parrot/ticket/103

UnManagedStruct will be simplified to only support flat structures. This means that elements which themselves have structure - struct pointers and function pointers will be stored as void * and void (*)(void) respectively. To use these, they will need to be cast to the appropriate signature on access.

https://trac.parrot.org/parrot/ticket/1551

The initializer structure will cease to be an array of triples. In stead, an array of flags (no counts or offsets), or a string representation of the same information may be used.

https://trac.parrot.org/parrot/ticket/1552

These will no longer refer to the byte length of the buffer, but to the number of times the struct is repeated; emulating an array of structs.

https://trac.parrot.org/parrot/ticket/1553

Since shape changes may simply be used for re-interpreting data, and may also occur in several steps, re-allocating after any one shape change may be undesirable. In stead, an explicit allocate/reallocate method will be provided.

https://trac.parrot.org/parrot/ticket/1554

E.g.

  $P0 = new ['Hash']
  $S1 = $P0['foo';'bar';'baz']

will not auto-vivify nested hashes and return PMCNULL early.

https://trac.parrot.org/parrot/ticket/1561

Use the downcase opcode or subclass with a method name consistent with your HLL.

http://trac.parrot.org/parrot/ticket/1606

This is a helper method for testing of Parrot_str_unescape_string.

https://trac.parrot.org/parrot/ticket/1628

These can be replaced by get_bool and intval ops unless you're using them for things that aren't really logical ops (don't do that!).

Logical vtables are removed in r49012, and logical ops on PMCs are converted to use get_bool internally. Rakudo seems to depend on logical ops on PMCs.

https://trac.parrot.org/parrot/ticket/1655

Used to test the experimental function Parrot_getpid

https://trac.parrot.org/parrot/ticket/1564

Duplicated vtable functions currently generate only a warning; after deadline, they will cause a die and failure to build Parrot or any HLL using this method.

http://trac.parrot.org/parrot/ticket/1785

https://trac.parrot.org/parrot/ticket/1778

These opcodes will be removed. The corresponding encoding opcodes should be used instead.

https://trac.parrot.org/parrot/ticket/1778

The 'fixed_8' encoding is going away. Use 'ascii' instead. If you want to test for a fixed_8 encoding, you have to compare the encoding to 'ascii', 'iso-8859-1' and 'binary' separately.

https://trac.parrot.org/parrot/ticket/1697

These opcodes will be removed. The open/close methods on File or the FileHandle PMC should be used instead.

https://trac.parrot.org/parrot/ticket/218

These opcodes are being repurposed. They will always return a unique memory address of the PMC. Uses of get_addr and set_addr that would set label values for Sub, Exception, and related PMC types will instead be handled by get_label and set_label.

get_results no longer used to fetch exception object.

https://trac.parrot.org/parrot/ticket/1406

Ability to get the string name of the current GC core from the interpinfo_s_i. See r43900 and r43904 for details.

https://trac.parrot.org/parrot/ticket/1581

Hooks allowing a runtime-loadable dynamic frame builder.

https://trac.parrot.org/parrot/ticket/1582

Ability to use non-default dynamic loading behaviour.

https://trac.parrot.org/parrot/ticket/1583

To be replaced with new_callback_p_p_p_p_s.

https://trac.parrot.org/parrot/ticket/1548

These will be changed to allow more flexibility in types.

https://trac.parrot.org/parrot/ticket/1565

find_lex will not throw exception for non-existing lexicals.

https://trac.parrot.org/parrot/ticket/1207

All "inplace" string update ops are deprecated. E.g. "chopn_s", etc. Part of COW removal.

https://trac.parrot.org/parrot/ticket/1540

Intended to replace the CodeString charname_to_ord method.

https://trac.parrot.org/parrot/ticket/1629

E.g. "cleari", etc.

https://trac.parrot.org/parrot/ticket/1642

This op is too low level for Parrot in its current form.

https://trac.parrot.org/parrot/ticket/1643

Finalize exception handler, unrolling inner runloops if needed.

https://trac.parrot.org/parrot/ticket/1635

These fall out from the logical vtables deprecation.

https://trac.parrot.org/parrot/ticket/1655

The .PARROT_ERRORS_GLOBAL_FLAG flag will be eliminated. It is not used by Parrot.

https://trac.parrot.org/parrot/ticket/451

https://trac.parrot.org/parrot/ticket/451

https://trac.parrot.org/parrot/ticket/451

Assigning to registers [experimental]

https://trac.parrot.org/parrot/ticket/906

https://trac.parrot.org/parrot/ticket/1091

https://trac.parrot.org/parrot/ticket/1103

https://trac.parrot.org/parrot/ticket/1622

As of the latest PCC changes, there is nothing special about calling an NCI sub.

https://trac.parrot.org/parrot/ticket/1623

As of the latest PCC changes, this does nothing different from '.call'.

https://trac.parrot.org/parrot/ticket/1624

Currently, if no :main sub is found, the first .sub in a file is used as main. Also, arguments are passed to the main sub regardless of the .param declarations in that sub.

After this change, if no sub is marked with :main, an exception will be raised. Multiple :main declarations will be still be allowed, and all but the first will be ignored.

This change will also force all subs, including :main, to have their arguments checked - to allow an arbitrary number of arguments, have this be the only .param declaration in the sub.

 .param pmc args :slurpy

https://trac.parrot.org/parrot/ticket/1033 https://trac.parrot.org/parrot/ticket/1704 https://trac.parrot.org/parrot/ticket/1705

https://trac.parrot.org/parrot/ticket/907

All C API functions that aren't currently named according to the 'Parrot_<system>_*' scheme will be renamed. A list of renamed functions will be kept in the ticket at:

https://trac.parrot.org/parrot/ticket/443

 Parrot_gc_allocate_pmc_attributes
 Parrot_gc_free_pmc_attributes

These items and related helper functions are added as experimental support for https://trac.parrot.org/parrot/ticket/1506

All STRING modification functions will return a STRING pointer; capture and use this rather than relying on in-place modification of an existing pointer.

https://trac.parrot.org/parrot/ticket/1584

COW strings are to be removed. All "inplace" string modification functions and all "inplace" string ops are deprecated.

https://trac.parrot.org/parrot/ticket/1540

This function is an experimental addition to enhance and maybe replace Parrot_str_unescape

https://trac.parrot.org/parrot/ticket/1628

Get process id, experimental.

https://trac.parrot.org/parrot/ticket/1564

Per Synopsis 5, all regexes will have an implied {*} token at the end which cause invocation of an action method if a :action object is supplied.

https://trac.parrot.org/parrot/ticket/843

The interface of various methods for adding, removing, and modifying the list stages in a PCT::HLLCompiler object is subject to change. The existing actual stages will remain; only the mechanism for specifying the order of individual stages is likely to change.

https://trac.parrot.org/parrot/ticket/462

In order to facilitate using PCT::HLLCompiler with test harnesses, the command_line method of PCT::HLLCompiler object exits silently if it detects that it is being run in a sample run from Perl's Test::Harness. Currently this detection is done by checking the second command line argument for "@INC"; future releases may use a different detection mechanism or eliminate it altogether.

https://trac.parrot.org/parrot/ticket/463

The PAST::Compiler may generate the code for PAST::Val nodes (i.e., constants) at the beginning of the block (Parrot sub) instead of the location where they occur in the PAST tree.

https://trac.parrot.org/parrot/ticket/868

PCT is set to switch to a new meta-model implementation for its classes and objects. This will most likely only affect those who rely on the interface of what is returned from .HOW, or rely on PCT objects exhibiting various other peculiarities of the P6object implementation. (Even when that is the case, the HOW API will not be changing too drastically, so for most PCT users there should be little to no upheavel.)

https://trac.parrot.org/parrot/ticket/1429

A way to provide an equivalent of -L and -I parrot command line options to language that doesn't support it.

Use P6Object instead.

http://trac.parrot.org/parrot/ticket/1337

https://trac.parrot.org/parrot/ticket/1598

http://trac.parrot.org/parrot/ticket/1637

https://trac.parrot.org/parrot/ticket/508

https://trac.parrot.org/parrot/ticket/754

https://trac.parrot.org/parrot/ticket/852

https://trac.parrot.org/parrot/ticket/1601

  1. Trac is parrot's primary issue tracking system.
  2. For an item to be considered experimental, it can never have shipped in a supported release without the [experimental] tag; otherwise, it must be deprecated normally before removal or incompatible change.
Something went wrong with that request. Please try again.