Skip to main content
Version: 0.0.2

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 .rq files
  • 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.fs
  • rayquiro.env
  • rayquiro.process
  • rayquiro.time
  • rayquiro.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.web
  • rayquiro.ui
  • rayquiro.app
  • rayquiro.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:

  1. direct local paths such as ./lib/math.rq
  2. project-local source modules in ./.rq_modules/
  3. project-local native modules in ./.rq_modules/native/
  4. user-level source frameworks such as %USERPROFILE%/.rqio/frameworks
  5. user-level native modules such as %USERPROFILE%/.rqio/modules
  6. 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 root
  • build/ is resolved from the project root
  • rqio with no file argument uses the configured entry

Best Practices

  • keep project source in .rq files
  • 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