diff options
-rw-r--r-- | todo.txt | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/todo.txt b/todo.txt deleted file mode 100644 index 32bc32630..000000000 --- a/todo.txt +++ /dev/null @@ -1,71 +0,0 @@ -version 1.0 battle plan -======================= - -- let 'doAssert' analyse the expressions and produce more helpful output -- fix "high priority" bugs -- try to fix as many compiler crashes as reasonable - - -Not critical for 1.0 -==================== - -- introduce ``nkStmtListExpr`` for template/macro invokations to produce - better stack traces -- make 'break' not leave named blocks -- make FlowVar compatible to Futures -- make 'not nil' the default (produce warnings instead of errors for - a smooth migration path) -- case objects needs to be safe and need to support pattern matching - -- find a solution for the x.f[T](y) gotcha -- implement ``.delegate`` for .experimental -- annotation support for getType() -- make '--implicitStatic:on' the default; then we can also clean up the - 'static[T]' mess in the compiler! -- ``not`` or ``~`` for the effects system -- figure out why C++ bootstrapping is so much slower -- make 'nil' work for 'add': - - resizeString - - incrSeq - - addChar -- pragmas need 'bindSym' support -- pragmas need re-work: 'push' is dangerous, 'hasPragma' does not work - reliably with user-defined pragmas -- we need a magic thisModule symbol -- optimize 'genericReset'; 'newException' leads to code bloat - -- prevent 'alloc(TypeWithGCedMemory)'? -- map ``string`` and ``seq`` to ``std::string`` and ``std::vector`` -- macro support for '='; bind '=' to a memory region -- macros as type pragmas - - -Bugs -==== - -- VM: Pegs do not work at compile-time -- blocks can "export" an identifier but the CCG generates {} for them ... - - -GC -== - -- resizing of strings/sequences could take into account the memory that - is allocated - - -Concurrency -=========== - -- implement 'foo[1..4] = spawn(f[4..7])' - -Low priority: -- support for exception propagation? (hard to implement) -- the copying of the 'ref Promise' into the thead local storage only - happens to work due to the write barrier's implementation - - -CGEN -==== -- codegen should use "NIM_CAST" macro and respect aliasing rules for GCC -- ``restrict`` pragma + backend support |