diff options
author | Tristano Ajmone <tajmone@libero.it> | 2019-07-15 19:05:23 +0200 |
---|---|---|
committer | Miran <narimiran@disroot.org> | 2019-07-15 19:05:23 +0200 |
commit | 8550a8127c6c80754d8a6f4300e4c77ee126e6ec (patch) | |
tree | a10f405ec9f218e2ab705e6e802358855dc62d32 /doc/intern.rst | |
parent | ec9d0ee86dc86b9110c641e49d72f0f02afc4e38 (diff) | |
download | Nim-8550a8127c6c80754d8a6f4300e4c77ee126e6ec.tar.gz |
Fix Typos in Internal Docs (#11735) [ci skip]
Diffstat (limited to 'doc/intern.rst')
-rw-r--r-- | doc/intern.rst | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/doc/intern.rst b/doc/intern.rst index 8e0df8fd3..db9a273ad 100644 --- a/doc/intern.rst +++ b/doc/intern.rst @@ -184,7 +184,7 @@ How the RTL is compiled The ``system`` module contains the part of the RTL which needs support by compiler magic (and the stuff that needs to be in it because the spec -says so). The C code generator generates the C code for it just like any other +says so). The C code generator generates the C code for it, just like any other module. However, calls to some procedures like ``addInt`` are inserted by the CCG. Therefore the module ``magicsys`` contains a table (``compilerprocs``) with all symbols that are marked as ``compilerproc``. ``compilerprocs`` are @@ -246,14 +246,14 @@ The symbol's ``ast`` field is loaded lazily, on demand. This is where most savings come from, only the shallow outer AST is reconstructed immediately. It is also important that the replay involves the ``import`` statement so -that the dependencies are resolved properly. +that dependencies are resolved properly. Shared global compiletime state ------------------------------- Nim allows ``.global, compiletime`` variables that can be filled by macro -invokations across different modules. This feature breaks modularity in a +invocations across different modules. This feature breaks modularity in a severe way. Plenty of different solutions have been proposed: - Restrict the types of global compiletime variables to ``Set[T]`` or @@ -286,7 +286,7 @@ We only know the root is ``someGlobal`` but the concrete path to the data is unknown as is the value that is added. We could compute a "diff" between the global states and use that to compute a symbol patchset, but this is quite some work, expensive to do at runtime (it would need to run after -every module has been compiled) and also would break for hash tables. +every module has been compiled) and would also break for hash tables. We need an API that hides the complex aliasing problems by not relying on Nim's global variables. The obvious solution is to use string keys |