uni-cli 0.0.12

Command-line REPL and interpreter for the Uni programming language
uni-cli-0.0.12 is not a library.

uni-cli

Version License

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.