about summary refs log tree commit diff stats
path: root/cpp
ModeNameSize
d---------.traces3034log stats plain
-rw-r--r--000organization4926log stats plain blame
-rw-r--r--001test2535log stats plain blame
-rw-r--r--002trace18422log stats plain blame
-rw-r--r--002trace.tests4789log stats plain blame
-rw-r--r--009includes973log stats plain blame
-rw-r--r--010vm6413log stats plain blame
-rw-r--r--011load7914log stats plain blame
-rw-r--r--012transform845log stats plain blame
-rw-r--r--013run3918log stats plain blame
-rw-r--r--014arithmetic6994log stats plain blame
-rw-r--r--015boolean2897log stats plain blame
-rw-r--r--016jump3175log stats plain blame
-rw-r--r--017compare7865log stats plain blame
-rw-r--r--018record4730log stats plain blame
-rw-r--r--019address5397log stats plain blame
-rw-r--r--020array4456log stats plain blame
-rw-r--r--021call2160log stats plain blame
-rw-r--r--022call_ingredient1615log stats plain blame
-rw-r--r--023call_reply1311log stats plain blame
-rw-r--r--024brace6684log stats plain blame
-rwxr-xr-xbuild_and_test_until299log stats plain blame
-rw-r--r--makefile978log stats plain blame
-rwxr-xr-xrelayout967log stats plain blame
d---------tangle315log stats plain
-rwxr-xr-xtest_all168log stats plain blame
-rw-r--r--vimrc.vim798log stats plain blame
-rw-r--r--x.mu121log stats plain blame
^
5506e8491 ^
5f64d7a35 ^

d01ff8994 ^

d01ff8994 ^
d01ff8994 ^




62ccf1352 ^
bb3f648bd ^
bb3f648bd ^
258aabba6 ^
258aabba6 ^



258aabba6 ^
258aabba6 ^
258aabba6 ^







8b5aa221a ^
258aabba6 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93


            
                                       
 
 
             
             
 

                                   
 


           
                              
 
                                        




                                                                    





                                                           

                                                      
                                                    
                                        
                    
                                     
                                                          
 
 


    

                                      
                                                    
                                                       
                                                                    
                                            
                                                                         
 
 
             

             

                                       
                    

                                                                             


                                                                      
                                                
                          

                                   

                                                                      
 




                        
                               
                              
                           
                                                           



  
           
                                 







                                                                        
                                       
                                        
version 0.10
============

- Test nimfix on various babel packages


version 0.9.6
=============

- split idetools into separate tool
- split docgen into separate tool

Concurrency
-----------

- test 'deepCopy' for closures

- implement 'foo[1..4] = spawn(f[4..7])'
- document the new 'spawn' and 'parallel' statements

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
----

- fix the bug that keeps 'defer' template from working
- make '--implicitStatic:on' the default
- make tuple unpacking work in a non-var/let context
- special rule for ``[]=``, items, pairs
- built-in 'getImpl'
- prevent 'alloc(TypeWithGCedMemory)'
- some table related tests are wrong (memory usage checks)


Bugs
====

- VM: Pegs do not work at compile-time
- VM: ptr/ref T cannot work in general
- scopes are still broken for generic instantiation!
- bug: type conversions concerning proc types are weird
- compilation of niminst takes way too long. looks like a regression
- docgen: sometimes effects are listed twice
- blocks can "export" an identifier but the CCG generates {} for them ...


version 0.9.x
=============


- implicit deref for parameter matching
- overloading of '='
- allow simple read accesses to global variables --> difficult to ensure that
  no data races happen
- pragmas need 'bindSym' support
- 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
- provide --nilChecks:on|off
- ensure (ref T)(a, b) works as a type conversion and type constructor
- optimize 'genericReset'; 'newException' leads to code bloat


version 0.9.X
=============

- macros as type pragmas
- implement type API for macros
- lazy overloading resolution:
  * special case ``tyStmt``
- 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
- 'const' objects including case objects