bugfixes for generics; new threads implementation still broken
This commit is contained in:
parent
dc3ace4f37
commit
fd62116f6e
19 changed files with 260 additions and 126 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue