10 releases
Uses new Rust 2024
| 0.0.12 | Oct 25, 2025 |
|---|---|
| 0.0.11 | Oct 22, 2025 |
#915 in Command line utilities
750KB
16K
SLoC
uni-cli
Command-line REPL and interpreter for the Uni programming language - a homoiconic stack-based language that unifies code and data.
Installation
cargo install uni-cli
This installs the uni command-line tool.
Usage
Interactive REPL
uni
_ _ _
| | | |_ __ (_)
| | | | '_ \| |
| |_| | | | | |
\___/|_| |_|_| v0.0.12
Type 'quit' or press Ctrl-D to exit
uni> 5 3 +
=> 8 : int32
uni> 'square [dup *] def
uni> 7 square
=> 49 : int32
Execute Code
# Execute and print result
uni -e "5 3 +"
# Output: 8
# Execute code without printing
uni -c "5 3 + ."
# Output: 8
Run a File
uni script.uni
Language Quick Reference
Basic Arithmetic
5 3 + # Addition: 8
10 4 - # Subtraction: 6
7 6 * # Multiplication: 42
20 4 / # Division: 5
Stack Operations
dup # Duplicate top item
swap # Swap top two items
drop # Remove top item
Lists
[1 2 3] # Create list
[1 2 3] head # Get first element: 1
[1 2 3] tail # Get rest: [2 3]
[1 2 3] length # Length: 3
Functions
'square [dup *] def # Define function
5 square # Use it: 25
Control Flow
5 0 > [true] [false] if # Conditional
Embedded Targets
The CLI can also be built for embedded systems:
- micro:bit v2 - Interactive REPL over USB serial (ARM Cortex-M4)
- Raspberry Pi Pico - Full interpreter on ARM Cortex-M0+ with USB CDC
- Raspberry Pi Pico 2 - Enhanced with RP2350 dual-core @ 150MHz
- STM32H753ZI - Async REPL using Embassy runtime (ARM Cortex-M7 @ 480MHz)
For embedded builds and more documentation, see the main repository:
GitHub: https://github.com/edadma/uni
Library Usage
To embed Uni in your own application, use the uni-core library crate:
[dependencies]
uni-core = "0.0.12"
See the uni-core crate documentation for API details.
License
Dual-licensed under MIT OR Unlicense.
Dependencies
~2–44MB
~1.5M SLoC