Skip to main content
Version: 0.1.1

RayQuiro 0.1.0

RayQuiro 0.1.0 is the first stable public release of the RayQuiro programming language and runtime. It is built around the rqio CLI, direct .rq execution, VM packaging, native module installation, auto-updates, executable branding, and a rich engine/runtime surface.


What Changed In 0.1.0

0.1.0 is a refinement of the foundations laid in 0.0.2. The language itself is unchanged — the focus of this release is on tooling, developer experience, and stability.

Key Highlights

  • Executable Icon Brandingrqio.exe now embeds the official RayQuiro logo using Win32 resources, making it identifiable in the file system, taskbar, and Alt-Tab switcher.
  • Interactive Auto-Update System — On startup, rqio quietly checks for updates once every 24 hours. If a new version is found, it prompts the user and handles the download, replacement, and automatic relaunch transparently.
  • VS Code Extension 0.1.0 — The rayquiro-lang VS Code extension is updated to 0.1.0 with comprehensive autocomplete, hover documentation, formatting, and command palette support.
  • Build System Cleanup — The build script now conditionally compiles native modules and filters spurious GCC/Clang COMDAT noise from linker output.

Core Language And Runtime

RayQuiro 0.1.0 includes all core language capabilities:

  • .rq source files with the rqio runner
  • Direct execution via rqio file.rq
  • VM path via rqio run --vm file.rq
  • Native build via rqio build file.rq
  • Bytecode packaging via rqio pack file.rq
  • Distributable bundle output via rqio bundle file.rq

Core Language Features

FeatureDescription
var / letMutable and immutable variable bindings
fnFunction declarations
if / elseConditional branching
whileCondition-based loops
forC-style iteration loops
return / break / continueControl flow
Arrays [...]Array literals and indexing
Multiline strings """..."""Triple-quoted multiline string literals
JSON-like tablesObject access from json.parse(...)

Built-In System Modules

These namespaces are compiled directly into rqio and do not need installation:

NamespacePurpose
rayquiro.fsFile system — read, write, copy, remove, exists
rayquiro.envEnvironment variables — get, set, path_add
rayquiro.processExternal processes — run commands, get exe dir
rayquiro.timeTime helpers — now_ms, unix_ms, sleep
rayquiro.jsonJSON — parse and stringify
rayquiro.osOperating system utilities — name, arch, cwd, paths
rayquiro.netLow-level TCP sockets — connect, send, recv, close
rayquiro.httpHTTP Client — GET and POST requests
rayquiro.dbPostgreSQL Database — connect, query, exec, scalar

Official Installable Native Modules

These modules are distributed separately as .dll files and require installation:

rqio install rayquiro.web
rqio install rayquiro.ui
rqio install rayquiro.app
rqio install rayquiro.engine

Or install into the current project only:

rqio install rayquiro.engine --local
ModulePurpose
rayquiro.webStatic site generation, routing, live server
rayquiro.uiHigh-level native Windows UI (cards, hero, buttons)
rayquiro.appLow-level Win32 controls
rayquiro.engine3D/2D rendering engine, scene, entities, lighting

CLI Commands Reference

CommandDescription
rqio file.rqRun a RayQuiro source file
rqio run --vm file.rqExecute via the VM path
rqio build file.rqCompile to a Windows executable
rqio pack file.rqPackage to .rqb bytecode
rqio bundle file.rq -o dirCreate a distributable bundle
rqio build-vm file.rq -o dirVM-focused bundle
rqio init <name>Initialize a new project
rqio install <module>Install a native module globally
rqio install <module> --localInstall a native module locally
rqio framework install <repo>Install a source framework
rqio self-updateManually trigger a self-update
rqio versionPrint the current CLI version

Project Layout

A typical RayQuiro project:

my-app/
main.rq
rqproject.json
.rq_modules/
native/
engine.dll
build/

Minimal starter:

rqio init my-app
cd my-app
rqio

Example rqproject.json:

{
"name": "my-app",
"version": "1.0.0",
"entry": "main.rq",
"build_dir": "build"
}

  1. Installation and CLI
  2. First Program
  3. Syntax Basics
  4. Imports and Modules
  5. System Modules
  6. Official module pages: rayquiro.web, rayquiro.ui, rayquiro.app, rayquiro.engine
  7. Release 0.1.1