diatom 0.2.1

The diatom programming language
Documentation

The Diatom Programming Language

Unit Tests doc

Crates.io license

issue pr coverage

A dynamic typed scripting language for embedded use in applications.

Warning: Project is underdevelopment is not useable now.

Features

  • Gradual Typing: Support for optional type hint.
  • Nil Safety: Nil can not be passed to variable unless specially permitted.
  • Runtime type checking: Type checking is enforced by runtime. This means compiler will be able to optimize your code based on type hints.
  • Native Speed: Given every variable is marked, diatom is able to theoretically reach C/C++ level speed.
  • Security: Diatom is completely isolated and is only able to interact with its host.
  • Full Functional Programming: Full support for HKT, functor and so on.

Quick Start

Make sure you have Rust and Cargo installed.

cargo install diatom
diatom # Run interactive console

Installing from source

Run the following script:

git clone https://github.com/diatom-lang/diatom.git
cd diatom
cargo run --release # Run interactive console

Reference

The Diatom Reference is available at here.

Embedding in Application

Rust Application

Diatom is available at crates.io.

To use latest build, add this repo to your Cargo.toml. Latest build documentation is available here.

Use C bindings

Work in progress.