Wevoamon Logo

Wevoamon Docs

Language + Runtime + Engine

Wevoamon Documentation Portal

Everything You Need to Build with .wn

Structured like a modern language documentation site: clear navigation, practical examples, runtime references, and contributor workflow in one place.

Overview

Wevoamon is a custom programming language that uses the .wn extension. The current engine is implemented in C++ and includes a complete Lexer-Parser-Compiler-VM pipeline with expanding runtime capabilities.

The language is under active development and should be considered experimental.

Current Version

Language Reference v0.4

Core Target

Portable native runtime foundation

Father of Wevoamon

Father of Wevoamon, is Abdul Ahad, a 19-year-old software engineer based in Kerala.

Quick Start

Build the runtime and execute your first .wn program:

cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_CXX_COMPILER="C:/msys64/ucrt64/bin/g++.exe"
cmake --build build -j 4
.\build\wevoamon.exe .\examples\hello.wn

Run any entry file:

.\build\wevoamon.exe .\path\to\program.wn

Syntax

Statements end with ;, assignments use <-, and blocks use { ... }.

forgeritualgivecheckotherrepeatcallsharelitdimvoida
forge score <- 72;

check (score >= 50) {
  print::console("Pass");
} other {
  print::console("Fail");
}

ritual add(a, b) {
  give a + b;
}

Modules

Use call to load modules and share to expose selected symbols.

// main.wn
call auth;

check (login("admin", "1234")) {
  print::console("Auth success");
}
// auth.wn
ritual login(user, pass) {
  give user == "admin" && pass == "1234";
}

share login;

Runtime APIs

Built-ins currently available:

  • print::console(...)
  • clock()
  • gc::collect()
  • gc::stats()
  • jit::status()
print::console(gc::stats());
print::console(jit::status());

CLI Usage

Current runtime executable:

wevoamon.exe <entry-file.wn>

Typical usage:

  • Create and edit .wn files
  • Use call moduleName; for module imports
  • Build the runtime with CMake
  • Execute the entry program and iterate on diagnostics

Engine Architecture

Lexer

src/lexer.cpp

Parser + AST

src/parser.cpp + include/wevoamon/ast.hpp

Compiler

src/compiler.cpp

VM

src/vm.cpp

Module Runner

src/module_runner.cpp

JIT Backend

src/jit.cpp

Developer Workflow

  1. Define token, AST, compiler, and VM changes for new syntax or opcodes.
  2. Update language documentation and examples in the same PR.
  3. Build locally and run examples/hello.wn as a smoke test.
  4. Open a PR with concise technical rationale and migration notes.

Latest Updates

Open-Source Ready

Contributing, governance, templates, CI, and security documentation are now part of the core project workflow.

Runtime Expanded

Arrays/objects, closure support, ARC stats hooks, and baseline JIT status APIs are active.

Website Added

A dedicated Next.js website now provides a theme-driven layout, roadmap, and this documentation portal.

Contribute

We welcome contributions in parser/compiler correctness, runtime features, diagnostics, tooling, and documentation.