Browse Source

More info on AL

Yentl Van Tendeloo 7 years ago
parent
commit
5da605d8d3
1 changed files with 4 additions and 3 deletions
  1. 4 3
      doc/actionlanguage.rst

+ 4 - 3
doc/actionlanguage.rst

@@ -63,7 +63,7 @@ Language description
 
 
 Next we describe the basic constructs of the language, as offered by our compiler.
 Next we describe the basic constructs of the language, as offered by our compiler.
 The language is inspired by Python syntax, and highly resembles it.
 The language is inspired by Python syntax, and highly resembles it.
-Nonetheless, it is a lot simpler.
+Nonetheless, it is much more minimal.
 In the remainder of this subsection, we go over the different language constructs.
 In the remainder of this subsection, we go over the different language constructs.
 
 
 If
 If
@@ -263,13 +263,14 @@ Operators
 ^^^^^^^^^
 ^^^^^^^^^
 
 
 While operators are seemingly supported by the compiler, these are actually expanded to function calls to relevant functions.
 While operators are seemingly supported by the compiler, these are actually expanded to function calls to relevant functions.
-For example, *1 + 2*, is expanded to *integer_addition(1, 2)*
+For example, *1 + 2*, is expanded to *integer_addition(1, 2)*.
+To do this conversion, it is mandatory that the type of both arguments can be determined statically.
 
 
 User I/O
 User I/O
 ^^^^^^^^
 ^^^^^^^^
 
 
 User input and output is done through the keyworded operations *input()* and *output(msg)*.
 User input and output is done through the keyworded operations *input()* and *output(msg)*.
-*input()* returns the first message in the input queue of the current user.
+*input()* returns the first message in the input queue of the current user, potentially blocking until there is input.
 *output(msg)* places the value of the expression in the output queue of the current user.
 *output(msg)* places the value of the expression in the output queue of the current user.
 
 
 All I/O is done using queues: the value is only read and written to a specific place in the Modelverse.
 All I/O is done using queues: the value is only read and written to a specific place in the Modelverse.