Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

104 lines (78 sloc) 3.01 kB
version 0.11.2
==============
- The remaining bugs of the lambda lifting pass that is responsible to enable
closures and closure iterators need to be fixed.
- ``concept`` needs to be refined, a nice name for the feature is not enough.
- Destructors need to be refined.
- make '--implicitStatic:on' the default; then we can also clean up the
'static[T]' mess in the compiler!
- Finish the implementation of the 'parallel' statement.
- Deprecate ``immediate`` for templates and macros
- special case varargs[untyped] and varargs[typed]
- make 'nil' work for 'add':
- resizeString
- incrSeq
- addChar
version 1.0
===========
- macro support for '='; bind '=' to a memory region
- remove echo $foo gotcha
- add "all threads are blocked" detection to 'spawn'
- figure out why C++ bootstrapping is so much slower
- nimsuggest: auto-completion needs to work in 'class' macros
- The bitwise 'not' operator will be renamed to 'bnot' to
prevent 'not 4 == 5' from compiling. -> requires 'mixin' annotation for procs!
- iterators always require a return type
- make nimble part of the distribution
- split docgen into separate tool
- special rule for ``[]=``, items, pairs
- BUG: echo with template `$`*(info: TLineInfo): expr = toFileLineCol(info)
Concurrency
-----------
- test 'deepCopy' for closures
- 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
Misc
----
- make tuple unpacking work in a non-var/let context
- built-in 'getImpl'
- prevent 'alloc(TypeWithGCedMemory)'
Bugs
====
- VM: Pegs do not work at compile-time
- VM: ptr/ref T cannot work in general
- scopes are still broken for generic instantiation!
- blocks can "export" an identifier but the CCG generates {} for them ...
- ConcreteTypes in a 'case' means we don't check for duplicated case branches
- typedesc matches a generic type T!
version 0.9.x
=============
- 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
- implement 'bits' pragmas
- we need a magic thisModule symbol
- optimize 'genericReset'; 'newException' leads to code bloat
- The 'do' notation might be trimmed so that its only purpose is to pass
multiple multi line constructs to a macro.
version 0.9.X
=============
- macros as type pragmas
- document NimMain and check whether it works for threading
GC
==
- hybrid GC
- use big blocks in the allocator
- provide tool/API to track leaks/object counts
- resizing of strings/sequences could take into account the memory that
is allocated
CGEN
====
- codegen should use "NIM_CAST" macro and respect aliasing rules for GCC
- ``restrict`` pragma + backend support
Jump to Line
Something went wrong with that request. Please try again.