AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
正在加载完整 README。 以下为已保存的摘录。
A port of the Haxe compiler from OCaml to Haxe, and a C backend (hxc) that
compiles it to a native binary.
• src/: the port, module by module after upstream's haxe/src/.
• hxc/: the C backend and its runtime.
• haxe/: upstream Haxe (submodule, commit 995a7d1fe), the reference
compiler the port is tested against.
• test/: test harnesses. site/: the website, site/bench/ the benchmarks.
• tools/lix/: lix (the lix client and haxeshim) ported to
build with hxc, a program of its own that uses the target (make lix).查看完整 README ↗hxmc is two things in one compiler:
--interp runs, the same display and server
answers.The compiler is distributed through npm. Website, benchmarks and a playground: https://haxe-in-haxe.ben.mk.
| Supported | |
| Compiler port | Haxe 5.0.0-preview.1, upstream commit 066bd83 |
| Native targets | Linux, macOS, Windows; x86-64 and ARM64 |
| WebAssembly | wasm32-wasi (node, wasmtime, browsers) |
| Macros | Eval, as upstream |
| Coroutines | upstream's TestCoroutines passes natively and on wasm32-wasi |
| Rebuilds | the module cache on disk, the compilation server, haxe --dev |
| Experimental | |
| Android, iOS | the shared library and the executable a packager puts in an app (docs) |
| Mir macros | -D hxmc.macros=mir: macros on hxmc's own interpreter |
| Not yet | |
| WebAssembly threads, sockets and processes; call stacks on WebAssembly | |
| debugger variables (lines and backtraces work), Windows PDB | |
| iOS device signing |
npm i -D @hxmc/cli # node 22+; then `npx haxe` (or `npx hxmc`)
haxe is the full Haxe command line with hxmc built in. Every Haxe target
works as usual (--js, --interp, ...), and --custom-target hxmc=<out>
writes an executable.
npm installs the native compiler for your machine (Linux, macOS or Windows;
x86-64 or ARM64) with the runtime objects of its targets. To cross-compile
for another of those machines, install its package too, with --force:
npm i -D --force @hxmc/win32-x64 # windows-x86_64's runtime objects
Android's runtime objects are not on npm: use the release archive of the runtime objects or build them from source. Packages, editors and lix: docs/using.md.
# build.hxml
-cp src
-main Main
--custom-target hxmc=bin/app
# -D hxmc.target=windows-x86_64 # cross-compile
npx haxe build.hxml && ./bin/app
npx haxe --dev build.hxml # rebuild and rerun on every save
| docs/using.md | user guide: targets, options, outputs, libraries, the module cache, debugging, limitations |
| docs/interop.md | calling C, struct values and the low-level API |
| docs/dev.md | the dev loop's protocol, for libraries that keep state across reloads |
| docs/development.md | contributing: layout, building, bootstrap |
| docs/testing.md | tests, CI and benchmarks |
| docs/porting.md | rules for changes to the port (haxe/src) |
| docs/hxmc.md | how the target works: pipeline, runtime, collector, linkers |
| ROADMAP.md | direction and what comes next |
| docs/plans/ | open designs, by area |
universe is a separate, experimental app and GUI stack built on hxmc (windows, GPU, UI). hxmc does not depend on it.
git submodule update --init
make hxmc # the tool (node runs the committed stage0 on first use)
make port # bin/port/haxe: the port with every generator
make quick # after every change to hxmc
make help # everything else
This needs GNU make, node 22 and git. zig is needed only to rebuild the runtime objects, which are normally downloaded. See docs/development.md.
The compiler port (haxe/src) is GPL-2.0-or-later, like the Haxe compiler it
is translated from, and so is a built compiler as a whole. Everything else,
including the hxmc target, its runtime and std, is MIT. See LICENSE.