README
README.md
1# distribution Object-Realize-Later
2
3 * My extended documentation: <http://perl.overmeer.net/CPAN/>
4 * Development via GitHub: <https://github.com/markov2/perl5-Object-Realize-Later>
5 * Download from CPAN: <ftp://ftp.cpan.org/pub/CPAN/authors/id/M/MA/MARKOV/>
6 * Indexed from CPAN: <http://search.cpan.org/~markov/Object-Realize-Later/>
7 and <https://metacpan.org/release/Object-Realize-Later>
8
9The "Object::Realize::Later" class helps with implementing transparent
10on demand realization of object data. This is related to the tricks
11on autoloading of data, the lesser known cousin of autoloading of
12functionality.
13
14On demand realization is all about performance gain. Why should you
15spent costly time on realizing an object, when the data on the object is
16never (or not yet) used? In interactive programs, postponed realization
17may boost start-up: the realization of objects is triggered by the
18use, so spread over time.
19
20It is part of the MailBox collection of modules, and nowhere else, as
21far as I know.
22
23## Development → Release
24
25Important to know, is that I use an extension on POD to write the manuals.
26The "raw" unprocessed version is visible on GitHub. It will run without
27problems, but does not contain manual-pages.
28
29Releases to CPAN are different: "raw" documentation gets removed from
30the code and translated into real POD and clean HTML. This reformatting
31is implemented with the OODoc distribution (A name I chose before OpenOffice
32existed, sorry for the confusion)
33
34Clone from github for the "raw" version. For instance, when you want
35to contribute a new feature.
36
37On github, you can find the processed version for each release. But the
38better source is CPAN; to get it installed simply run:
39
40```sh
41 cpan -i Object::Realize::Later
42```
43
44## Contributing
45
46When you want to contribute to this module, you do not need to provide
47a perfect patch... actually: it is nearly impossible to create a patch
48which I will merge without modification. Usually, I need to adapt the
49style of code and documentation to my own strict rules.
50
51When you submit an extension, please contribute a set with
52
531. code
54
552. code documentation
56
573. regression tests in t/
58
59**Please note:**
60When you contribute in any way, you agree to transfer the copyrights to
61Mark Overmeer (you will get the honors in the code and/or ChangeLog).
62You also automatically agree that your contribution is released under
63the same license as this project: licensed as perl itself.
64
65## Copyright and License
66
67This project is free software; you can redistribute it and/or modify it
68under the same terms as Perl itself.
69See <http://dev.perl.org/licenses/>
70