THE JOA LANGUAGE

Overview

Understand Joa, its native networking types, interpreter architecture, and current implementation status.

Joa is a dynamically typed interpreted language designed for backend infrastructure, network configuration, and autonomous AI agent operations. It treats IP addresses, subnets, and AI agents as first-class language primitives — no imports, no external libraries, no boilerplate.

Its syntax enforces mandatory braces { } for all blocks, which eliminates whitespace-sensitive parsing and enables precise, human-centric error messages modeled after Rust and Elm.

Implementation status

These pages document the interpreter in this repository. The CLI reports v0.1; the existing language reference is labeled 0.2. Features described here follow the source rather than implying a stable release.

Feature Current behavior
IPv4 and CIDR operations Local, implemented network value operations
Functions, lists, maps, closures Evaluated by the tree-walk interpreter
Agent .ask() Prints a query and returns a simulated response; no model API request
Agent .detect_objects() Prints a notice and returns ["unknown_object"]
~ matching Case-insensitive keyword substring matching; no embeddings
quarantine() and trigger_alert() Console notices; no firewall or alert-service integration

The Go interpreter uses the standard library. There is no package import system, interactive REPL, or bundled AI provider integration. Run one .jo source file at a time.

Interpreter pipeline

.jo source → lexer → tokens → parser → abstract syntax tree → interpreter → output.

Start with installation and your first program, then try the runnable examples.