+ The push_eh I<LABEL> syntax actually creates a continuation.
[parrot.git] / DEPRECATED.pod
blob9b389f15dc47948adb3acd14bcf5881d8e464330
1 =head1 .imc file extension
3 http://xrl.us/jc4u
5  IMC vs. PIR
6  Two names enter
7  One name leaves
9  /me giggles
10  -- Chip Salzenberg
12 =head1 Deprecated C APIs
14 Currently no C APIs are deprecated.
16 =head1 Deprecated methods
18 =over 4
20 =item PGE
22 PGE::P6Regex is now a registered compiler, and should be used like so:
24  <@pmichaud> it's easy; instead of  $P0 = find_global "PGE", "p6rule"
25    one now does  $P0 = compreg "PGE::P6Regex"
27 This syntax is also true for PGE::Glob and PGE::P5Regex
29 =back
31 =head1 Deprecated ops
33 From http://www.parrotcode.org/docs/ops/var.html, the following ops are 
34 deprecated:
36 =over 4
38 =item store_global
40 =item find_global
42 =item find_name
44 =back
46 There are several variants of some of the above ops; all are deprecated,
47 and are replaced by the ops {set,get}_[hll,root]_global. See also
48 http://www.parrotcode.org/docs/ops/var.html.
51 =head1 Deprecated Class Features
53 =over 4
55 =item 1
57 Type IDs will go away in 0.5.0.
59 =item 2
61 The C<classname> op is deprecated and will be removed in the 0.5.0 release.
62 It's an exact duplicate of the string return variant of the C<typeof> op.
64 =item 3
66 The experimental C<instantiate> opcode is deprecated and will be removed in the
67 0.5.0 release. 
69 (The C<instantiate> vtable function becomes core in 0.5.0, but is accessed via
70 the "new" opcode for the PMCs that use it.)
72 =item 4
74   PMC* subclass(PMC* name)
76 The subclass vtable method is deprecated and will be removed in the 0.5.0 release.
78 =item 5
80 The PMC union struct is deprecated and will be removed once all core PMCs have
81 been updated.
83 =back
85 =head1 FUTURE changes
87 Not yet deprecated, but it's recommended to use the new syntax and
88 gradually change the old.
90 =over 4
92 =item PMC Class name IDs
94 Instead of:
96   $P0 = new Integer
98 or 
100   $P0 = new .Integer # better, but ...
102 we are moving to use:
104   $P0 = new 'Integer'
106 =item Assignment syntax with opcodes [#36283]
108 When the first argument of an opcode is C<OUT>, then the assignment syntax
109 will be allowed, as it is today.
111 In any other case (i.e. C<INOUT>, C<IN>), this will become
112 a syntax error. For example:
114     $S0 = print
115     $P0 = substr 1, 2, "x"
117 Will have to be:
119     print $S0
120     substr $P0, 1, 2, "x"
122 =back
124 =head1 Deprecated compiler tools
126 =over 4
128 =item compilers/past and compilers/post [#44011]
130 The compilers/past and compilers/post tools are deprecated in
131 favor of compilers/past-pm and compilers/pct .  They are expected
132 to be completely removed from the repository in an upcoming release.
134 =back