Air Gapped
Target-agnostic logic with zero built-in I/O for absolute security.
A purely symbolic, instruction-oriented language designed for secure orchestration, plugin systems, and API interfaces.
Hank is a purely symbolic, instruction-oriented embeddable language designed to bring secure, dynamic automation to any host application. Built on a strict air-gapped execution model, Hank has zero built-in I/O, guaranteeing that scripts cannot access the filesystem, network, or OS without explicit delegation. This makes it the perfect predictable environment for game scripting, microservice orchestration, and user-facing plugin systems. With a highly readable, keyword-less syntax and universal cross-platform parity, Hank seamlessly bridges the gap between static configuration files and complex general-purpose programming.
This site contains the educational guides and playground for the Hank ecosystem. The Source of Truth, including formal language specifications and engine conformance tests, is maintained in the core repository:
Hank is built on three unbreakable pillars that ensure absolute predictability across different host environments. Read the full Philosophy & Vision →
Hank is target-agnostic and has zero built-in I/O capabilities. It cannot read files, access the network, or interact with the operating system on its own. All environmental mutations are deferred to host-provided Native Tasks.
There are no reserved keywords for values or control flow definitions. Keywords common in other languages—such as true, false, null, import, func, var, let, for, if, or private—do not exist as language primitives. They are simply identifiers that resolve to Hank values (usually Void for falsy states and Number(1) for truthy states).
Variables in Hank (Strings, Numbers, Arrays, Maps) are purely inert memory containers. They do not have methods, prototypes, or hidden logic. All operations on data must be performed by passing the variable to an explicit module task.
Beyond its core pillars, Hank enforces structural purity to eliminate ambiguity.
Hank has no binary operators for data manipulation. There is no inline arithmetic (+, -, *, /) and no built-in syntax for String or Array concatenation. Every operation that transforms or combines data must be invoked via an explicit, host-defined Task call (e.g., math.add(a, b) or str.concat(s1, s2)).
Hank is whitespace-insensitive and semicolon-free. Because every operation is triggered by an explicit symbol or a task call, instructions are unambiguously delimited by their own tokens. Newlines are purely for readability and error reporting.
Hank was recently stress-tested on a resource-constrained ARM Linux system (custom Buildroot image) to verify its utility in the "Extreme Edge."
The project, codenamed Eddie (Embedded Device Directive Interpreter Engine), successfully demonstrated that high-level orchestration doesn't require high-level overhead.
aarch64-unknown-linux-musl for absolute standalone execution./etc/init.d/S99eddie), proving that Hank is ready for air-gapped automation in everything from cloud servers to IoT gateways.