summary refs log tree commit diff stats
path: root/todo.txt
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2017-01-22 06:17:01 +0100
committerAndreas Rumpf <rumpf_a@web.de>2017-01-22 06:17:07 +0100
commit9952d16674445c0b92bf5df10799ca9bd6ae9199 (patch)
treeadc5042127fdf69e291145e816913c0c074c065f /todo.txt
parentaeda6c517eac016d425c81829aa529c881d3f3e1 (diff)
downloadNim-9952d16674445c0b92bf5df10799ca9bd6ae9199.tar.gz
finally todo.txt reflects reality again
Diffstat (limited to 'todo.txt')
-rw-r--r--todo.txt17
1 files changed, 7 insertions, 10 deletions
diff --git a/todo.txt b/todo.txt
index 21bec6e27..802e8eb6a 100644
--- a/todo.txt
+++ b/todo.txt
@@ -1,7 +1,12 @@
 version 1.0 battle plan
 =======================
 
-- iters for js
+- 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
+- sanctionize some macro implementation for interfaces
+- implement a way to forward object type declarations across module
+  boundaries; C++ style
 - fix "high priority" bugs
 - try to fix as many compiler crashes as reasonable
 
@@ -21,7 +26,6 @@ Not critical for 1.0
   'static[T]' mess in the compiler!
 - ``not`` or ``~`` for the effects system
 - document and stress test ``.partial`` object declarations
-- add "all threads are blocked" detection to 'spawn'
 - figure out why C++ bootstrapping is so much slower
 - The bitwise 'not' operator cold be renamed to 'bnot' to
   prevent 'not 4 == 5' from compiling. -> requires 'mixin' annotation for procs!
@@ -30,8 +34,6 @@ Not critical for 1.0
   - incrSeq
   - addChar
 - pragmas need 'bindSym' support
-- allow simple read accesses to global variables --> difficult to ensure that
-  no data races happen
 - pragmas need re-work: 'push' is dangerous, 'hasPragma' does not work
   reliably with user-defined pragmas
 - memory manager: add a measure of fragmentation
@@ -39,8 +41,6 @@ Not critical for 1.0
 - optimize 'genericReset'; 'newException' leads to code bloat
 
 - prevent 'alloc(TypeWithGCedMemory)'?
-- split docgen into separate tool; not happy how it worked with ``nimsuggest``
-  though
 - map ``string`` and ``seq`` to ``std::string`` and ``std::vector``
 - macro support for '='; bind '=' to a memory region
 - macros as type pragmas
@@ -50,7 +50,6 @@ Bugs
 ====
 
 - VM: Pegs do not work at compile-time
-- VM: ptr/ref T cannot work in general
 - blocks can "export" an identifier but the CCG generates {} for them ...
 - ConcreteTypes in a 'case' means we don't check for duplicated case branches
 
@@ -58,8 +57,7 @@ Bugs
 GC
 ==
 
-- use big blocks in the allocator
-- provide tool/API to track leaks/object counts
+- use slightly bigger blocks in the allocator
 - resizing of strings/sequences could take into account the memory that
   is allocated
 
@@ -67,7 +65,6 @@ GC
 Concurrency
 ===========
 
-- test 'deepCopy' for closures
 - implement 'foo[1..4] = spawn(f[4..7])'
 
 Low priority: