██████╗ █████╗ ███████╗██╗ ██╗
██╔══██╗██╔══██╗██╔════╝██║ ██║
██║ ██║███████║███████╗███████║
██║ ██║██╔══██║╚════██║██╔══██║
██████╔╝██║ ██║███████║██║ ██║
╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
A simple, safe and productive programming language for creating fast and reliable software.
- simple language
- data oriented
- strongly typed and compiled
- no GC, no manual memory management
- immutable data with efficient
- data construction
- data usage (generic structs)
- safe and sound type system
- optional types (no null pointer exceptions)
- limited runtime panics
- no undefined values or behaviour
- no out of bounds reads/writes
- enums
- tagged unions
- rich attribute system
- pattern matching (by type and value)
- higher-order functions
- type validation built into type system
- built-in REPL
- zero cost c interoperability
- compile to
- arm64
- x86_64
- and many more small features :)
Currently only macos arm64 is supported.
- Install llvm version 18
- Download
dash-<VERSION>-darwin-arm64.pkg
from release and install it - Test installation worked by running
dash play
- memory management
- import and export libraries
- error handling
- parametric polymorphism
- ad hoc polymorphism
- built-in build system
- built-in testing framework (fuzzing, property-based testing)
- LSP
- concurrency
lib main
import "std/fmt"
fn main() {
fmt.println("Hello, World!")
}
- Only MacOS aarch64 supported and tested
- NOT SAFE (yet), no bound checking (requires error handling)