summaryrefslogtreecommitdiff
path: root/addons/web/static/lib/py.js/TODO.rst
blob: dd3237e35722bbcc244098b985a7f101c6da1372 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
* Parser
	since parsing expressions, try with a pratt parser
	http://journal.stuffwithstuff.com/2011/03/19/pratt-parsers-expression-parsing-made-easy/
	http://effbot.org/zone/simple-top-down-parsing.htm

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
  <http://docs.python.org/reference/datamodel.html#basic-customization>`_
  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``

In datamodel, not implemented in any type, untested
***************************************************

* a[b]

* a + b, a - b, a * b, ...

* +a, ~a