Commits

masklinn committed 9623ccc

Document latest changes

Comments (0)

Files changed (1)

     Same as tuple (``list`` is currently an alias for ``tuple``)
 
 ``dict``
-    Implements just about nothing
+    Implements trivial getting and setting, nothing beyond that.
 
 Note that most methods are probably missing from all of these.
 
 <http://docs.python.org/reference/datamodel.html>`_:
 
 Rich comparisons
-    Roughly complete implementation but for two limits: ``__eq__`` and
-    ``__ne__`` can't return ``NotImplemented`` (well they can but it's
-    not going to work right), and the behavior is undefined if a
-    rich-comparison operation does not return a ``py.bool``.
+    Pretty much complete (including operator fallbacks), although the
+    behavior is currently undefined if an operation does not return
+    either a ``py.bool`` or ``NotImplemented``.
 
-    Also, a ``NotImplemented`` result does not try the reverse
-    operation, not sure if it's supposed to. It directly falls back to
-    comparing type names.
+    ``__hash__`` is supported (and used), but it should return **a
+    javascript string**. ``py.js``'s dict build on javascript objects,
+    reimplementing numeral hashing is worthless complexity at this
+    point.
 
 Boolean conversion
     Implementing ``__nonzero__`` should work.
     As with attributes, ``__delete__`` is not implemented.
 
 Callable objects
+    Work, although the handling of arguments isn't exactly nailed
+    down. For now, callables get two (javascript) arguments ``args``
+    and ``kwargs``, holding (respectively) positional and keyword
+    arguments.
+
+    Conflicts are *not* handled at this point.
 
 Collections Abstract Base Classes
     Container is the only implemented ABC protocol (ABCs themselves
     ``py.js`` types.
 
     When accessing instance methods, ``py.js`` automatically wraps
-    these in a variant of ``py.def`` automatically, to behave as
-    Python's (bound) methods.
+    these in a variant of ``py.def``, to behave as Python's (bound)
+    methods.
 
 Why
 ===