diff options
author | Araq <rumpf_a@web.de> | 2011-09-20 00:56:48 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-09-20 00:56:48 +0200 |
commit | fd62116f6eb80d1dd3d6cc745d80629ad32dca1a (patch) | |
tree | ac5cbd102ffa580e322eda22deeef9298babae4a /doc | |
parent | dc3ace4f379931f2af4dd4a3cd2a0984a94865af (diff) | |
download | Nim-fd62116f6eb80d1dd3d6cc745d80629ad32dca1a.tar.gz |
bugfixes for generics; new threads implementation still broken
Diffstat (limited to 'doc')
-rwxr-xr-x | doc/manual.txt | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/doc/manual.txt b/doc/manual.txt index f9a0b5dfc..2002a2461 100755 --- a/doc/manual.txt +++ b/doc/manual.txt @@ -433,6 +433,15 @@ have no side-effect can be used in constant expressions too: constEval = contains("abc", 'b') # computed at compile time! +The rules for compile-time computability are: + +1. Literals are compile-time computable. +2. Procedure calls of the form ``p(X)`` are compile-time computable if + ``p`` is a proc without side-effects (see the `noSideEffect pragma`_ + for details) and if ``X`` is a (possibly empty) list of compile-time + computable arguments. + + Types ----- @@ -2900,17 +2909,17 @@ structure: Pure pragma ----------- -An object type can be marked with the `pure`:idx: pragma so that its type +An object type can be marked with the `pure`:idx: pragma so that its type field which is used for runtime type identification is omitted. This is necessary for binary compatibility with other compiled languages. - - -NoStackFrame pragma -------------------- -A proc can be marked with the `noStackFrame`:idx: pragma to tell the compiler -it should not generate a stack frame for the proc. There are also no exit -statements like ``return result;`` generated. This is useful for procs that -only consist of an assembler statement. + + +NoStackFrame pragma +------------------- +A proc can be marked with the `noStackFrame`:idx: pragma to tell the compiler +it should not generate a stack frame for the proc. There are also no exit +statements like ``return result;`` generated. This is useful for procs that +only consist of an assembler statement. error pragma |