v0.2.0-preview Experimental Native Compilation

Static, lightweight & embeddable programming language.

Engineered to extend host applications like Lua, combining scripting agility with automatic static type inference, a high-performance bytecode VM, and experimental native compilation for machine binaries.

// Automatic static type inference
name = "Nyl"
version = 1.0
active = true

// Built-in collections
languages = ["C", "Lua", "Nyl"]
config = {
  "debug": false,
  "optimization": 2
}

print("Welcome to the language: " + name)
print("Type of 'version': " + typeOf(version)) // number
// Recursive function
fn fib(n) {
  if n <= 1 { return n }
  return fib(n - 1) + fib(n - 2)
}

// Iteration with range
for i in 0..9 {
  print("fib(" + i + ") = " + fib(i))
}
# 1. Direct execution via Bytecode VM
nyl app.nyl

# 2. Bundle into self-contained executable
nyl -build app.nyl

# 3. Native compilation (EXPERIMENTAL)
# Generates static machine binary via zig cc or clang
nyl compile app.nyl -target x86_64-linux-musl -o dist/

Project Architecture

Engineered for efficiency and seamless embedding

Nyl combines the simplicity of scripting with static verification guarantees, providing practical tooling for developers building modern systems.

Embeddable like Lua

Designed from first principles to operate smoothly inside host processes. Ideal for automation scripts, game engines, web services, and plugin architectures with minimal memory overhead.

Static Type Inference

No need to annotate types across everyday code. The compiler infers types during static analysis, catching runtime errors before execution without verbose ceremony.

Hybrid Execution: VM & Native Compilation

Develop interactively in the REPL or run instantly via the bytecode virtual machine. When maximum raw performance is required, compile down to native machine code.

Batteries-Included Standard Library

Built-in modules for file I/O, networking, math, cryptography, JSON parsing, and local key-value/database storage without relying on heavy external package managers.

Engineering Notice: Native Compilation (Experimental Status)

Native machine compilation is currently in active development. For production stability, the primary execution model is the Bytecode Virtual Machine and self-contained bundling (nyl -build).

Getting Started

How to test and evaluate Nyl

Nyl is developed by NylSystems. You can test the language instantly in your browser or request evaluation binaries for your environment.

Evaluation & Testing Options online & telegram
// 1. Test directly in your browser without installation
// 2. Request evaluation binaries (Windows / Linux)
> Official Telegram: @nylsystems
// 3. Discover the company behind Nyl
Nyl CLI Commands terminal
// Execute script directly from disk
$ nyl my_program.nyl
// Create standalone bundled binary
$ nyl -build my_program.nyl
// Inspect documented native functions
$ nyl -doc list