Skip to content

Home zhtw

Enoch-199811 edited this page Aug 9, 2026 · 1 revision

BioLang

English | 中文 | Русский | Español | Português | 繁體中文 | Deutsch

以 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(自訂原始映像檔,儲存權限)與 .zip(原生 STORE 寫入器——無需外部工具)。
  • 跨平台:以 zig 透過 make bin 建置 Linux、macOS 與 Windows(實驗性)二進位檔;協同式執行緒(ucontext / Win32 纖程)。

快速開始

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 — 自訂 BIOIMG1 原始映像檔:無壓縮、可完整定位讀取(seek)、儲存檔案權限(可執行檔保留其可執行位元)。
  • .zip — 標準 zip,原生讀寫(STORE 方法);舊版 deflate 壓縮檔則退回使用系統 unzip

平台支援

平台 狀態
Linux(x86-64、aarch64) ✅ 完整支援
macOS(Intel) ⚠️ 可運作(ucontext 棄用警告)
macOS(Apple Silicon) ⚠️ 預建置二進位檔可運作;原始碼建置會遇到 Apple ucontext 的錯誤
Windows(x86-32/64、arm64) ⚠️ 實驗性(纖程後端 + LoadLibrary 轉接層)

教學課程

循序漸進學習 BioLang:

  • 入門 — 第一步:概念、型別、請求、控制流程。
  • 進階 — 實際應用:串流、類別、need、檔案、執行緒、專案。
  • 高手 — 大師班:智慧引用、原生函式庫、記憶體、跨平台、完整專案。

連結

Clone this wiki locally