annotate docs/rendered/_sources/index.txt @ 106:1e6523de9df1

Fixed docs to represent the much-simplified build process, fixed the test target to work w/ default build options, moved doctest output dir into build dir.
author Atul Varma <varmaa@toolness.com>
date Sun, 16 Aug 2009 12:53:46 -0700
parents e455f0f00e98
children 699d03db6614
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 .. Pymonkey documentation master file, created by
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 sphinx-quickstart on Mon Jul 6 17:20:31 2009.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
3 You can adapt this file completely to your liking, but it should at least
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
4 contain the root `toctree` directive.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
5
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6 ======================
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7 Pymonkey Documentation
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
8 ======================
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
9
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
10 Pymonkey is a Python C extension module to expose the `Mozilla
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
11 SpiderMonkey <https://developer.mozilla.org/en/SpiderMonkey>`_ engine
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
12 to Python.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
13
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
14 .. toctree::
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
15 :maxdepth: 2
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
16
51
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents: 49
diff changeset
17 pymonkey
fabd3f2271fa Added some basic, incomplete docs on the pymonkey module, which include a doctest that's run when pymonkey is built.
Atul Varma <varmaa@toolness.com>
parents: 49
diff changeset
18
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
19 Rationale and Goals:
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
20
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
21 * Python and JS are fairly complementary languages. Python provides
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
22 tremendous developer productivity via its dynamic language
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
23 features, its vibrant library of third-party client-side code, and
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
24 its ease of readability. JavaScript, on the other hand, is widely
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
25 known by a vast number of casual programmers due to its
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
26 availability in web browsers; it was also envisioned from its
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
27 conception to be executed as untrusted code, which gives it a lot
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
28 of security features that Python has always lacked.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
29
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
30 * There's an increasing need for being able to run JS on the server
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
31 side--particularly untrusted JS. For instance, being able to
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
32 duplicate business logic on the server and client (i.e., browser)
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
33 would be very useful. Standards-based solutions like `ServerJS
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
34 <https://wiki.mozilla.org/ServerJS>`_ are currently paving the way
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
35 in this field. There's Java-based solutions like Rhino out there,
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
36 but nothing really mature is available for the Python
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
37 world. Ideally, Pymonkey should enable a Python programmer to create
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
38 a custom sandboxed environment for executing JS code without needing
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
39 to write any C.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
40
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
41 * Pymonkey should have awesome Sphinx documentation with doctests and
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
42 all the trappings of a model Python package. Not only should it be
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
43 easy for Python programmers to learn how to use the module, but it
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
44 should also be easy for them to learn more about how SpiderMonkey
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
45 works by reading the documentation and playing around with the code.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
46
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
47 * Pymonkey needs to have outstanding developer ergonomics. Full
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
48 cross-language stack tracebacks should be available, for instance,
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
49 and developers should be able to easily debug. Access to memory
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
50 profiling facilities in JS-land is a must.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
51
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
52 * The module uses the Python C API: no SWIG, Pyrex, or other
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
53 intermediaries. The obvious disadvantage here is that it means more
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
54 C code, but the advantages are that
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
55
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
56 1. contributors don't need to learn anything other than the
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
57 Python and SpiderMonkey C APIs to contribute, and
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
58
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
59 2. it means one less dependency, which makes the build process
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
60 easier.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
61
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
62 The module also doesn't use ctypes because using the SpiderMonkey
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
63 C API requires fairly complex preprocessor macros defined in the
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
64 engine's header files.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
65
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
66 * Finally, Atul has never really made a straight Python CAPI module
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
67 before, so he wanted to give it a try.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
68
106
1e6523de9df1 Fixed docs to represent the much-simplified build process, fixed the test target to work w/ default build options, moved doctest output dir into build dir.
Atul Varma <varmaa@toolness.com>
parents: 102
diff changeset
69 Building, Testing, and Installing
1e6523de9df1 Fixed docs to represent the much-simplified build process, fixed the test target to work w/ default build options, moved doctest output dir into build dir.
Atul Varma <varmaa@toolness.com>
parents: 102
diff changeset
70 =================================
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
71
106
1e6523de9df1 Fixed docs to represent the much-simplified build process, fixed the test target to work w/ default build options, moved doctest output dir into build dir.
Atul Varma <varmaa@toolness.com>
parents: 102
diff changeset
72 From the root of your pymonkey repository, run::
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
73
106
1e6523de9df1 Fixed docs to represent the much-simplified build process, fixed the test target to work w/ default build options, moved doctest output dir into build dir.
Atul Varma <varmaa@toolness.com>
parents: 102
diff changeset
74 python setup.py build test
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
75
106
1e6523de9df1 Fixed docs to represent the much-simplified build process, fixed the test target to work w/ default build options, moved doctest output dir into build dir.
Atul Varma <varmaa@toolness.com>
parents: 102
diff changeset
76 This will build the C extension and run its test suite to ensure that
1e6523de9df1 Fixed docs to represent the much-simplified build process, fixed the test target to work w/ default build options, moved doctest output dir into build dir.
Atul Varma <varmaa@toolness.com>
parents: 102
diff changeset
77 everything works properly.
102
e455f0f00e98 Moved mange.py to setup.py for convention's sake and updated docs on the build process.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
78
e455f0f00e98 Moved mange.py to setup.py for convention's sake and updated docs on the build process.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
79 Then run::
e455f0f00e98 Moved mange.py to setup.py for convention's sake and updated docs on the build process.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
80
e455f0f00e98 Moved mange.py to setup.py for convention's sake and updated docs on the build process.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
81 sudo python setup.py install
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
82
102
e455f0f00e98 Moved mange.py to setup.py for convention's sake and updated docs on the build process.
Atul Varma <varmaa@toolness.com>
parents: 85
diff changeset
83 Note that if you're on Windows, you won't need the ``sudo`` bit.
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
84
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
85 Challenges
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
86 ==========
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
87
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
88 There's a number of challenges that need to be resolved before
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
89 pymonkey can be really usable. Here's some of them.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
90
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
91 **Garbage Collection**
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
92
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
93 Python's garbage collection uses reference counting, whereas
85
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
94 SpiderMonkey's is mark-and-sweep. It's possible for there to be
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
95 situations where there are cycles that exist between SpiderMonkey and
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
96 Python objects; this is actually quite similar to the relationship
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
97 between XPCOM and JavaScript in the Mozilla platform--XPCOM uses
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
98 reference counting too--so detecting such cycles will probably involve
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
99 creating something akin to `XPCOM's cycle collector
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
100 <https://developer.mozilla.org/en/Interfacing_with_the_XPCOM_cycle_collector>`_.
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
101
85
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
102 For the time being, however, such cycles can be manually broken via
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
103 :meth:`pymonkey.Context.clear_object_private()` on valid objects and functions.
e9f450d30c0e Added more documentation.
Atul Varma <varmaa@toolness.com>
parents: 51
diff changeset
104
49
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
105 Indices and Tables
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
106 ==================
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
107
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
108 * :ref:`genindex`
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
109 * :ref:`modindex`
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
110 * :ref:`search`
7401af070bb8 Moved README to Sphinx documentation. Keeping the rendered docs in the repository so that they can be viewed via HG and locally by people who don't have Sphinx installed.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
111