General purpose programming language and shell
Go to file
2024-02-19 17:04:13 -05:00
docs Write docs; Update logging and error messages 2024-02-19 17:04:13 -05:00
examples Update grammar and highlight queries 2024-02-19 15:26:49 -05:00
scripts Fix main function and bench script 2024-01-24 18:57:36 -05:00
src Write docs; Update logging and error messages 2024-02-19 17:04:13 -05:00
tests Pass enum tests 2024-02-19 11:13:04 -05:00
tree-sitter-dust Update grammar and highlight queries 2024-02-19 15:26:49 -05:00
.gitignore Do not ignore generated tree sitter files 2023-11-28 13:53:33 -05:00
build.rs Clean up build script 2024-01-31 10:19:26 -05:00
Cargo.lock Begin making pretty errors with lyneate 2024-02-16 16:49:01 -05:00
Cargo.toml Begin making pretty errors with lyneate 2024-02-16 16:49:01 -05:00
README.md Write docs; Update logging and error messages 2024-02-19 17:04:13 -05:00

Dust

High-level programming language with effortless concurrency, automatic memory management, type safety and strict error handling.

Dust version of an example from The Rust Programming Language.

Easy to Read and Write

Dust has simple, easy-to-learn syntax.

output('Hello world!')

Effortless Concurrency

Write multi-threaded code as easily as you would write code for a single thread.

async {
    output('Will this one print first?')
    output('Or will this one?')
    output('Who knows! Each "output" will run in its own thread!')
}

Helpful Errors

Dust shows you exactly where your code went wrong and suggests changes.

Example of syntax error output.

Static analysis

Your code is always validated for safety before it is run. Other interpreted languages can fail halfway through, but Dust is able to avoid runtime errors by analyzing the program before it is run

Example of type error output.

Debugging

Just set the environment variable DUST_LOG=info and Dust will tell you exactly what your code is doing while it's doing it. If you set DUST_LOG=trace, it will output detailed logs about parsing, abstraction, validation, memory management and runtime.

Example of debug output.

Automatic Memory Management

Error Handling

Installation and Usage