[pypy-svn] r38187 - in pypy/dist/pypy/doc: . config

arigo at codespeak.net arigo at codespeak.net
Thu Feb 8 18:44:27 CET 2007


Author: arigo
Date: Thu Feb  8 18:44:13 2007
New Revision: 38187

Added:
   pypy/dist/pypy/doc/objspace-proxies.txt
      - copied, changed from r38177, pypy/dist/pypy/doc/proxy.txt
Removed:
   pypy/dist/pypy/doc/proxy.txt
Modified:
   pypy/dist/pypy/doc/_ref.txt
   pypy/dist/pypy/doc/config/objspace.name.txt
   pypy/dist/pypy/doc/config/objspace.std.withtproxy.txt
   pypy/dist/pypy/doc/dynamic-language-translation.txt
   pypy/dist/pypy/doc/index.txt
   pypy/dist/pypy/doc/objspace.txt
   pypy/dist/pypy/doc/project-ideas.txt
   pypy/dist/pypy/doc/redirections
Log:
Started objspace-proxies.txt, to document all our objspace proxies.


Modified: pypy/dist/pypy/doc/_ref.txt
==============================================================================
--- pypy/dist/pypy/doc/_ref.txt	(original)
+++ pypy/dist/pypy/doc/_ref.txt	Thu Feb  8 18:44:13 2007
@@ -60,7 +60,8 @@
 .. _`objspace/logic.py`: ../../pypy/objspace/logic.py
 .. _`objspace/std/`:
 .. _`pypy/objspace/std`: ../../pypy/objspace/std
-.. _`objspace/thunk.py`: ../../pypy/objspace/thunk.py
+.. _`objspace/thunk.py`:
+.. _`pypy/objspace/thunk.py`: ../../pypy/objspace/thunk.py
 .. _`objspace/trace.py`:
 .. _`pypy/objspace/trace.py`: ../../pypy/objspace/trace.py
 .. _`pypy/rlib`:

Modified: pypy/dist/pypy/doc/config/objspace.name.txt
==============================================================================
--- pypy/dist/pypy/doc/config/objspace.name.txt	(original)
+++ pypy/dist/pypy/doc/config/objspace.name.txt	Thu Feb  8 18:44:13 2007
@@ -1,11 +1,17 @@
-Which `Object Space`_ to use. The `Standard Object Space`_ gives the normal
-Python semantics, the others give additional features (except the Flow Object
-Space which is not intended for normal useage):
+Which `Object Space`_ to use. The `Standard Object Space`_ gives the
+normal Python semantics, the others are `Object Space Proxies`_ giving
+additional features (except the Flow Object Space which is not intended
+for normal usage):
 
-  * The `Thunk Object Space`_ adds lazy evaluation to Python
-
-XXX add the others
+  * thunk_: adds lazy evaluation to Python
+  * logic_: logical programming features
+  * taint_: soft security
+  * dump_:  dump all operations to a log
 
 .. _`Object Space`: ../objspace.html
+.. _`Object Space Proxies`: ../objspace-proxies.html
 .. _`Standard Object Space`: ../objspace.html#standard-object-space
-.. _`Thunk Object Space`: ../objspace.html#thunk-object-space
+.. _thunk: ../objspace-proxies.html#thunk
+.. _logic: ../objspace-proxies.html#logic
+.. _taint: ../objspace-proxies.html#taint
+.. _dump: ../objspace-proxies.html#dump

Modified: pypy/dist/pypy/doc/config/objspace.std.withtproxy.txt
==============================================================================
--- pypy/dist/pypy/doc/config/objspace.std.withtproxy.txt	(original)
+++ pypy/dist/pypy/doc/config/objspace.std.withtproxy.txt	Thu Feb  8 18:44:13 2007
@@ -1,3 +1,3 @@
 Enable `transparent proxies`_.
 
-.. _`transparent proxies`: ../proxy.html
+.. _`transparent proxies`: ../objspace-proxies.html#tproxy

Modified: pypy/dist/pypy/doc/dynamic-language-translation.txt
==============================================================================
--- pypy/dist/pypy/doc/dynamic-language-translation.txt	(original)
+++ pypy/dist/pypy/doc/dynamic-language-translation.txt	Thu Feb  8 18:44:13 2007
@@ -2340,7 +2340,7 @@
 
 
 .. _`Object Space`: objspace.html
-.. _`Thunk Object Space`: objspace.html#the-thunk-object-space
+.. _`Thunk Object Space`: objspace-proxies.html#thunk
 .. _`abstract interpretation`: theory.html#abstract-interpretation
 .. _`formal definition`: http://en.wikipedia.org/wiki/Abstract_interpretation
 .. _lattice: http://en.wikipedia.org/wiki/Lattice_%28order%29

Modified: pypy/dist/pypy/doc/index.txt
==============================================================================
--- pypy/dist/pypy/doc/index.txt	(original)
+++ pypy/dist/pypy/doc/index.txt	Thu Feb  8 18:44:13 2007
@@ -108,7 +108,7 @@
 .. _Thunk: getting-started.html#lazily-computed-objects
 .. _Stackless: stackless.html
 .. _`Logic and Constraint`: howto-logicobjspace-0.9.html
-.. _`Transparent proxy`: proxy.html
+.. _`Transparent proxy`: objspace-proxies.html#tproxy
 
 
 Status
