summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--todo.txt71
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