summary refs log tree commit diff stats
path: root/doc
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2011-10-25 15:26:36 +0200
committerAraq <rumpf_a@web.de>2011-10-25 15:26:36 +0200
commit9fb36bd20c76ebffa98dfa859f49756972b9491b (patch)
tree60b63ee0026a0c3dde2dec5365070d852d0a3803 /doc
parent9fb97e24bf05fa980bcc781dd4b32fd3efed48a0 (diff)
downloadNim-9fb36bd20c76ebffa98dfa859f49756972b9491b.tar.gz
compilation cache: mostly working; generics not yet
Diffstat (limited to 'doc')
-rwxr-xr-xdoc/intern.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/doc/intern.txt b/doc/intern.txt
index 475aad75f..86afbb7ba 100755
--- a/doc/intern.txt
+++ b/doc/intern.txt
@@ -160,6 +160,9 @@ program*.
 Frontend issues
 ---------------
 
+Methods and type converters
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 Nimrod contains language features that are *global*. The best example for that
 are multi methods: Introducing a new method with the same name and some 
 compatible object parameter means that the method's dispatcher needs to take
@@ -189,6 +192,17 @@ Both the multi method and the type converter problems are solved by storing
 them in special sections in the ROD file that are loaded *unconditionally*
 when the ROD file is read.
 
+Generics
+~~~~~~~~
+
+If we generate an instance of a generic, we'd like to re-use that
+instance if possible across module boundaries. However, this is not
+possible if the compilation cache is enabled. So we give up then and use
+the caching of generics only per module, not per project. This means that
+``--symbolFiles:on`` hurts a bit for efficiency. A better solution would
+be to persist the instantiations in a global cache per project. This might be
+implemented in later versions.
+
 
 Backend issues
 --------------