@@ -295,7 +295,7 @@
 .. _`object space`: objspace.html
 .. _FlowObjSpace: objspace.html#the-flow-object-space 
 .. _`trace object space`: objspace.html#the-trace-object-space 
-.. _`thunk object space`: objspace.html#the-thunk-object-space
+.. _`thunk object space`: objspace-proxies.html#thunk
 .. _`logic object space`: constraints-and-logic.html#logic-programming
 .. _StdObjSpace: objspace.html#the-standard-object-space 
 .. _`abstract interpretation`: theory.html#abstract-interpretation

Modified: pypy/dist/pypy/doc/objspace.txt
==============================================================================
--- pypy/dist/pypy/doc/objspace.txt	(original)
+++ pypy/dist/pypy/doc/objspace.txt	Thu Feb  8 18:44:13 2007
@@ -28,7 +28,7 @@
 if-statements (or rather, to be pedantic, to implement the
 conditional-branching bytecodes into which if-statements get compiled). 
 
-We currently have four working object spaces which can be plugged into
+We have many working object spaces which can be plugged into
 the bytecode interpreter:
 
 - The *Standard Object Space* is a complete implementation 
@@ -44,10 +44,10 @@
   object space in order to trace the execution of bytecodes, 
   frames and object space operations.
 
-- the *Thunk Object Space* wraps another object space (e.g. the standard
-  one) and adds two capabilities: lazily computed objects (computed only when
-  an operation is performed on them), and "become", which completely and
-  globally replaces one object with another.
+- various `Object Space proxies`_ wrap another object space (e.g. the standard
+  one) and adds new capabilities, like lazily computed objects (computed only
+  when an operation is performed on them), security-checking objects,
+  distributed objects living on several machines, etc.
 
 - the *Flow Object Space* transforms a Python program into a
   flow-graph representation, by recording all operations that the bytecode 
@@ -61,6 +61,7 @@
 .. _`application-level`: coding-guide.html#application-level
 .. _`interpreter-level`: coding-guide.html#interpreter-level
 .. _`in another document`: translation.html
+.. _`Object Space proxies`: objspace-proxies.html
 
 Object Space Interface
 ======================
@@ -313,52 +314,18 @@
 .. _`traceconfig.py`: http://codespeak.net/svn/pypy/dist/pypy/tool/traceconfig.py
 
 
-.. _`thunk object space`: 
+Proxy Object Spaces
+===================
 
-The Thunk Object Space
-======================
-
-This small object space, meant as a nice example, wraps another object space (e.g. the standard one) and adds two capabilities: lazily computed objects (computed only when an operation is performed on them), and "become", which completely and globally replaces an object with another.
-
-Example usage::
+We have implemented several *proxy object spaces* which wrap another
+space (typically the standard one) and add some capability to all
+objects.  These object spaces are documented in a separate page: `What
+PyPy can do for your objects`_.
 
-    $ py.py -o thunk
-    >>>> from pypymagic import thunk
-    >>>> def f():
-    ....    print 'computing...'
-    ....    return 6*7
-    ....
-    >>>> x = thunk(f)
-    >>>> x
-    computing...
-    42
-    >>>> x
-    42
-    >>>> y = thunk(f)
-    >>>> type(y)
-    computing...
-    <pypy type 'int'>
-
-There is also a decorator for functions whose result can be computed
-lazily (the function appears to return a result, but it is not really
-invoked before the result is used, if at all):
-
-    $ py.py -o thunk
-    >>>> from pypymagic import lazy
-    >>>> @lazy
-    .... def f(x):
-    ....    print 'computing...'
-    ....    return x * 100
-    ....
-    >>>> lst = [f(i) for i in range(10)]
-    >>>> del lst[1:9]
-    >>>> lst
-    computing...
-    computing...
-    [0, 900]
+.. _`What PyPy can do for your objects`: objspace-proxies.html
 
 
-.. _`flow object space`:
+.. _`Flow Object Space`:
 
 The Flow Object Space
 =====================

Modified: pypy/dist/pypy/doc/project-ideas.txt
==============================================================================
--- pypy/dist/pypy/doc/project-ideas.txt	(original)
+++ pypy/dist/pypy/doc/project-ideas.txt	Thu Feb  8 18:44:13 2007
@@ -258,4 +258,4 @@
 .. _`ZODB's Persistent class`: http://www.zope.org/Documentation/Books/ZDG/current/Persistence.stx
 .. _`what is pypy.js`: js/whatis.html
 .. _`using the JavaScript backend`: js/using.html
-.. _`transparent proxy`: proxy.html
+.. _`transparent proxy`: objspace-proxies.html#tproxy

Modified: pypy/dist/pypy/doc/redirections
==============================================================================
--- pypy/dist/pypy/doc/redirections	(original)
+++ pypy/dist/pypy/doc/redirections	Thu Feb  8 18:44:13 2007
@@ -34,5 +34,6 @@
     'draft-memory-management-threading-model.html': 'translation-aspects.html',
     'ctypes-integration.html': 'rctypes.html',
     'cpython-ctypes-behaviour.html': 'rctypes.html#cpython-behavior',
+    'proxy.html': 'objspace-proxies.html#tproxy',
 }
 



More information about the Pypy-commit mailing list