No description
  • Assembly 85.3%
  • Go 12.1%
  • TypeScript 2.4%
  • CSS 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Robert Hurst 9d7137e702
All checks were successful
CI / Test (push) Successful in 6m50s
CI / Release binaries (push) Successful in 27s
CI / Publish website (push) Successful in 34s
website: surface silent vyi failures and pin package roots
Production was returning bare exit 1 / "native build failed" with empty
stderr when the compiler child failed without output. Always diagnose
non-zero check/build/run, record exec start errors, and set VYI_PACKAGES
via an absolute path that replaces any inherited value (first-match env
lookup). Also route Traefik for vyilang.org on the website service.
2026-08-15 17:32:41 -07:00
.forgejo/workflows cli,ci: test targets, repo hoist, install script, release pipeline 2026-07-15 22:23:53 -07:00
bootstrap-compiler fmt: print/println take their value generically — rvalues, no boxing 2026-08-06 23:32:18 -07:00
bootstrap-language-server cli,ci: test targets, repo hoist, install script, release pipeline 2026-07-15 22:23:53 -07:00
compiler cli,ci: test targets, repo hoist, install script, release pipeline 2026-07-15 22:23:53 -07:00
deploy website: surface silent vyi failures and pin package roots 2026-08-15 17:32:41 -07:00
docs docs: tidy the print migration — drop unused @io imports, collapse split prints 2026-08-06 23:47:22 -07:00
packages fmt: print/println take their value generically — rvalues, no boxing 2026-08-06 23:32:18 -07:00
scripts cli,ci: test targets, repo hoist, install script, release pipeline 2026-07-15 22:23:53 -07:00
vscode-extension parser,intern: c_ptr T -> *c_ptr T (join the * pointer family) 2026-07-22 00:57:54 -07:00
website website: surface silent vyi failures and pin package roots 2026-08-15 17:32:41 -07:00
.dockerignore cli,ci: test targets, repo hoist, install script, release pipeline 2026-07-15 22:23:53 -07:00
.gitignore chore: gitignore .claude/worktrees (transient agent worktrees) 2026-07-22 00:57:54 -07:00
CLAUDE.md cli,ci: test targets, repo hoist, install script, release pipeline 2026-07-15 22:23:53 -07:00
NAMING_REVIEW.md x64: SysV stack args, float conversions, fn-value adapters; interaction-suite fixes 2026-06-26 14:24:23 -07:00
README.md cli,ci: test targets, repo hoist, install script, release pipeline 2026-07-15 22:23:53 -07:00
REVIEW_1.md c-interop: @c sibling exports, cstr helpers, field-wise struct conversions 2026-07-02 22:32:41 -07:00

Vyi

A small systems language: value semantics, typed absence, parkable compile-time evaluation. Compiles to WebAssembly and native linux. Early alpha.

Install

Prebuilt linux/amd64 and linux/arm64 binaries (plus the standard library) are published by CI. Install with:

curl -fsSL https://forgejo.roberthurst.ca/robert/Vyi/raw/branch/master/scripts/install.sh | bash
# remove later:
# curl -fsSL …/install.sh | bash -s -- --uninstall

That installs into ~/.local by default:

Path Contents
~/.local/bin/vyi compiler CLI
~/.local/bin/vyi-language-server LSP server
~/.local/share/vyi/ standard library ($PREFIX/share/vyi)

Ensure ~/.local/bin is on your PATH. Pin a release with VYI_VERSION=v0.1.0 (once tagged), or a custom prefix with PREFIX=/usr/local.

Artifacts live in the Forgejo generic package registry:

https://forgejo.roberthurst.ca/api/packages/robert/generic/vyi/<version>/
  vyi-linux-amd64
  vyi-linux-arm64
  vyi-language-server-linux-amd64
  vyi-language-server-linux-arm64
  vyi-stdlib.tar.gz

<version> is latest for builds from master, or a tag name such as v0.1.0.

Build from source

cd bootstrap-compiler
go build -o vyi ./cmd/vyi
./vyi run --packages ../packages path/to/main.vyi

Language server:

cd bootstrap-language-server
go build -o vyi-language-server .

Verification gate (from bootstrap-compiler/):

go build ./... && go test ./... -count=1
go test ./transform/ -run Test_Transform_E2E_Native -count=1

Repository layout

Path What
bootstrap-compiler/ Go bootstrap compiler (vyi CLI, transform, backends, e2e)
bootstrap-language-server/ LSP binary (depends on the compiler module)
packages/ Standard library (@core, @io, @mem, …)
website/ Language site, playground, learn course
vscode-extension/ VS Code extension
docs/ Language documentation
scripts/install.sh User install script
deploy/ Production compose for the website

Website

./website/run.sh          # dev: API :8080 + Vite :5173
docker build -f website/Dockerfile -t vyi-website .

Production image: forgejo.roberthurst.ca/robert/vyi-website:latest → vyi.roberthurst.ca.