Imports and Modules
RayQuiro 0.0.2 supports local files, built-in system namespaces, source frameworks, and official installable native modules.
Import Forms
Full import
import "./lib/math.rq" as math;
print(math.sum(7, 5));
Selective import
from "./lib/math.rq" import sum, label as math_label;
print(sum(9, 4));
What You Can Import
You can import:
- local
.rqfiles - built-in system namespaces
- source frameworks such as
telebot - official installable native-module namespaces such as
rayquiro.engine
Built-In System Namespaces
These are part of RayQuiro itself:
rayquiro.fsrayquiro.envrayquiro.processrayquiro.timerayquiro.json
Example:
from rayquiro.fs import write;
from rayquiro.time import now_ms;
from rayquiro.json import parse;
Official Installable Native Modules
In 0.0.2, these are official installable native modules:
rayquiro.webrayquiro.uirayquiro.apprayquiro.engine
Examples:
import rayquiro.web as web;
import rayquiro.engine as engine;
Engine alias
raytolfas.engine is also accepted:
import raytolfas.engine as engine;
Source Frameworks
Source frameworks are different from official native modules.
Example:
rqio install telebot
That installs source code into your framework/module locations rather than installing an official .dll module.
Resolution Order
When RayQuiro resolves a non-built-in import, it checks in this order:
- direct local paths such as
./lib/math.rq - project-local source modules in
./.rq_modules/ - project-local native modules in
./.rq_modules/native/ - user-level source frameworks such as
%USERPROFILE%/.rqio/frameworks - user-level native modules such as
%USERPROFILE%/.rqio/modules - machine-level native modules such as
C:\Program Files\RayQuiro\modules
Installing Source Frameworks
Direct GitHub install:
rqio framework install RayQuiro/Telebot
rqio framework install RayQuiro/Telebot@main
Registry-based install:
rqio install telebot
Registry source:
https://raw.githubusercontent.com/Raytolfas/RayQuiroAssets/main/frameworks.json
Installing Native Modules
Install globally:
rqio install rayquiro.engine
Install into the current project:
rqio install rayquiro.engine --local
Typical local result:
./.rq_modules/native/engine.dll
Project Structure Notes
rqproject.json defines the active project root. That matters because:
.rq_modules/is resolved relative to the project root.rq_modules/native/is resolved relative to the project rootbuild/is resolved from the project rootrqiowith no file argument uses the configuredentry
Best Practices
- keep project source in
.rqfiles - keep local shared code in
./lib/or./src/ - install project-specific source frameworks into
.rq_modules/ - install project-specific native modules into
.rq_modules/native/ - use aliases for long module names when needed