Vais is a .vais language and self-host compiler workspace. The public compiler
and checker commands are scripts/vaisc and scripts/vais-check.
The current mainline is intentionally small and gate-backed: scripts/vaisc
builds a native host driver, links the reusable self-host compiler core in
compiler/self/vaisc_core.ll, emits LLVM IR, and links programs with clang.
Official site: vaislang.dev
Current source release: v1.0.1. The GitHub Release provides standalone
vaisc and vais-check archives for Linux x64, macOS arm64, and macOS x64.
The site includes a Korean/English homepage and a separate coding-workspace
playground for tutorial examples. The browser runner executes a small Vais
subset for fast feedback; compile full programs locally with scripts/vaisc.
Requirement for the public compiler command: clang.
scripts/vaisc doctor
scripts/vaisc run examples/c4.vais
scripts/vaisc run examples/e323_cli_package
scripts/vaisc package examples/e323_cli_package -o /tmp/e323-dist
scripts/vaisc package examples/e326_cli_binary_target -o /tmp/e326-dist
scripts/vaisc package examples/e326_cli_binary_target -o /tmp/e326-dist --archive
scripts/vaisc package examples/e328_cli_package_assets -o /tmp/e328-dist --archive
scripts/vaisc emit-ir examples/c4.vais -o /tmp/c4.ll
scripts/vaisc build examples/c4.vais -o /tmp/c4
scripts/vais-check examples/c4.vaisThe main command accepts .vais entry files and manifest-backed package
directories, and can package a manifest-backed directory as
dist/bin/<package-name> plus dist/vais.toml. Add --archive to also
produce a redistributable <binary-or-name>-<version>.tar.gz payload. If the
manifest includes assets = "assets", that directory is copied to
dist/assets and included as assets/ in the archive payload.
For standalone vaisc and vais-check binaries outside the checkout:
scripts/install-vaisc.sh --prefix "$HOME/.local"
"$HOME/.local/bin/vaisc" doctor
"$HOME/.local/bin/vaisc" run examples/c4.vais
"$HOME/.local/bin/vais-check" examples/c4.vaisTo remove that install:
scripts/uninstall-vaisc.sh --prefix "$HOME/.local"To build a release archive:
scripts/package-vaisc-release.shBefore cutting a public tag, run the full release gate:
bash scripts/test-release-gates.shTag builds also run the release archive workflow and attach standalone archives to the matching GitHub Release. The release checklist is docs/release/RELEASE_CHECKLIST.md.
| Start here | Purpose |
|---|---|
| https://vaislang.dev/ | Korean/English public homepage and separate playground |
| docs/README.md | Documentation map and publication rules |
| CHANGELOG.md | Current source release notes |
| docs/release/RELEASE_CHECKLIST.md | Pre-tag release checklist |
| docs/reference/LANGUAGE.md | Current syntax and verified language surface |
| std/PRELUDE.md | v1-candidate prelude API reference |
| docs/design/MODULES.md | Current module/package/import model |
| examples/README.md | Value-checked example corpus |
| docs/design/VAISDB_DX_BASELINE.md | Reproducible document/VaisDB workflow, diagnostics, formatting direction, and benchmark baseline |
| compiler/self/SELF_HOST.md | Self-host compiler status |
| website/DEPLOYMENT.md | Official site source and deployment notes |
compiler/self/ self-host compiler sources and reusable core
docs/ canonical documentation
examples/ .vais examples; release subset tracked by parity manifest
scripts/vaisc native public compiler command
scripts/vais-check Vais-built public checker command
scripts/install*.sh standalone compiler/checker install/uninstall helpers
scripts/package*.sh standalone release archive helper
scripts/bench*.sh local developer benchmark helpers
scripts/test*.sh compiler and value-correctness gates
std/PRELUDE.md prelude API status
tools/ native driver source, Vais-authored internal tools, parity manifest
website/ official vaislang.dev static site source
Public compiler smoke:
scripts/vaisc doctor
bash scripts/test-vaisc-native.sh
bash scripts/test-vaisc-install.sh
bash scripts/test-vaisc.sh
bash scripts/test-vais-check-vais.sh
bash scripts/test-vaisc-front.sh
bash scripts/test-vaisc-direct.sh
bash scripts/test-vaisc-errors.sh
bash scripts/test-vaisc-parity.sh
bash scripts/test-vaisc-host.sh
bash scripts/test-vaisdb-workflow.sh
bash scripts/test.sh
bash scripts/test-fixpoint-full-self.sh
bash scripts/test-fixpoint-full.sh
bash scripts/test-release-gates.shThe public language and compiler claims in this repository are limited to what these gates protect.
For the current document-indexing workflow baseline:
bash scripts/test-vaisdb-workflow.sh
bash scripts/bench-vaisdb-indexer.sh