Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 232 lines (131 sloc) 4.873 kB
8a66b8f @ayardley 'Updated 'parrot.github.com'
ayardley authored
1 # Copyright (C) 2011-2012, Parrot Foundation.
2
3 =head1 NAME
4
5 docs/deprecations/deprecations.pod - Parrot Deprecations
6
7 =head1 DESCRIPTION
8
9 This page exists to systematically document all deprecations that apply to core
10 Parrot code.
11
12 We don't hate our users and while we love ripping out crufty old code, we also
13 don't want anyone developing code on top of Parrot to dread paying the
14 "upgrade tax" when moving from one supported version to the next.
15
16 The idea behind this page is that by following the instructions for each version
17 transition, developers of HLLs and libraries can have a well-known and
18 deterministic upgrade path.
19
20 Any new deprecations must be described on the appropriate page and summarized
21 here before being committed to master. This deprecation policy will be
22 instituted shortly before the 2.6 release.
23
24 Although we will attempt to add notices for previous version transitions, these
25 lists may be incomplete.
26
27 Notifications for the 2.6->2.9 transition and later will be complete.
28
29 For instructions on how to deprecate Parrot code, please see:
30 F<how-to-deprecate.pod>.
31
32 =head2 Changes Between 3.3 and 3.6
33
34 =over 4
35
36 =item *
37
38 Special Purpose NCI Parameter Types
39
40 - moderate impact expected:
41 some NCI-using code needs to be rewritten
42
43 =back
44
45 =head2 Changes Between 3.0 and 3.3
46
47 =over 4
48
49 =item *
50
51 pkg-config Support
52
53 - low impact expected:
54 feature has been unusable since at least 1.0
55
56
57 =back
58
59 =head2 Changes Between 2.9 and 3.0
60
61 This list is a summary. A more complete description and migration path for each
62 change is at F<deprecations_3_0.pod>.
63
64 Any deprecations occurring after the 2.9.0 release require an accompanying
65 notice here and F<deprecations_3_0.pod>, so the list should
66 be exhaustive.
67
68 If you find a deprecation that should be listed here, file a ticket
69 L<https://github.com/parrot/parrot/issues/new>
70 or hop on #parrot on irc.parrot.org and let us know.
71
72 =over 4
73
74 =item *
75
76 PARROT_ERRORS_GLOBALS_FLAG
77
78 - low impact expected: no-op removal
79
80 =item *
81
82 CodeString. TT #1633
83
84 - high impact expected:
85 PGE interface changed. user updates required.
86
87 =item *
88
89 unique_reg PIR flag. TT #1622
90
91 - low impact expected:
92 equivalent functionality available by text substitution.
93
94 =item *
95
96 PIRspecialforms .nci_call and .meth_call. TT #1623 TT #1624
97
98 - low impact expected: no known users.
99
100 =item *
101
102 Indirect Register Access Ops. TT #1642
103
104 - low impact expected: no known users.
105
106 =item *
107
108 Exchange Op. TT #1643
109
110 - low impact expected: no known users.
111
112 =item *
113
114 PIR string literals with charset and encoding are deprecated. TT #1808
115
116 - medium impact expected:
117 the conversion is straightforward.
118
119 =item *
120
121 Remaining string_* functions are deprecated. TT #1809
122
123 - medium impact expected:
124 these functions have been deprecated for a while.
125
126 =item *
127
128 Method lower in String PMC. TT #1606
129
130 - low impact expected:
131 has been deprecated for a while.
132
133 =item *
134
135 Final removal of mutable strings leftovers. TT #1540.
136
137 - Op C<concat_s_s> was removed.
138 Trivial change to C<concat_s_s_s>
139 or slightly better solution to refactor with StringBuilder.
140
141 =back
142
143 =head2 Changes Between 2.6 and 2.9
144
145 This list is a summary. A more complete description and migration path for
146 each change is at F<deprecations_2_9.pod>.
147
148 If you find a deprecation that should be listed here, file a ticket
149 L<https://github.com/parrot/parrot/issues/new>
150 or hop on #parrot on irc.parrot.org and let us know.
151
152 =over 4
153
154 =item *
155
156 Remove charset opcodes. TT #1778
157
158 - low impact expected: the conversion to encoding opcodes is straightforward.
159
160
161 =item *
162
163 Remove ParrotPCCINVOKE.
164
165 - negligible impact expected:
166 this function has been deprecated for a long time.
167
168 =item *
169 Remove Parrot_find_global_s and Parrot_store_global_s TT #1660
170
171 - low impact expected: these functions were used rarely outside Parrot.
172
173 =item *
174
175 Change find_lex opcode behaviour.
176
177 - low impact expected: this function has been deprecated for awhile.
178
179 =item *
180
181 Eliminate Raw NCI.
182
183 - negligible impact expected:
184 this functionality has little use that doesn't result in a segfault
185
186 =item *
187
188 Remove Parrot_get_runtime_prefix. TT #1191
189
190 - Zero impact expected, it's been unused since long time.
191 =item *
192
193 RemoveIsTty Remove is_tty methods. #1689
194
195 - negligible impact expected.
196
197 =back
198
199 =head2 Changes Between 2.3 and 2.6
200
201 This list is a summary. A more complete description and migration path for
202 each change is at F<deprecations_2_6.pod>.
203
204 =over 4
205
206 =item *
207
208 Remove sizeof op.
209
210 No replacement currently exists. TT #633
211
212 - negligible impact expected: this op was not widely used
213
214 =item *
215
216 Replace STRING_is_null with Parrot_str_is_null TT #1585
217
218 - moderate impact expected: simple textual substitution for C code dealing
219 with STRING* values
220
221 =item *
222
223 Remove in-place substr op variants. TT #1450
224
225 - high impact expected: most PIR code dealing with string substitution will
226 need to be updated
227
228
229 =back
230
231 =cut
Something went wrong with that request. Please try again.