Kyna
Write and run strongly typed programs with Kyna’s compiler, CLI, and VS Code extension.
- Account
- qentrah
- License
- MIT
- Technology
- C++
- Status
- Preview
About Kyna
Write and run strongly typed programs with Kyna’s compiler, CLI, and VS Code extension.
- A strongly typed programming language with a real compiler and CLI.
- Preview packages for macOS, Linux, and Windows.
- Language specification and VS Code extension available in the repository.
Install & get started
npm install --global @kyna-language/cli@preview
ky --version
ky new hello --template minimal
cd hello
ky runFrom the repository
Kyna
Tags: Kyna · ProgrammingLanguage · Coding · Compiler · OpenSource · BuildInPublic · Developer
A small, strongly typed programming language with a real compiler and a practical CLI.
npm · Releases · Documentation · Language specification · VS Code
Install
Install the current preview from the official npm organization:
npm install --global @kyna-language/cli@preview
ky --versionOther installation paths:
Bun, curl, and Windows PowerShell
# Bun must be allowed to run the verified native-install step.
bun add --global --trust @kyna-language/cli@preview
# macOS or Linux without a package manager.
curl -fsSL https://github.com/Up-to-code/Kyna/releases/download/v1.0.0-preview.3/install.sh | sh -s -- --channel preview --version 1.0.0-preview.3# Windows PowerShell without a package manager.
& ([scriptblock]::Create((irm 'https://github.com/Up-to-code/Kyna/releases/download/v1.0.0-preview.3/install.ps1'))) -Channel preview -Version 1.0.0-preview.3The Bun package path currently requires Node.js 18+ for the command shim. The direct installers do not require Node.js.
Each installer supports macOS and Linux on x64/ARM64, and Windows on x64. It
downloads the matching native release, verifies its SHA-256 checksum, and
provides both ky and kyna commands.
Create and run a project:
ky new hello --template minimal
cd hello
ky runKyna is preview software. Read the implementation status and roadmap before using it in production.
The language
fn greet(name: str): str {
return "Hello, " + name;
}
var visits: int = 1;
visits = visits + 1;
const audience = if (visits > 1) {
"returning visitor"
} else {
"new visitor"
};
console.log(greet("Kyna"), audience);Kyna includes:
- inferred or explicit static types, with nullable types written as
T?; - mutable
varand immutableconstbindings; - arrays, objects, functions, closures, classes, and structural interfaces;
- modules with explicit exports;
- exhaustive
match,switch, and typed error handling; - HIR, MIR, bytecode, and tree-walk execution paths.
Runnable examples live in examples/language/. For the
complete syntax and behavior, read the language specification.
CLI
| Command | Purpose |
|---|---|
ky new / ky init | Create a project from a template |
ky run | Run a source file or project |
ky check | Type-check without running |
ky fmt | Format source code |
ky dev / ky serve | Develop or serve an HTTP backend |
ky repl | Open the interactive shell |
ky doctor | Check the installation and environment |
ky tokens, ast, hir, mir, bytecode | Inspect compiler stages |
ky hello.kyna is shorthand for ky run hello.kyna.
Architecture
source
→ lexer
→ parser / syntax tree
→ type checker
→ HIR
→ MIR
→ bytecode
→ virtual machineThe repository keeps compiler stages, runtime components, standard libraries, the embedding SDK, and developer tools in separate modules:
compiler/ lexing, parsing, types, checking, HIR, MIR, bytecode
runtime/ virtual machine, interpreter, and host capabilities
library/ core and standard-library modules
sdk/ embedding API
tools/ CLI and benchmarks
tests/ unit, integration, and architecture verification
docs/ specifications, research, and design recordsRead the architecture guide, source-layout rules, and compiler research for the complete design.
Build from source
Requirements: CMake 3.25+, Python 3.10+, a C++23 compiler, and libcurl.
git clone https://github.com/Up-to-code/Kyna.git
cd Kyna
cmake --preset debug
cmake --build --preset debug
ctest --preset debugSee CONTRIBUTING.md before changing the compiler or adding a language feature.
Documentation
- Language specification
- Type system
- Compiler architecture
- Runtime
- Standard library
- Installation and releases
- Security
Created and maintained by Ahmed Mansour with help from open-source contributors and coding agents.
Kyna is available under the MIT License.