documentation improvements; higher level Mongodb wrapper

This commit is contained in:
Araq 2012-04-09 11:18:10 +02:00
commit c53ad1b39f
15 changed files with 1109 additions and 686 deletions

View file

@ -1,6 +1,7 @@
version 0.9.0
=============
- sigil-like operator: @x.abc parsed as (@x).abc
- document AVR/embedded systems better
- implement ``--script:sh|bat`` command line option
- make GC realtime capable: GC_step(ms: int)
@ -14,7 +15,6 @@ version 0.9.0
- test constant closures
- dead code elim for JS backend; 'of' operator for JS backend
- const ptr/ref
- unsigned ints and bignums; requires abstract integer literal type:
use tyInt+node for that
- implement the high level optimizer
@ -25,10 +25,7 @@ version 0.9.0
- we need to support iteration of 2 different data structures in parallel
- make exceptions compatible with C++ exceptions
- change how comments are part of the AST
- optional indentation for 'case' statement; hm, keep in mind other syntax
changes that people want; may turn out to be a bad idea
- activate more thread tests
- optimize method dispatchers
- rethink the syntax: distinction between expr and stmt is unfortunate;
indentation handling is quite complex too; problem with exception handling
is that often the scope of ``try`` is wrong and apart from that ``try`` is
@ -63,18 +60,11 @@ version 0.9.XX
- implicit ref/ptr->var conversion; the compiler may store an object
implicitly on the heap for write barrier efficiency; better:
proc specialization in the code gen
- shared memory heap: ``shared ref`` etc. The only hard part in the GC is to
"stop the world". However, it may be worthwhile to generate explicit
(or implicit) syncGC() calls in loops. Automatic loop injection seems
troublesome, but maybe we can come up with a simple heuristic. (All procs
that `new` shared memory are syncGC() candidates...)
- EcmaScript needs a new and better code gen: simply adapt the C code gen to it
- tlastmod returns wrong results on BSD (Linux, MacOS X: works)
- nested tuple unpacking; tuple unpacking in non-var-context
- 'nimrod def': does not always work?
- implement/generalize the effect system
- test branch coverage
- checked exceptions
- make pegs support a compile-time option and make c2nim use regexes instead
per default?
- 'const' objects including case objects
@ -103,7 +93,6 @@ version 0.9.XX
Library
-------
- wrappers for mongodb
- suffix trees
- locale support; i18n module
- bignums
@ -144,6 +133,7 @@ Low priority
- implement explicit varargs; **but** ``len(varargs)`` problem remains!
--> solve by implicit conversion from varargs to openarray
- implement closures that support nesting > 1
- optimize method dispatchers
Further optimization ideas
@ -153,8 +143,21 @@ Further optimization ideas
information inlining would provide, but don't inline for code size reasons.
Version 2
=========
Version 2 and beyond
====================
- shared memory heap: ``shared ref`` etc. The only hard part in the GC is to
"stop the world". However, it may be worthwhile to generate explicit
(or implicit) syncGC() calls in loops. Automatic loop injection seems
troublesome, but maybe we can come up with a simple heuristic. (All procs
that `new` shared memory are syncGC() candidates...)
- implement/generalize the effect system; checked exceptions
- const ptr/ref
- optional indentation for 'case' statement; hm, keep in mind other syntax
changes that people want; may turn out to be a bad idea
- language change: inheritance should only work with reference types, so that
the ``type`` field is not needed for objects! --> zero overhead aggregation