.kry Language
Complete language reference with path-based VFS system, const/var/def/fn blocks, device files, parameters, and timer-based animations.
- Root blocks: const, var, def, fn
- Paths: absolute, relative, parent
- Device files: /dev/draw, /dev/wctl, /dev/mouse, /dev/timer
- Commands: write, listen, if
- Operations and expressions
.krb Binary Format
Binary format specification with file structure, opcodes, and encoding details.
- File structure
- Opcode reference
- Payload encoding
- Endianness rules
VFS System
Virtual File System with path-based access, const/var/def blocks, device files, and path resolution rules.
- Absolute paths: /dev/draw, /env/w
- Relative paths: ./radius, ./color
- Parent paths: ../speed, ../size
- Numbered instances from def
CoAP Protocol
Constrained Application Protocol reference for network control.
- Endpoint format
- Payload encoding
- Error codes
- Client examples
ESP32 Implementation
Hardware requirements, pin configuration, WiFi setup, and flashing guide.
- Hardware: ESP32-S3, ESP32-C3
- Pin configuration
- WiFi setup
- Flashing instructions
Examples
Interactive demo with live .kry editor and example gallery.
- Live editor
- Real-time preview
- Example gallery
- CoAP console
Quick Links
Component Reference
| Component | Description |
|---|---|
kry2krb | Compiler that converts .kry source to .krb bytecode |
krbdraw | Runtime engine that executes .krb files |
krbdump | Debug tool for inspecting .krb bytecode |
libkry | Core shared library (parser, VM, VFS) |
kryesp | Native ESP32 implementation with CoAP server |
krysrv | CoAP to 9P bridge for Plan 9 integration |
kryweb | Web interface with live .kry editor |
Development Environment
Kryon uses shell.nix files for reproducible development environments via Nix.
Getting Started with Nix
# Enter development shell
nix-shell
# Or with flakes enabled
nix develop
# Build the project
make
- All dependencies are declared in
shell.nix - Works on Linux, macOS, and WSL
- No manual dependency installation required