Learn Norm · Language reference · Examples · Releases · 简体中文
Norm is a statically typed, application-oriented programming language with familiar syntax and explicit semantics.
Use class for identity, value for data, enum for alternatives, interface for capabilities, and ref for controlled aliasing. Explore the language tour through executable examples.
main() {
printLine("Hello, Norm")
}
Run this example · Explore application examples
- Learn the language: follow the learning path.
- Get the tools: download the CLI and matching VS Code extension from releases. See the distribution guide for source builds.
- Build an application: use examples and discover packages through the registry.
Active development. Check the current status and version index for delivered capabilities and implementation boundaries.
These repositories are the canonical entry points around the language:
| Entry point | Purpose |
|---|---|
| Awesome Norm | Applications and high-level libraries built with Norm |
| Norm Skill | Reference-driven guidance for coding agents |
| Examples | Integration acceptance and runnable application fixtures |
| Package Standards | Maintenance and delivery requirements for packages |
| Registry | Module ownership, immutable releases, and shared package automation |
This repository contains the language specification, compiler and CLI, standard library, VS Code extension, documentation, and tests. Application examples and ecosystem acceptance live in examples; adapter packages are maintained independently in the Norm organization.
| Source | Entry point |
|---|---|
| Compiler, runtime, and CLI | cli/compiler |
| Editor extension | cli/extensions/vscode |
| Standard library | norm/stdlib |
| Executable language tests | norm/tests |
| Documentation and checked examples | docs · norm/tests/docs |
Read the compiler architecture, implementation strategy, and contribution guide. Report problems with a minimal example in Issues.