Skip to main content

Sui (粋) - A Programming Language for LLMs

A line-based programming language optimized for accurate LLM code generation

日本語版 README

Overview

Sui (粋) is a programming language named after the Japanese aesthetic concept meaning "refined" and "elimination of excess." It is designed with LLM (Large Language Model) code generation accuracy as the top priority.

Design Principles

  1. Line Independence - Each line is completely self-contained
  2. Minimal Bracket Matching - Nesting only for function blocks {}
  3. Single-Character Instructions - Maximum token efficiency
  4. Sequential Variables - No meaningful names needed (v0, v1, g0, a0)
  5. Explicit Control Flow - Labels and jumps

Quick Start

Interpreter

# Run sample
python sui.py

# Run file
python sui.py examples/fibonacci.sui

# Run with arguments
python sui.py examples/fib_args.sui 15

# Validate
python sui.py --validate examples/fibonacci.sui

Transpiler (Sui → Python)

# Show converted code
python sui2py.py examples/fibonacci.sui

# Output to file
python sui2py.py examples/fibonacci.sui -o fib.py

# Convert and execute
python sui2py.py examples/fib_args.sui --run 15

Transpiler (Python → Sui) for humans

# Show converted code
python py2sui.py your_code.py

# Output to file
python py2sui.py your_code.py -o output.sui

Syntax

Instructions

Instr Format Description
= = var value Assignment
+ + result a b Addition
- - result a b Subtraction
* * result a b Multiplication
/ / result a b Division
% % result a b Modulo
< < result a b Less than (0/1)
> > result a b Greater than (0/1)
~ ~ result a b Equality (0/1)
! ! result a NOT
& & result a b AND
| | result a b OR
? ? cond label Conditional jump
@ @ label Unconditional jump
: : label Label definition
# # id argc { Function definition start
} } Function definition end
$ $ result func args... Function call
^ ^ value Return
[ [ var size Array create
] ] result arr idx Array read
{ { arr idx value Array write
. . value Output
, , var Input
P P result "func" args... Python FFI

Variables

Format Meaning
v0, v1, ... Local variables
g0, g1, ... Global variables
a0, a1, ... Function arguments
g100 argc (command-line argument count)
g101, g102, ... argv (command-line arguments)

Examples

Fibonacci

# 0 1 {
< v0 a0 2
! v1 v0
? v1 1
^ a0
: 1
- v2 a0 1
$ v3 0 v2
- v4 a0 2
$ v5 0 v4
+ v6 v3 v5
^ v6
}
= g0 10
$ g1 0 g0
. g1

Output: 55

Python FFI

; Math functions
P g0 "math.sqrt" 16
. g0

; Random number
P g1 "random.randint" 1 100
. g1

; Type conversion
P g2 "int" "123"
+ g3 g2 1
. g3

Output: 4.0, random number, 124

FizzBuzz

= v0 1
: 0
> v1 v0 100
? v1 9
% v2 v0 15
~ v3 v2 0
? v3 1
% v4 v0 3
~ v5 v4 0
? v5 2
% v6 v0 5
~ v7 v6 0
? v7 3
. v0
@ 4
: 1
. "FizzBuzz"
@ 4
: 2
. "Fizz"
@ 4
: 3
. "Buzz"
@ 4
: 4
+ v0 v0 1
@ 0
: 9

File Structure

sui/
├── README.md           # This file (English)
├── README_ja.md        # Japanese README
├── LICENSE             # MIT License
├── sui.py              # Interpreter
├── sui2py.py           # Sui → Python transpiler
├── py2sui.py           # Python → Sui transpiler (for humans)
├── examples/
│   ├── fibonacci.sui
│   ├── fib_args.sui
│   ├── fizzbuzz.sui
│   ├── list_sum.sui
│   ├── args_demo.sui
│   └── ffi_demo.sui
└── prompts/
    ├── system_prompt.md  # LLM system prompts
    └── examples.md       # Generation examples

LLM Integration

Sui is designed for LLM code generation. Use the prompts in prompts/ directory:

  1. Copy the system prompt from prompts/system_prompt.md
  2. Paste it into ChatGPT / Claude / Gemini / etc.
  3. Ask to generate Sui code for your task
  4. Run with python sui.py

See prompts/examples.md for prompt templates and expected outputs.

Why Sui?

Name Origin

Sui (粋) - A Japanese word meaning "refined," "sophisticated," or "the essence." It represents the aesthetic of eliminating excess and keeping only what is essential.

Avoiding LLM Weaknesses

LLM Weakness Sui's Solution
Bracket mismatch Only {} for functions
Long-range dependencies Each line is independent
Variable name typos Only sequential numbers (v0, v1...)
Complex nesting No nesting, decompose to temp variables

vs Assembly

Aspect Assembly Sui
Instruction count Hundreds to thousands ~20
Registers 8-32 Unlimited
Function calls Complex (ABI) Simple

vs Python

Aspect Python Sui
Token count High Low
Syntax complexity High Low
Line-by-line errors Hard Easy

Roadmap

  • Transpiler (Python output)
  • Transpiler (Python input, for humans)
  • Transpiler (JavaScript output)
  • Type annotations (optional)
  • LLVM IR output
  • WebAssembly output

License

MIT License

Metadata

Release files for sui-lang 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sui-lang 0.1.0
File Size Uploaded
sui_lang-0.1.0.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sui-lang 0.1.0
File Interpreter ABI Platform
sui_lang-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.4 kB

Release files / sui_lang-0.1.0.tar.gz

Download URL sui_lang-0.1.0.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cfb93bc312ed407d10663b1f690efa5a0b2be36b09732de2af5c569c0a9b7c79
BLAKE2b-256 checksum
How to use checksums
5cb7db81411c5e30184bfc980f2e6621abe95cff3e9664c78ebc3a5f4d4f4ee6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Release files / sui_lang-0.1.0-py3-none-any.whl

Download URL sui_lang-0.1.0-py3-none-any.whl
Size 18.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee8b5432043145ef3bf19675dff26e6af470f9a774807ab05b779712cea69050
BLAKE2b-256 checksum
How to use checksums
1f1c5756bb9553870c99ecf290d344363b15d147f921f5712dace206a478d122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Release history Release notifications | RSS feed

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page