The Diatom Programming Language
A dynamic typed scripting language for embedded use in applications.
Warning: Project is under development and not useable now.
Features
- 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
Maybefunctor and monad. The concept ofnullandexceptionin 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(akaclassin OOP languages) declaration. - Native Speed: Given every variable is marked, diatom is able to theoretically reach C/C++ level speed.
Try Diatom
You can try diatom at the online playground.
Quick Start
Make sure you have Rust and Cargo installed.
Installing from source
Run the following script:
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.