Skip to content

Home ru

Enoch-199811 edited this page Aug 9, 2026 · 2 revisions

BioLang

English | 中文 | Русский

Поток-ориентированный язык программирования, реализованный на C — интерпретатор плюс компилятор со встраиванием исходного кода. Каждая операция — это запрос, который может быть отклонён (res / cause / ref); программы строятся из композируемых потоков.

  • Потоки: Unistream, Comstream, Remstream, Objstream, Threadstream, Timestream, IOStream, ... — сигнатурные потоки, реализации-ответвления, классы-как-потоки.
  • Типизированные умные ссылки: 28 типов ссылок (права доступа r/w/m/ rw/rm/wm/rwm × уровни u/f/a/t). Чтение через get p, запись через p = v, перемещение указателя через p++.
  • Предположения need: автоматическая сборка поставщиков из src/ + utils/ + зависимостей; манифесты проектов (package.toml) с git/HTTP/локальными зависимостями.
  • Аннотации: @unfork (поток нельзя разветвлять), @onlyread (нельзя вызывать методы записи), @read / @write (объявить метод читающим/записывающим).
  • Упаковка: .img (пользовательский raw-образ, хранящий права доступа) и .zip (собственный STORE-писатель — внешние инструменты не нужны).
  • Кроссплатформенность: бинарники для Linux, macOS и Windows (экспериментально) собираются через make bin на основе zig; кооперативные нити (ucontext / Win32 fibers).

Быстрый старт

make                        # build → bin/bio
make PROFILE=release        # optimized build

bin/bio examples/01-hello.bio   # run an example
bin/bio shell build examples/01-hello.bio   # compile to a standalone binary

Сборка и пакетирование проекта

bio init <name>             # create a project skeleton
bio build [dir] -s          # build → standalone executable
bio build [dir] -m          # build → .img package (app + platform CLI + libs)
bio build [dir] -m out.zip  # build → .zip package
bio run [dir]               # run a project

Пакетирование

bio pack <out.img|.zip> [--entry NAME] <files...>
bio unpack <pkg> [dir]
bio run pkg.img | pkg.zip   # run a packaged entry
  • .img — пользовательский raw-образ BIOIMG1: без сжатия, полностью адресуемый, хранит права доступа файлов (исполняемые файлы сохраняют свой бит исполняемости).
  • .zip — стандартный zip, читается/пишется нативно (метод STORE); для устаревших deflate-архивов используется системный unzip.

Поддержка платформ

Платформа Статус
Linux (x86-64, aarch64) ✅ Полная поддержка
macOS (Intel) ⚠️ Работает (предупреждения об устаревании ucontext)
macOS (Apple Silicon) ⚠️ Готовые бинарники работают; сборка из исходников упирается в баги ucontext на Apple
Windows (x86-32/64, arm64) ⚠️ Экспериментально (бэкенд на fibers + шим LoadLibrary)

Учебники

Изучайте BioLang шаг за шагом — доступно на English, 中文, Русский:

  • Введение — первые шаги: понятия, типы, запросы, управляющий поток.
  • Продвинутый — реальное использование: потоки, классы, need, файлы, нити, проекты.
  • Эксперт — мастер-класс: умные ссылки, нативные библиотеки, память, кроссплатформенность, полноценный проект.

Ссылки

Clone this wiki locally