Build massively scalable non-stop systems

Acton is a fault tolerant distributed programming environment for writing scalable and robust applications with ease.

Explore More ⇩

Why Acton?

Persistent Environment

No need to use a database or distributed queue again. Acton automatically persists and resumes the state of your application, while providing strong consistency guarantees

Fault Tolerant

Built-in redundancy; Acton's transactional, high performance distributed RTS can seamlessly resume applications after hardware or software crashes

Non-stop

Never stop for an upgrade; Live upgrade your running application through code and data migration

Massively Scalable

The actor model naturally lends itself to writing scalable applications and the Acton distributed RTS will run your applications across thousands of servers

Safe

Static and strongly typed, Acton is safe yet simple to use with low overhead thanks to powerful type inferencing

Fast

Acton is a compiled language, backed by a high performance distributed runtime system

Overview

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. Our take on the actor model allows developers to write highly scalable and fault tolerant code, without needing to worry about explicit state checkpointing, synchronization primitives or giving up consistency.

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 inferrence 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 and load balance the application workload. The RTS offers exactly once message delivery guarantees and strong serial state consistency without sacrificing performance. By automatically checkpointing actor states and inter-actor messages to a integrated distributed database and messaging queues, failure of individual actors or compute nodes can be transparently recovered from by the runtime system. There is no need for explicit state checkpointing or use of synchronization primitives between actors. Your system can run forever!

State of Acton

Acton is a work in progress and still has some way to go to fully deliver on the vision. We want to sell you on the ideas and concepts that we set out to deliver, so that you may be as excited about Acton as we are :)

Read more about the motivation behind Acton and why we thought a new language was the best avenue to achieve our goals, also covering some of the early history and learn about where we are currently at and what the future might hold.

Getting started

Install

Check out the installation section for how to get Acton!

Learn

Read an introduction to using Acton in the learn Acton section.

Get involved

Contribute code

Everyone is welcome in making contributions to Acton and there are many ways in which to contribute, e.g. writing documentation, designing this web page, hacking on the actonc compiler or expanding the standard library. Come help us make Acton better!