GALEIKANDownload ↘
THE SYSTEM / 0.1.0 DEVELOPMENT PREVIEW

Technical details.

Galeikan brings scripting, native compilation, and research-oriented data models into a single language. This is the current implementation and the boundary of its preview release.

01 / EXECUTION & LANGUAGEONE SOURCE MODEL

Interpreter, VM, native

The AST interpreter is the reference execution path. The bytecode VM runs source and portable .gakb bundles. The native compiler emits x86-64 Windows PE or Linux ELF executables for supported constructs. All paths use the same syntax, though native coverage is still narrower.

galeikan run examples/inspect_script.gaks
galeikan run examples/inspect_script.gaks --engine vm
galeikan build examples/inspect_script.gaks
galeikan compile examples/native_scalar.gak

Syntax and types

Typed function parameters and return values, local bindings, records, classes, conditionals, loops, pattern matching, checked integer operations, Result values, and early returns are available in the preview. The type system is still being expanded; unsupported native constructs are rejected rather than silently transformed.

Modules and packages

Local imports are concise: import helper as h or from helper import name. Standard modules live under std.*. Offline local packages are declared in galeikan.json and locked with exact content and versions. There is no hosted registry or automatic dependency download yet.

Shared extensions

.gak and .gaks use identical syntax and semantics. Either extension may be interpreted, bundled, or compiled if the program uses the supported native subset. GaleikanScript and GaleikanLang are ecosystem labels for script and compiled workflows, not separate languages.

02 / RESEARCH PRIMITIVESCAPTURE → INSPECT → VERIFY

Source and provenance

A Source is a bounded byte snapshot with a hash and origin. Views, patches, and splices keep lineage to their parent data. Observation values couple decoded results with byte ranges. Findings record rule results with that source context.

PE and ELF

Format inspection exposes headers, sections, entry points, dependencies, import/export data, relocations, selected hardening signals, and selected symbol and debug metadata. PE debug entries can expose CodeView RSDS PDB identity. These are file observations, not a loader simulation or a malware verdict.

Disassembly and memory

The x86 decoder produces instruction views from Source data, including bounded linear and reachable disassembly. Process inspection can enumerate regions, images, modules, child processes, and threads, then capture bounded memory snapshots where OS permissions allow it.

Network workflows

Built-in TCP and UDP exchanges and bounded HTTP requests return analyzable data. Requests require an explicit net.connect declaration and a matching target grant. Timeouts and size limits are enforced. The API is intended for controlled, repeatable research.

Cases and verification

A case can record events, affected Sources, source files, imported module hashes, and findings. The verify-case command checks archived hashes and lineage relationships without running the original program. Content hashes are integrity evidence, not proof of authorship.

Python bridge

Project-local py.* modules are called through a typed subprocess bridge after python.exec is declared and granted. The worker can retain module state during a run. Native programs can use it too, but Python and imported .py files remain external. The optional Python package calls Galeikan functions in the opposite direction.

03 / RELEASE BOUNDARIESPREVIEW STATUS

Explicit effects, clear limits

File reads, network connections, process inspection, Python execution, and case writing use source declarations and command-line grants. They make intent visible and constrain supported operations. This preview does not isolate untrusted programs at the operating-system level.

Platforms and packages

Preview artifacts are a Windows x64 installer, a Debian 13 amd64 package, and a VS Code extension. Native compilation needs a host x86-64 GCC toolchain. The packages are unsigned and currently target these specific platforms.

What is still ahead

Complete interpreter/native parity, a comprehensive static type system, GPU support, broad platform coverage, full sandboxing, and stable 1.0 semantics are future work. No stable release date is announced.

Build from source

The implementation uses Rust, C runtime components, and an x86-64 assembly stage-0. Build with Cargo and use the package scripts for Windows and Debian. The public source includes tests, examples, packaging, and the editor grammar.

Explore the source on GitHub ↗