Skip to content
envoscalePublic

About

EnvoL: a programming language that compiles to small native programs, with one tool for building, testing and packages. Bootstrapped from assembly, no dependencies.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

EnvoScale

Experimental: this project is an experiment, built with heavy use of AI. While it is early, some functionality may not work as intended.

EnvoL

A programming language that compiles to small native programs for Windows, Linux, macOS and the browser. One tool, envo, builds, runs, tests, formats and packages it. The compiler, the standard library and the tool are written in EnvoL, with no third-party code.

enum Shape {
    Circle(i64 radius),
    Rect(i64 width, i64 height),
}

i64 Area(in Shape s) => match s {
    Circle(r) => 3 * r * r,
    Rect(w, h) => w * h,
};

List<Shape> shapes = List<Shape>.New();
shapes.Push(Shape.Circle(2));
shapes.Push(Shape.Rect(3, 4));

i64 total = 0;
foreach (var s in shapes.AsSlice()) total += Area(s);

Install

Download a release, or build from source with only Git and a shell:

git clone https://github.com/envoscale/EnvoLang
cd EnvoLang
./build.sh build                  # or .\build.ps1 build in PowerShell
build/envo/envo examples/00-hello/main.envol

Learn

The documentation for EnvoL and every project around it is in EnvoScale: getting started, a tour of the language, and the envo commands. Here: examples/ and the specification.

This repository

compiler/ envoc, the compiler
lib/ The standard library: core, alloc, std, and envo.* (crypto, TLS, HTTP, JSON, AI)
tools/envo/ envo
runtime/ The VM behind envo run
adapters/ Everything that talks to an operating system, and the editor extension
spec/ The specification, read by envo explain and shipped with every release
examples/ Small programs, each run in CI against its output
tests/ The test suites; ./build.sh test runs them all

The compiler compiles itself. The first compiler comes from EnvoScaleAsm, which builds it from assembly.

License

Apache-2.0: see LICENSE and NOTICE. Free for any use, including commercial. The names and the logo are covered by the trademark policy.

About

EnvoL: a programming language that compiles to small native programs, with one tool for building, testing and packages. Bootstrapped from assembly, no dependencies.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages