17 releases (4 breaking)

0.5.4 Jan 8, 2022
0.5.3 Jan 6, 2022
0.4.4 Nov 24, 2021
0.3.2 Jul 30, 2021
0.1.0 May 3, 2020

#331 in WebAssembly

Download history 5/week @ 2022-11-23 1/week @ 2022-11-30 1/week @ 2022-12-07 18/week @ 2022-12-14 3/week @ 2022-12-28 2/week @ 2023-01-04 8/week @ 2023-01-11 3/week @ 2023-01-18 6/week @ 2023-01-25 6/week @ 2023-02-01 50/week @ 2023-02-08 52/week @ 2023-02-15 1/week @ 2023-03-08

70 downloads per month




Tortuga is a functionally-oriented concurrent programming language. The runtime is a Rust program to provide performance and memory safety; the language compiles to WebAssembly. Using WebAssembly allows developers to utilize their favorite programming language to write actors for the runtime. Targeting WebAssembly as the compilation architecture allows us to test the runtime itself without a dependency on the programming language, so the two can be developed independently.


Build License Crates.io Version Docs.rs Version


For design goals, non-goals, grammar, and more see the Tortuga Programming Language Book.


Local Install

To test the command-line interface, instal the crate locally from the root of the repository with:

cargo install --path ./

Cargo Tests

To run the unit and documentation tests, use:

cargo test


While the system sends all numbers in network byte order (i.e., big endian), WebAssembly uses little-endian for its numbers. Therefore, the system will handle mapping the integers between the types of endianness. See https://tools.ietf.org/html/draft-newman-network-byte-order-01


More concrete examples are pending finalizing the grammar. However, some basic examples can be found in the /examples directory.


Tortuga adheres to Semantic Versioning. You can use tortuga version or tortuga -V to determine the version of a Tortuga installation.


~188K SLoC