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