@@ -142,7 +142,7 @@ It is mostly accurate to picture semantic analysis proceeding top to bottom and
142
142
left to right in the source code, with compile-time code execution interleaved
143
143
when necessary to compute values that are required for subsequent semantic
144
144
analysis. We will see much later in this document that macro invocation not only
145
- requires this interleaving, but also creates a situation where semantic analyis
145
+ requires this interleaving, but also creates a situation where semantic analysis
146
146
does not entirely proceed top to bottom and left to right.
147
147
148
148
@@ -783,7 +783,7 @@ features supported at compile time (as detailed in the next section below).
783
783
Within such a code block, it is possible to declare variables and then later
784
784
read and update them, or declare variables and pass them to procedures that
785
785
modify them. However, the code in such a block must still adhere to the
786
- retrictions listed above for referencing values and operations outside the
786
+ restrictions listed above for referencing values and operations outside the
787
787
block.
788
788
789
789
The ability to access and modify compile-time variables adds flexibility to
@@ -1287,7 +1287,7 @@ A parameter ``A`` may be an *open array*, in which case it is indexed by
1287
1287
integers from 0 to ``len(A)-1 ``. An array expression may be constructed by the
1288
1288
array constructor ``[] ``. The element type of this array expression is
1289
1289
inferred from the type of the first element. All other elements need to be
1290
- implicitly convertable to this type.
1290
+ implicitly convertible to this type.
1291
1291
1292
1292
Sequences are similar to arrays but of dynamic length which may change
1293
1293
during runtime (like strings). Sequences are implemented as growable arrays,
@@ -3814,7 +3814,7 @@ as there are components in the tuple. The i'th iteration variable's type is
3814
3814
the type of the i'th component. In other words, implicit tuple unpacking in a
3815
3815
for loop context is supported.
3816
3816
3817
- Implict items/pairs invocations
3817
+ Implicit items/pairs invocations
3818
3818
-------------------------------
3819
3819
3820
3820
If the for loop expression ``e `` does not denote an iterator and the for loop
@@ -4493,8 +4493,8 @@ more complex type classes:
4493
4493
4494
4494
Whilst the syntax of type classes appears to resemble that of ADTs/algebraic data
4495
4495
types in ML-like languages, it should be understood that type classes are static
4496
- constraints to be enforced at type instantations . Type classes are not really
4497
- types in themsleves , but are instead a system of providing generic "checks" that
4496
+ constraints to be enforced at type instantiations . Type classes are not really
4497
+ types in themselves , but are instead a system of providing generic "checks" that
4498
4498
ultimately *resolve * to some singular type. Type classes do not allow for
4499
4499
runtime type dynamism, unlike object variants or methods.
4500
4500
@@ -4656,7 +4656,7 @@ instantiation. The following is not allowed:
4656
4656
# not valid: 'T' is not inferred to be of type 'var int'
4657
4657
g(v, i)
4658
4658
4659
- # also not allowed: explict instantiation via 'var int'
4659
+ # also not allowed: explicit instantiation via 'var int'
4660
4660
g[var int](v, i)
4661
4661
4662
4662
@@ -5127,7 +5127,7 @@ tree (AST) of the code that is passed to it. The macro can then do
5127
5127
transformations on it and return the transformed AST. This can be used to
5128
5128
add custom language features and implement `domain specific languages `:idx: .
5129
5129
5130
- Macro invocation is a case where semantic analyis does **not ** entirely proceed
5130
+ Macro invocation is a case where semantic analysis does **not ** entirely proceed
5131
5131
top to bottom and left to right. Instead, semantic analysis happens at least
5132
5132
twice:
5133
5133
@@ -6483,7 +6483,7 @@ and instead the generated code should contain an ``#include``:
6483
6483
PFile {.importc: "FILE*", header: "<stdio.h>".} = distinct pointer
6484
6484
# import C's FILE* type; Nim will treat it as a new pointer type
6485
6485
6486
- The ``header `` pragma always expects a string constant. The string contant
6486
+ The ``header `` pragma always expects a string constant. The string constant
6487
6487
contains the header file: As usual for C, a system header file is enclosed
6488
6488
in angle brackets: ``<> ``. If no angle brackets are given, Nim
6489
6489
encloses the header file in ``"" `` in the generated C code.
0 commit comments