closure implementation: first steps
This commit is contained in:
parent
3af91064e5
commit
2633e3fb27
10 changed files with 330 additions and 299 deletions
10
todo.txt
10
todo.txt
|
|
@ -1,8 +1,9 @@
|
|||
version 0.8.14
|
||||
==============
|
||||
|
||||
- bug: tsortdev does not run with native GC?
|
||||
- implement closures
|
||||
- object {.pure, final.} does not work again!
|
||||
- bug: tsortdev does not run with native GC?
|
||||
- ``=`` should be overloadable; requires specialization for ``=``?
|
||||
|
||||
version 0.9.0
|
||||
|
|
@ -18,7 +19,7 @@ version 0.9.0
|
|||
use tyInt+node for that
|
||||
- implement the high level optimizer
|
||||
- change overloading resolution
|
||||
- implement closures; implement proper coroutines
|
||||
- implement proper coroutines
|
||||
- implement ``partial`` pragma for partial evaluation
|
||||
- we need to support iteration of 2 different data structures in parallel
|
||||
- make exceptions compatible with C++ exceptions
|
||||
|
|
@ -56,6 +57,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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue