Fix introduced erroneous use of "canonical" back to original wording. Fix faulty description of proc params behavior. Remove 'null' return type in example.

This commit is contained in:
Oscar Campbell
2015-05-26 16:28:44 +02:00
parent 910dce70d6
commit c593c47696
2 changed files with 5 additions and 4 deletions

View File

@@ -25,15 +25,16 @@ A parameter may be declared with a default value which is used if the caller
does not provide a value for the argument.
.. code-block:: nim
# b is optional, 47 is its default value
proc foo(a, b: int = 47): int
# b is optional with 47 as its default value
proc foo(a: int, b: int = 47): int
Parameters can be declared mutable and so allow the proc to modify those
arguments, by using the type modifier `var`.
.. code-block:: nim
# "returning" a value to the caller through the 2nd argument
proc foo(inp: int, outp: var int): void =
# Notice that the function uses no actual return value at all (ie void)
proc foo(inp: int, outp: var int) =
outp = inp + 47
If the proc declaration has no body, it is a `forward`:idx: declaration. If the

View File

@@ -54,7 +54,7 @@ blindly:
.. code-block:: nim
template mulIsCommutative{`*`(a, b)}(a, b: int): int = b*a
What optimizers really need to do is a *canonization*:
What optimizers really need to do is a *canonicalization*:
.. code-block:: nim
template canonMul{`*`(a, b)}(a: int{lit}, b: int): int = b*a