mirror of
https://github.com/fluencelabs/aqua-book
synced 2024-12-04 07:10:20 +00:00
.. | ||
expressions | ||
flow | ||
header | ||
abilities-and-services.md | ||
closures.md | ||
crdt-streams.md | ||
README.md | ||
topology.md | ||
types.md | ||
variables.md |
Language
Aqua is a language for distributed workflow coordination in p2p networks.
It's structured with significant indentation.
-- Comments begin with double-dash and end with the line (inline)
func foo(): -- Comments are allowed almost everywhere
-- Body of the block expression is indented
bar(5)
Values in Aqua have types, which are designated by a colon, :
, as seen in the function signature below. The type of a return, which is yielded when a function is executed, is denoted by an arrow pointing to the right ->
, whereas yielding is denoted by an arrow pointing to the left <-
.
-- Define a function that yields a string
func bar(arg: i16) -> string:
-- Call a function
smth(arg)
-- Yield a value from a function
x <- smth(arg)
-- Return a yielded results from a function
<- "return literal"
Subsequent sections explain the main parts of Aqua.
Data:
Execution:
- Topology – how to express where the code should be executed
- Execution flow – control structures
Computations:
Advanced parallelism:
Code management:
Reference: