mirror of
https://github.com/fluencelabs/aquavm
synced 2024-12-04 23:20:18 +00:00
913 B
913 B
Aquamarine
Aquamarine is a distributed choreography language & platform
AIR
The current version supports the following instructions:
- call
- par
- seq
- fold
- next
- null
Examples
(seq (
(call (%current_peer_id1% (local_service_id local_fn_name) () result_name_1))
(call (remote_peer_id (service_id fn_name) () result_name_2))
)),
This instruction sequence contains two call instructions in the sequential order:
- call a function with
local_fn_name
name of a local service withlocal_service_id
id and bind result toresult_name
- call a remote peer with
remote_peer_id
id
(fold (Iterable i
(seq (
(call (%current_peer_id% (local_service_id local_fn_name) (i) acc[]))
(next i)
)
)))
This example is an analog of left fold. It iterates over Iterable
and on each iteration calls local_service_id
and puts result to acc
.