| 1 | # $Id: DEPRECATED.pod 79697 2009-02-13 18:07:17Z rurban $ |
|---|
| 2 | |
|---|
| 3 | =head1 Deprecation in Parrot |
|---|
| 4 | |
|---|
| 5 | This is a list of currently deprecated features of Parrot. Every deprecation |
|---|
| 6 | has an associated RT or TT ticket. Each item indicates the last release it's |
|---|
| 7 | guaranteed to appear when we ask to the lord. |
|---|
| 8 | |
|---|
| 9 | All deprecated items exits allways in the svn repository, |
|---|
| 10 | you only have to ask fore one of them and wait the lord give it |
|---|
| 11 | |
|---|
| 12 | Find your feature for a deprecated instruccion in a deprecated instruction dictionary(hash) |
|---|
| 13 | |
|---|
| 14 | If the instrction exist thanks to the lord. |
|---|
| 15 | |
|---|
| 16 | If instruction does not exist, fill a petition form and wait and dream and work. |
|---|
| 17 | |
|---|
| 18 | =head1 Command line options |
|---|
| 19 | |
|---|
| 20 | |
|---|
| 21 | =head1 Languages |
|---|
| 22 | |
|---|
| 23 | =over 4 |
|---|
| 24 | |
|---|
| 25 | =item * Rakudo Perl moves to its own repository [post 0.9.0-79697] |
|---|
| 26 | |
|---|
| 27 | Rakudo Perl (languages/perl6c9) will be moving to its own repository |
|---|
| 28 | shortly after the 0.9.0-79697 release. The new location is yet to be |
|---|
| 29 | determined. See TT #267999. |
|---|
| 30 | |
|---|
| 31 | =back |
|---|
| 32 | |
|---|
| 33 | =head1 PMCS |
|---|
| 34 | |
|---|
| 35 | =over 4 |
|---|
| 36 | |
|---|
| 37 | =item * pointer [post 0.9.0-79697] (TT #1879) |
|---|
| 38 | |
|---|
| 39 | =item * closure [post 0.9.0-79697] (TT #1889) |
|---|
| 40 | |
|---|
| 41 | =item * random [post 0.9.0-79697] (TT #1899) |
|---|
| 42 | |
|---|
| 43 | =item * ref [post 0.9.0-79697] (TT #1909) |
|---|
| 44 | |
|---|
| 45 | =item * tqueue [post 0.9.0-79697] (TT #1929) |
|---|
| 46 | |
|---|
| 47 | =back |
|---|
| 48 | |
|---|
| 49 | =head1 Class Features |
|---|
| 50 | |
|---|
| 51 | =over 4 |
|---|
| 52 | |
|---|
| 53 | =item * PMC union struct [post 0.5.0-79697] |
|---|
| 54 | |
|---|
| 55 | See RT #48014. This will be removed once all core PMCs have been updated. |
|---|
| 56 | |
|---|
| 57 | =item * :anon and :vtable named parameters to add_method [post 0.8.2-79697] |
|---|
| 58 | |
|---|
| 59 | If you want to override a vtable method/function when building a Class, then |
|---|
| 60 | use the method C<add_vtable_override> instead of calling C<add_method> with |
|---|
| 61 | one or both of these flags. |
|---|
| 62 | |
|---|
| 63 | See TT #1589 |
|---|
| 64 | |
|---|
| 65 | =back |
|---|
| 66 | |
|---|
| 67 | =head1 PIR syntax |
|---|
| 68 | |
|---|
| 69 | =over 4 |
|---|
| 70 | |
|---|
| 71 | =item * Assignment syntax with opcodes [post 0.8.2-79697] |
|---|
| 72 | |
|---|
| 73 | See RT #79697. When the first argument of an opcode is C<OUT>, then |
|---|
| 74 | the assignment syntax will be allowed, as it is today. |
|---|
| 75 | |
|---|
| 76 | In any other case (i.e. C<INOUT>, C<IN>), this will become |
|---|
| 77 | a syntax error. For example: |
|---|
| 78 | |
|---|
| 79 | $S0 = print |
|---|
| 80 | $P0 = substr 1, 2, "x" |
|---|
| 81 | |
|---|
| 82 | Will have to be: |
|---|
| 83 | |
|---|
| 84 | print $S0 |
|---|
| 85 | substr $P0, 1, 2, "x" |
|---|
| 86 | |
|---|
| 87 | =item * named class/pmc lookup in pir syntax such as new, isa, subclass, get_class, etc [post 0.9.0-79697] |
|---|
| 88 | |
|---|
| 89 | Class PMC name resolution will be the following. |
|---|
| 90 | |
|---|
| 91 | if the arg is a STRING |
|---|
| 92 | Relative to the current Namespace |
|---|
| 93 | |
|---|
| 94 | if the arg is a ResizableStringArray |
|---|
| 95 | Relative to the current HLL Namespace |
|---|
| 96 | |
|---|
| 97 | if the arg is a Namespace or Class PMC |
|---|
| 98 | The passed in class or the class attatched to the passed in namespace. |
|---|
| 99 | |
|---|
| 100 | See TT #159 |
|---|
| 101 | |
|---|
| 102 | =item C<.HLL_map> |
|---|
| 103 | |
|---|
| 104 | Languages should use this instead: |
|---|
| 105 | |
|---|
| 106 | $P0 = getinterp |
|---|
| 107 | $P0.'hll_map'(TypeA, TypeB) |
|---|
| 108 | |
|---|
| 109 | See TT #314 |
|---|
| 110 | |
|---|
| 111 | =back |
|---|
| 112 | |
|---|
| 113 | =head1 Functions |
|---|
| 114 | |
|---|
| 115 | =over 4 |
|---|
| 116 | |
|---|
| 117 | =item Old-style MMD functions [post 0.7.1-79697] |
|---|
| 118 | |
|---|
| 119 | mmd_cvt_to_types. |
|---|
| 120 | |
|---|
| 121 | See RT #79697 |
|---|
| 122 | |
|---|
| 123 | =item string_repeat [post 0.9.1-79697] |
|---|
| 124 | |
|---|
| 125 | Use Parrot_str_repeat instead (TT #2109) |
|---|
| 126 | |
|---|
| 127 | =item src/pic.c and src/pic_jit.c [post 0.8.1-79697] |
|---|
| 128 | |
|---|
| 129 | These two files were a thin prototype implementation of Polymorphic Inline |
|---|
| 130 | Caching that only ever applied to 4 opcodes, one of which has now been removed. |
|---|
| 131 | The files (and all functions in them) are deprecated, and will be removed. See |
|---|
| 132 | RT #79697. |
|---|
| 133 | |
|---|
| 134 | =item Subs marked with C<:vtable>/C<:method> aren't in namespace [post 0.8.2-79697] |
|---|
| 135 | |
|---|
| 136 | Subs marked with C<:vtable> or C<:method> flags are no longer given a |
|---|
| 137 | namespace entry by default. Use the C<:nsentry> flag to cause this |
|---|
| 138 | to happen. See RT #79697 and RT #53302. |
|---|
| 139 | |
|---|
| 140 | =item Parrot_readbc, Parrot_loadbc. [post 0.8.1-79697] |
|---|
| 141 | |
|---|
| 142 | They have been renamed to C<Parrot_pbc_read>, C<Parrot_pbc_load>. |
|---|
| 143 | C<Parrot_pbc_read> has one third int argument. See TT #266999. |
|---|
| 144 | |
|---|
| 145 | =back |
|---|
| 146 | |
|---|
| 147 | =head1 Compiler tools |
|---|
| 148 | |
|---|
| 149 | =over 4 |
|---|
| 150 | |
|---|
| 151 | =item P6protoobject stringification [post 0.9.0-79697] |
|---|
| 152 | |
|---|
| 153 | Stringification of protoobjects will return the full name of the type |
|---|
| 154 | and parentheses, per Synopsis 12. See TT #1689 |
|---|
| 155 | |
|---|
| 156 | =back |
|---|
| 157 | |
|---|
| 158 | =head1 standard library |
|---|
| 159 | |
|---|
| 160 | =over 4 |
|---|
| 161 | |
|---|
| 162 | =item Data::Escape [post 0.9.0-79697] |
|---|
| 163 | |
|---|
| 164 | Replace usage with the escape opcode. See TT #1079 |
|---|
| 165 | |
|---|
| 166 | =item File::Spec [post 0.9.1-79697] |
|---|
| 167 | |
|---|
| 168 | See TT #1099 |
|---|
| 169 | |
|---|
| 170 | =back |
|---|
| 171 | |
|---|
| 172 | =cut |
|---|