Getting started | Learn | Documentation | Contributing
This repository contains the WalkLang compiler, language specification, examples, tests, documentation, generated reference docs, and release tooling.
WalkLang compiles .walk source through generated C into native executables:
.walk source -> C++ compiler -> generated C + Walk C runtime -> native executable
A small WalkLang program looks like this:
func: add(a, b)
return: + a b
out: add(2, 3)
- Predictability: indentation-based syntax, explicit module boundaries, and a stable feature specification keep programs easy to read and reason about.
- Native output: WalkLang emits understandable C, then uses the system C compiler to build native executables.
- Tooling: project mode, tests, formatting, diagnostics, package workflows, editor support, API docs generation, and release scripts are part of the repo.
WalkLang is currently v6.3.3.
v6.3.3 keeps the completed C++/C compiler release line, keeps stable
math.remainder(int, int) -> int, and upgrades TinyChain into a more polished
terminal showcase. The repo-local walk binary is built from C++ sources,
generated programs link with the Walk C runtime, and features inside a release
are labeled stable, draft, experimental, or planned when their maturity
matters.
The first CLI standard-platform slice remains walktop, an official
standalone WalkLang-built system monitor installed by the normal local install
flow.
.walkfiles compile through generated C into native executables.- Stable syntax, diagnostics, modules, tests, and standard-library helpers are documented and compatibility-tested.
- Draft
do:,defer:,io,parse,process,file,dir,path,json,map,term,http, andhtmlhelpers are implemented for current compiler experiments. - Experimental structs, methods, and simple generic functions are implemented for current compiler experiments.
walk run, directwalk file.walk,walk build,walk check,walk test,walk fmt,walk clean,walk package,walk docs,walk debug-map,walk lsp,walk repl, andwalk versionare implemented.walktopbuilds fromtools/walktop/src/main.walkinto a standalone native command with deterministic fixture mode and live OS-command mode.- Project mode supports
walk init,walk.toml, source/test layout, builds, checks, tests, formatting, explicit debug/release build modes, and cleanup. examples/tinychain/shows a tested blockchain-style project with a colorful terminal transcript, tamper audit, and recorded missing language tools such as real hashing, struct-array append, multiline arrays, and stable persistence.- Static docs and generated API reference output are repo-owned and deployed through GitHub Pages; live custom-domain HTTPS state is tracked in STATUS.md.
Read the install guide, then run a .walk file directly:
scripts/install-local.sh local
walk run playground/route_ranker.walk
walk playground/route_ranker.walkThen build a small project:
walk init hello
cd hello
walk check
walk build
./build/hello
walk testFrom the repository root, try the TinyChain showcase project:
cd examples/tinychain
../../build/walk test
../../build/walk run src/main.walk
env -u NO_COLOR CLICOLOR_FORCE=1 ../../build/walk run src/main.walkIf you want to install from this repository, see INSTALL.md.
Start with the docs index at docs/README.md. The public docs
site is built from docs/ and public/ in this repository and configured for
walklang.wlkrlabs.com/docs. Until public community channels exist, use this
repository's issue tracker for bugs and design questions.
See CONTRIBUTING.md.
For a project overview and implementation direction, see ARCHITECTURE.md, ROADMAP.md, and STATUS.md.
WalkLang source code is distributed under the terms of the Apache License 2.0.
See LICENSE for details.
The WalkLang name, logo, and brand identity are protected project marks owned by Shane Walker / WLKRLABS.
If you want to use the WalkLang name, logo, or brand identity, read TRADEMARKS.md.