This article was first published on RChain Cooperative - Medium
From the RChain dev team — see the original on Github.
Rholang is a new programming language designed for use in distributed systems. Like all newborn things, it is growing and changing rapidly; this document describes the syntax in RNode v0.8.1.
Rholang is “process-oriented”: all computation is done by means of message passing. Messages are passed on “channels”, which are rather like message queues; however, the channels behave more like bags (multisets) rather than queues, since there is no implicit ordering on messages.
Rholang is completely asynchronous, in the sense that while you can read a message from a channel and then do something with it, you can’t send a message and then do something once it has been received — -at least, not without explicitly waiting for an acknowledgment message from the receiver. Every channel has a name, and every name denotes a unique channel.
Get started with Rholang by selecting one of the options below.
- Run Rholang on RNode — Write Rholang contracts in an editor of your choice and run them on RNode using either the REPL or EVAL modes. Get started with the latest version of RNode.
- Run Rholang on a web interface — This web interface was created by a RChain community member.
- Run Rholang using Cryptofex IDE — This closed source IDE was created by Pyrofex.
- Write Rholang using an IntelliJ plugin — This Rholang IntelliJ plugin was created by a RChain community member.
Summary of the language constructs
Rholang has two kinds of values: processes and names.
A name represents a communication channel. You can send messages to a name or you can receive a message from a name.
The names are created with the construct...
To keep reading, please go to the original article at:
RChain Cooperative - Medium