A dynamic typed scripting language for embedded use in applications.
- Gradual Typing: Support for optional type hint.
- Security: Diatom is completely isolated and is only able to interact with its host.
- ADT: Diatom use algebraic data type.
- No Null, No Exceptions: Diatom encourages the use of
Maybe
functor and monad. The concept ofnull
andexception
in other languages like Java is completely useless in Diatom. - Impure Functional: Diatom makes everything mutable and public like Python. We also support a little OOP in
data
(akaclass
in OOP languages) declaration. - Native Speed: Given every variable is marked, diatom is able to theoretically reach C/C++ level speed.
You can try diatom at the online playground.
Make sure you have Rust and Cargo installed.
cargo install diatom
diatom # Run interactive console
Run the following script:
git clone https://github.com/diatom-lang/diatom.git
cd diatom
cargo run --release # Run interactive console
The Diatom Reference is available at here.
Diatom is available at crates.io.
To use latest build, add this repo to your Cargo.toml
. Latest build documentation is available here.
Work in progress.