Acton is a general purpose programming language, designed to be useful for a wide range of applications, from desktop applications to embedded and distributed systems. In a first approximation Acton can be described as a seamless addition of a powerful new construct to an existing language: Acton adds actors to Python.
Acton is a compiled language, offering the speed of C but with a considerably simpler programming model. There is no explicit memory management, instead relying on garbage collection.
Acton is statically typed with an expressive type language and type inference. Type inference means you don't have to explicitly declare types of every variable but that the compiler will infer the type and performs its checks accordingly. We can have the benefits of type safety without the extra overhead involved in declaring types.
The Acton Run Time System (RTS) offers a distributed mode of operation allowing multiple computers to participate in running one logical Acton system. Actors can migrate between compute nodes for load sharing purposes and similar. The RTS offers exactly once delivery guarantees. Through checkpointing of actor states to a distributed database, the failure of individual compute nodes can be recovered by restoring actor state. Your system can run forever!
NOTE: Acton is in an experimental phase and although much of the syntax has been worked out, there may be changes.
Check out the installation guide for more details.
wget -q -O - https://apt.acton-lang.io/acton.gpg | sudo apt-key add -
echo "deb [arch=amd64] http://apt.acton-lang.io/ bullseye main" | sudo tee /etc/apt/sources.list.d/acton.list
sudo apt-get update
sudo apt-get install -qy acton
brew install actonlang/acton/acton
Edit the program source file, let's call it helloworld.act
, and enter the
following code:
actor main(env):
print("Hello, world!")
env.exit(0)
Compile the program and run it:
$ actonc helloworld.act
$ ./helloworld
Hello, world!
Check out our learning resources.
See building Acton from source.
For information about contributing to Acton, see CONTRIBUTING.md.