Observed since 21 Oct, 11:08 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Deterministic business application platform optimized for AI-assisted development
Deterministic programming language designed for AI-assisted development.
AILang is a deterministic programming language for AI-assisted development. It runs on a deterministic Python interpreter and is designed to be easy for both humans and AI systems to reason about. Runtime errors are structured and diagnostic; there are no Python tracebacks in normal operation.
fn main() {
print("Hello, AILang!");
return 0
}
ail mcp exposes the compiler to AI tools via Model Context Protocol. AI agents get machine-readable language specs, not blog posts.Create a file hello.ail:
fn main() {
print("Hello, AILang!")
return 0
}
Note: The CLI is
ail(notailang). Afterpip install ailang-lang, useail run,ail build, etc.
Build from source:
git clone https://github.com/akpersonal4/ailang-lang-AILang.git
cd ailang-lang-AILang
pip install -e .
# Run your first program
echo 'fn main() { print("Hello, AILang!"); return 0 }' > hello.ail
ail run hello.ail
Install from local wheel (pre-built in dist/):
pip install dist/ailang_lang-1.1.19-py3-none-any.whl
ail run hello.ail
ail run <file.ail> # Compile and run an AILang program
ail build <file.ail> # Compile and check for errors (no execution)
ail check <file.ail> # Check for forward references and ordering violations
ail fmt <file_or_dir> # Format AILang source file(s)
ail fmt --check <file> # Check if formatted
ail watch [<file>] # Watch for changes, recompile incrementally
ail new <project> # Create a new AILang project scaffold
ail rename <old> <new> # Rename identifier repository-wide
ail order <target> # Analyze dependency ordering of .ail files
ail test [<file_or_dir>] # Run test_*.ail files
ail install # Install dependencies from ail.toml
ail add <package> # Add a dependency to ail.toml
ail remove <package> # Remove a dependency from ail.toml
ail update # Re-resolve all dependencies
ail list # List installed dependencies
ail publish # Publish project to package registry
ail doctor # Diagnose environment issues
ail heal # Get fix suggestions for common errors
ail explain <CODE> # Explain a compiler error code in detail
ail docs [<name>] # Read documentation (AGENTS, LANGUAGE_SPEC, STDLIB_REFERENCE)
ail context [--json] # Get machine-readable language context
ail mcp # Start MCP server for AI tool integration
ail static-analyzer # Run static analysis on AILang source
ail benchmark # Run the AILang benchmark suite
ail testgen # Generate test cases for AILang apps
ail lsp # Start the LSP server (stdin/stdout)
ail version # Print version information
ail --version # Print version information
# Run all tests in current directory
ail test
# Run tests for a specific application
ail test --root apps/inventory
# Run tests from application directory
cd apps/inventory
ail test
# Run a specific test file
ail test apps/inventory/tests/test_supplier.ail
# Run tests with verbose output
ail test --verbose
# Skip pre-flight ordering check
ail test --no-check
Supported test patterns:
test_*.ail*_test.ailExcluded directories:
.ail/ (internal backups)backups/__pycache__/dist/build/.git/node_modules/.venv/For AI-assisted development, run this first:
# Get machine-readable language context
ail context --json
# Read the documentation
ail docs AGENTS
ail docs LANGUAGE_SPEC
Document hierarchy:
LANGUAGE_SPEC.md — canonical language definition (authoritative)AGENTS.md — AI operational rules (derived from spec)AILANG_DEVELOPMENT_PLAYBOOK.md — coding patterns and conventionsSTDLIB_REFERENCE.md — library API documentationIf
AGENTS.mdconflicts withLANGUAGE_SPEC.md, the spec wins.
import string;
import math;
import list;
// Functions are top-level, recursion only (no loops)
fn factorial(n) {
if (n <= 1) {
return 1
}
return math.mul(n, factorial(math.sub(n, 1)))
}
// Import aliases
import map as m;
fn main() {
// Variables with let
let greeting = "Hello, AILang!";
print(greeting);
// Map operations
let config = map.new();
map.set(config, "version", "1.0");
let v = map.get(config, "version");
// Recursion
let result = factorial(5);
print(result);
return 0
}
| Guide | Description |
|---|---|
| Getting Started | Step-by-step introduction |
| Language Tour | Complete language feature tour |
| Standard Library Reference | All 16 modules documented |
| MCP Quick Start | AI tool integration via MCP |
| Compiler Architecture | Pipeline and design |
| Contributor Guide | How to contribute |
| Testing Guide | Test patterns and practices |
| Quick Start | 5-minute setup guide |
| Quick Start (concise) | Minimal path: install → write → run |
| Onboarding Checklist | Day-by-day guide for new developers |
| VS Code Extension | AILang VS Code extension |
AILang is running an open community validation study against the published v1.1.17 baseline: build one small business application twice — once with Python + AI, once with AILang + AI — then apply a fixed set of change requests. The goal is real, measured evidence on whether deterministic constraints reduce the cost of AI-assisted business software development.
Eligibility: AI-trusting developers with prior AI-assisted Python experience, not project contributors. Study results are published anonymized. Feature requests raised during the study are recorded as evidence and reviewed through the governance process — they are not implemented mid-study.
Install the AILang extension for syntax highlighting, snippets, bracket matching, and more:
code --install-extension extensions/vscode-ailang
Or package and install from the VS Code Marketplace: extensions/vscode-ailang/.
ail mcp exposes compiler to AI tools via Model Context Protocolimport string;
import math;
import list;
fn process(items) {
let first = list.get(items, 0);
return string.uppercase(first)
}
fn main() {
let items = list.new();
list.append(items, "hello");
list.append(items, "world");
let r = process(items);
let s = math.add(1, 2);
print(r, s);
return 0
}
| Module | Operations |
|---|---|
| string | concat, equals, uppercase, lowercase, length, contains, starts_with, ends_with, trim, substring, find, find_from, split, join, from_int, from_bool |
| math | add, sub, mul, div, abs, min, max |
| list | new, append, len, get, contains, remove, clear, sum, find_by_key, filter_by_key, filter_by_contains, collect_key, group_by_key, sum_by_key, take, skip, search_by_name, exists_by_key, sort, sort_by_key, copy |
| array | new, push, len, get, contains, remove, clear |
| map | new, set, get, has, delete, keys, clear, values, get_or_default, safe_get |
| set | new, add, contains, len, remove, clear |
| file | exists, read, write, append, remove, listdir |
| path | join, basename, dirname, extension, normalize |
| json | parse, stringify |
| csv | parse, parse_header, stringify |
| time | now, timestamp, sleep, format |
| random | int, float, choice |
| environment | get, cwd, args |
| convert | to_string, to_int, to_bool, to_number |
| io | write, writeln, println, read |
| system | exit |
| Metric | Value |
|---|---|
| Python version | 3.11+ |
| Compiler LOC | ~3,950 (39 Python files) |
| Stdlib modules | 16 |
| Tests | 1128 passing |
| Example programs | 55+ |
| Application programs | 43+ |
| DX Tools | ail context, ail doctor, ail static_analyzer, ail benchmark, ail testgen, ail docs, ail mcp |
| Quality gates | black, ruff, mypy all clean |
| Validation | Deterministic, AI-verified, stress-tested |
For environment diagnostics: ail doctor. For error explanations: ail explain <CODE>.
See CLI Reference for all commands, Formatter for formatting rules, and Troubleshooting for common issues.
# Install development tools
pip install pytest black ruff mypy
# Run all quality gates
python -m pytest
black --check .
ruff check .
mypy
This project is licensed under the Apache License 2.0.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.1.28 | 2 Sept 2026 | 10 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 21 Oct, 11:08 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:707be6723f1e6517792f6766546496f7938246888f9f79b3e94fc68757d311ee