Build the native interpreter
The project uses C++17 and Make. These commands assume you already have the project source; a public source release/download is not supplied by this documentation site.
On the Ubuntu-based development setup, install build dependencies:
sudo apt-get install g++-13 make pkg-config nlohmann-json3-dev \
libcurl4-openssl-dev libsqlite3-dev libc-ares-dev libssl-dev \
libmariadb-dev unixodbc-dev python3 openssl
make release
./build/vanilla1 run examples/hello.v
Compiler and package availability depend on your distribution. The Makefile links libcurl, SQLite, c-ares, OpenSSL, MariaDB Connector/C and unixODBC. SQL Server connections additionally require Microsoft's ODBC Driver 18; do not mistake unixODBC itself for that driver.
Debug and test builds
make sanitize
make test
make test-sanitize
The full regression harness has additional prerequisites: some permission tests require a root harness that drops tested processes to an unprivileged user, and WebSocket tests use the project's dedicated Python environment. Read the project test instructions before running the suite. Sanitizer instrumentation covers the interpreter/wrappers, not every vendor library.
Run application tests
./build/vanilla1 test examples/worklog_test.v
Functions named test_* run in fresh interpreter state. This is not process or filesystem isolation: committed writes persist.
What “2.0” means here
Vanilla 2.0 is the public documentation/product branding for the extended language. Internal paths and executable names remain vanilla1; the historical core reference calls its restoration baseline 1.0. The website does not rename binaries or claim a package-manager release.
Deployment choices
- Run scripts directly with the native CLI.
- Serve standalone scripts through the Apache CGI gateway.
- Integrate with existing services using remote SQL and networking.
There is no browser execution playground on this site. Its code-copy buttons copy real source; they do not simulate execution.