THE CODEX
Achlys v1.2 Reference Manual.
Strict typing. Latin syntax. Ouroboros compilation.
Language Specifications
Core Features
- • Self-Hosting: Compiles itself via `ouroboros.nox`.
- • Zero Dependencies: Produces standalone binaries.
- • Hybrid Core: Shadow (Headless) & Neon (Graphics) modes.
- • Strict Typing: Enforced at runtime for safety.
Use Cases
- • Red Team: C2 Beacons, Port Scanners (Native Sockets).
- • Tooling: Exploitation frameworks, file parsers.
- • Education: Learning computer science via Latin.
- • GUI Apps: Dashboards, visualizers (Raylib).
Syntax & Data Types
Achlys requires explicit type declarations. Statements must end with a caret (^).
Variable Declaration (Vas)
Format: vas [name] : [type] -> [value]^
// Integers (Whole numbers)
vas port : int -> 80^
// Decimals (Floating point)
vas ratio : dec -> 3.14159^
// Strings (Text)
vas message : str -> "Hello Void"^
// Arrays (Lists)
vas targets : arr -> ["192.168.1.1", "10.0.0.1"]^
// Objects (Maps)
vas hero : obj -> {
name: "Achlys",
lvl: 1,
stats: { hp: 100, mp: 50 }
} ^
// 'Any' type for flexibility if needed
vas test : any -> numerus(capio())^Control Flow
Logic gates using Latin keywords: si (if), aliter (else), dum (while).
// Conditional Logic
si (port == 80) {
scribo("HTTP Service Detected")^
} aliter {
scribo("Unknown Service")^
}
// Loops
vas i : int -> 0^
dum (i < 10) {
scribo("Counting: " + i)^
i -> i + 1^
}^Functions (Opus)
Defining Functions
Use 'opus' to define. Parameters are dynamically scoped. Use 'reddo' to return.
opus add(a, b) {
vas result : int -> a + b^
reddo result^
}^
// Calling the function
vas sum : int -> add(10, 20)^
scribo(sum)^Nerve Layer (Networking)
Direct access to TCP sockets. DNS resolution is automatic via `gethostbyname`.
necto(host, port)Opens a TCP connection. Returns a Socket ID.
vas sock : int -> necto("example.com", 80)^mitto(sock, data)Sends raw string payload.
mitto(sock, "GET / HTTP/1.1\\r\\n\\r\\n")^recipio(sock, size)Reads bytes from the stream.
vas res : str -> recipio(sock, 1024)^claudere(sock)Terminates the connection.
claudere(sock)^Neon Layer (Graphics)
Available when compiled with -DENABLE_GRAPHICS. Uses Raylib backend.
fenestra(w, h, title)Opens a new window.
incipere_picturam()Begin rendering frame.
finire_picturam()End rendering frame.
purgare_fundum(col)Clear screen with color.
delinere_textum(txt, x, y, s, c)Draw text at position.
delinere_quadratum(x, y, w, h, c)Draw filled rectangle.
delinere_circulum(x, y, r, c)Draw filled circle.
clavis_pressa(keycode)Check if key is held down.
System Core
sys(cmd)Execute shell command. Returns exit code.
inscribo(path, data)Write string to file system.
revelare(path)Read file contents into variable.
capio()Capture stdin (user input).
numerus(str)Cast string to integer/decimal.