A modern, elegant programming language with built-in UI framework
SlateScript is a versatile programming language that combines clean syntax with powerful UI capabilities. Write once, run everywhere - from console applications to native GUI apps with the built-in Slattery UI framework.
This project is in its beta stage expect lots of bugs!
- Clean, Intuitive Syntax - Simple and readable, designed for productivity
- Built-in UI Framework (Slattery) - Create native GUI applications using CSS-like styling
- Package Manager (SLIT) - Manage dependencies and extensions
- Rich Type System - Strings, integers, floats, and booleans
- Control Flow -
if/elif/elsestatements andloopfor iteration - Functions - User-defined functions with parameters
- Expression Evaluation - Full arithmetic and comparison operators
- CSS Styling - Style your UI components with
.stsfiles - Developer Tools - Built-in devtools panel for debugging and inspection
git clone <repo>
cd slatescript
cargo build --release
sudo cp target/release/slate /usr/local/bin/Beware that this is an experimental release and most features are yet to come
- To make a new slatescript file type the file name with the extension .st
write("Hello, World!")make name = henry
make age = 20func greet<name> {
write("Hello, " + name + "!")
}
greet<"world">make age = 20
if <age >= 18> {
write("You are an adult")
} elif <age >= 13> {
write("You are a teenager")
} else {
write("You are a child")
}loop 5 {
write("Iteration")
}make result = 10 + 20 * 3
make is_equal = (5 + 5) == 10
make message = "Hello " + "World"// Counted loop
loop 5 {
write("Iteration")
}
// Loop with counter variable
loop 10 with i {
write("Number: " + i)
}you can run using the executable by specifying the path
slate.exe run (yourfile.st)or installing it via path by
slate run (yourfile.st)# Add to User PATH (doesn't need admin)
$SLATE_PATH = "C:\Users\$env:USERNAME\SlateScript\target\release"
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", "User") + ";$SLATE_PATH",
"User"
)
# Restart terminal and test
slate --version