From 3751379f1e9a4c215fb6eb898b4ccc67659b9ace Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 May 2022 21:51:50 +0700 Subject: initial commit 2 --- addons/web/static/lib/py.js/TODO.rst | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 addons/web/static/lib/py.js/TODO.rst (limited to 'addons/web/static/lib/py.js/TODO.rst') diff --git a/addons/web/static/lib/py.js/TODO.rst b/addons/web/static/lib/py.js/TODO.rst new file mode 100644 index 00000000..dd3237e3 --- /dev/null +++ b/addons/web/static/lib/py.js/TODO.rst @@ -0,0 +1,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 + `_ + 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 -- cgit v1.2.3