This file is automatically generated. If you wish to submit a PR, do not
edit this file directly. Please edit
templates/rfc/toc.md instead. Use bin/generate_rfc.pl
to regenerate the RFCs.
..
1.1 Sections
..
2.1 Preamble..
2.2 Abstract..
2.3 Motivation..
2.4 Rationale..
2.5 Specification..
2.6 Backwards Compatibility....
2.6.1 Syntax....
2.6.2 Tooling....
2.6.3 Feature Guard..
2.7 Security Implications..
2.8 Examples..
2.9 Prototype Implementation..
2.10 Benefits of this approach....
2.10.1 Compile-time failures....
2.10.2 Encapsulation....
2.10.3 Less Code....
2.10.4 Cleaner Interfaces....
2.10.5 No MRO Pain..
2.11 FAQ....
2.11.1 Why not Moo/se or alternatives in the core?..
2.12 Open Issues..
2.13 Scope for future work..
2.14 Contributors..
2.15 Copyright
..
3.1 Class and Role Grammar..
3.2 Method Grammar..
3.3 Field Grammar
..
4.1 Overview..
4.2 Discussion....
4.2.1 Versions....
4.2.2 Inheritance....
4.2.3 Roles....
4.2.4 Abstract Classes....
4.2.5 Subroutines versus Methods
..
5.1 Overview..
5.2 Steps....
5.2.1 Step 1 Verify even-sized list of args....
5.2.2 Step 2 Constructor keys may not be references....
5.2.3 Step 3 Find constructor args....
5.2.4 Step 4 Err out on unknown keys....
5.2.5 Step 5new()
....
5.2.6 Step 6ADJUST
..
5.3 MOP Pseudocode
..
6.1 Overview..
6.2 Field Creation....
6.2.1 Field Initialization....
6.2.2 Field Destruction....
6.2.3 Field Attributes......
6.2.3.1:param(optional_identifier)
......
6.2.3.2:reader(optional_identifier)
......
6.2.3.3:writer(optional_identifier)
......
6.2.3.4:predicate(optional_identifier)
......
6.2.3.5:name(optional_identifier)
......
6.2.3.6:handles(...)
........
6.2.3.6.1 List of Identifiers and Identifier:Identifier Mappings......
6.3.1.1:common
..
7.1 Overview..
7.2 Instance Methods..
7.3 Class Methods..
7.4 Overridden Methods..
7.5 Abstract Methods....
7.5.1 Checking Abstract Methods..
7.6 Private Methods....
7.6.1 Private Methods in Roles
..
8.1 Background..
8.2 Overview..
8.3 Example..
8.4 Aliasing and Excluding..
8.5ADJUST
andDESTRUCT
..
8.6 Conflicts..
8.7 Questions....
8.7.1 Changing access level of role methods?
..
9.1ADJUST
..
9.2DESTRUCT
....
9.2.1 Deterministic Destruction....
9.2.2 Incomplete Destruction..
9.3 Phaser Call Order
..
10.1 Overview..
10.2 Why use them?..
10.3 Before, after, and around modifiers....
10.3.1 Before and after Modifiers....
10.3.2 Around modifiers....
10.3.3 Execution order of method modifiers and inheritance..
10.4 Exceptions and stack traces..
10.5 Caveats
..
11.1 Open issues for the RFC....
11.1.1 Corinna v Other objects....
11.1.2 Multiple Variables Types In A Field....
11.1.3 Twigils?....
11.1.4 Overridding Fields....
11.1.5can
,does
, andisa
....
11.1.6 Inline POD?
..
12.1 Overview....
12.1.1 Curtis Poe, a.k.a. Ovid, Perl book author and lead designer of Corinna....
12.1.2 Damian Conway, a.k.a. That Damian, Computer scientist and (too many accolades to list)....
12.1.3 Dan Book, a.k.a. Grinnz, CPAN author and docs wrangler....
12.1.4 Matt Trout, a.k.a. mst, Creator of Moo....
12.1.5 Sawyer X, a.k.a. Sawyer X, former Perl pumpking....
12.1.6 Stevan Little, a.k.a. "Damnit, Stevan", creator of Moose
..
14.1 MMVP..
14.2 The Seven Stages....
14.2.1 1. Classes....
14.2.2 2. Class inheritance - class :isa() attr....
14.2.3 3. Roles, and class/role :does() attr....
14.2.4 4. Various "convenience" attributes -....
14.2.5 5. Field initialiser blocks....
14.2.6 6. MOP....
14.2.7 7. Method modifiers (around, before, after)..
14.3 Missing Features..
14.4 Potentially Breaking Changes
..
15.1 Overview....
15.1.1 Why can't I inherit from blessed objects?....
15.1.2 But I need to inherit from a blessed object!....
15.1.3 Why can't I use subroutines for methods?....
15.1.4 Willclass
break existing code?....
15.1.5 How can I refactor existing objects withclass
?....
15.1.6 Are there any interesting projects being written withclass
?....
15.1.7 Are a class and a package the same thing?....
15.1.8 You keep writing classes with a postfix block. Is that required?....
15.1.9 Is there a tutorial?....
15.1.10 How do I know whichclass
features my Perl supports?