# Slovo Slovo (ⰔⰎⰑⰂⰑ) is a typed structural programming language and toolchain. This repository is the canonical public monorepo for the language design, standard library source, compiler, runtime, examples, benchmarks, and technical documents. Current release: `1.0.0-beta`. ## Repository Layout ```text compiler/ Glagol, the first Slovo compiler runtime/ C runtime used by hosted native builds lib/std/ source-authored Slovo standard-library facades examples/ compiler-supported Slovo examples and projects benchmarks/ local benchmark comparison harnesses docs/language/ language manifest, specs, roadmap, and release notes docs/compiler/ compiler manifest, roadmap, and release notes docs/papers/ whitepapers and generated publication PDFs scripts/ local release and document tooling ``` ## Beta Scope `1.0.0-beta` supports practical local command-line programs and libraries with: - modules, explicit imports, packages, and local workspaces - `new`, `check`, `fmt`, `test`, `doc`, and `build` - `i32`, `i64`, `u32`, `u64`, `f64`, `bool`, `string`, and internal `unit` - structs, enums, fixed arrays, concrete vectors, option/result families, and current `match` - explicit `std/*.slo` imports from `lib/std`, installed `share/slovo/std`, or `SLOVO_STD_PATH` - hosted native builds through LLVM IR, Clang, and `runtime/runtime.c` Still deferred before stable: generics, maps/sets, broad package registry semantics, networking/async, LSP/watch/debug-adapter guarantees, stable ABI and layout, and a stable standard-library compatibility freeze. ## Build And Test ```bash cargo test --manifest-path compiler/Cargo.toml ``` Run the full local release gate: ```bash ./scripts/release-gate.sh ``` Build the compiler binary: ```bash cargo build --manifest-path compiler/Cargo.toml ./compiler/target/debug/glagol --version ``` Create and check a project: ```bash ./compiler/target/debug/glagol new hello SLOVO_STD_PATH="$PWD/lib/std" ./compiler/target/debug/glagol check hello SLOVO_STD_PATH="$PWD/lib/std" ./compiler/target/debug/glagol test hello ``` Build a native executable when Clang is available: ```bash SLOVO_STD_PATH="$PWD/lib/std" ./compiler/target/debug/glagol build hello -o hello/bin ``` ## Documentation - [Language Manifest](docs/language/MANIFEST.md) - [Language Specification](docs/language/SPEC-v1.md) - [Compiler Manifest](docs/compiler/GLAGOL_COMPILER_MANIFEST.md) - [Slovo Whitepaper](docs/papers/SLOVO_WHITEPAPER.md) - [Glagol Whitepaper](docs/papers/GLAGOL_WHITEPAPER.md) Generated PDFs live beside their Markdown sources in `docs/papers/`. Regenerate them with `./scripts/render-doc-pdfs.sh` before documentation releases. ## License Slovo is licensed under either the MIT License or the Apache License, Version 2.0, at your option.