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 ↗