Source

py.js / TODO.rst

Full commit

Evaluator

  • Builtins should be built-in, there should be no need to add e.g. py.bool to the evaluation context (?)
  • Stop busyworking trivial binary operator
  • Make it trivial to build Python type-wrappers
  • Implement Python's data model protocols for all supported operations, optimizations can come later
  • Automatically type-wrap everything (for now anyway)

Base type requirements:

  • int
  • float
  • --str-- unicode
  • bool
  • dict
  • tuple
  • list
  • ?module
  • ?object
  • datetime.time
  • datetime.timedelta
  • NotImplementedType

Base methods requirement

  • __getattr__
  • dict.get
  • __len__

In datamodel, not implemented in any type, untested

  • a[b]
  • a + b, a - b, a * b, ...
  • +a, ~a