Skip to content

Home es

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

BioLang

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

Un lenguaje de programación orientado a flujos implementado en C — un intérprete más un compilador que incrusta el código fuente. Cada operación es una solicitud que puede ser rechazada (res / cause / ref); los programas se construyen a partir de flujos componibles.

  • Flujos: Unistream, Comstream, Remstream, Objstream, Threadstream, Timestream, IOStream, ... — flujos de firma, implementaciones bifurcadas, clases como flujos.
  • Referencias inteligentes tipadas: 28 tipos de referencia (permisos r/w/m/rw/rm/wm/rwm × niveles u/f/a/t). Lee con get p, escribe con p = v, mueve el puntero con p++.
  • Suposiciones need: agrupación de proveedores bajo demanda desde src/ + utils/ + dependencias; manifiestos de proyecto (package.toml) con dependencias git/HTTP/locales.
  • Anotaciones: @unfork (el flujo no se puede bifurcar), @onlyread (no se puede llamar a ningún método de escritura), @read / @write (declaran un método de lectura/escritura).
  • Empaquetado: .img (imagen bruta personalizada, guarda los permisos) y .zip (escritor STORE nativo — sin necesidad de herramientas externas).
  • Multiplataforma: binarios para Linux, macOS y Windows (experimental) compilados con make bin mediante zig; hilos cooperativos (ucontext / fibras Win32).

Inicio rápido

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

Compilación y empaquetado de proyectos

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

Empaquetado

bio pack <out.img|.zip> [--entry NAME] <files...>
bio unpack <pkg> [dir]
bio run pkg.img | pkg.zip   # run a packaged entry
  • .img — imagen bruta BIOIMG1 personalizada: sin compresión, totalmente direccionable, guarda los permisos de los archivos (los ejecutables conservan su bit de ejecución).
  • .zip — zip estándar, escrito y leído de forma nativa (método STORE); recurre al unzip del sistema para archivos deflate heredados.

Soporte de plataformas

Plataforma Estado
Linux (x86-64, aarch64) ✅ Totalmente soportada
macOS (Intel) ⚠️ Funciona (advertencias de obsolescencia de ucontext)
macOS (Apple Silicon) ⚠️ Los binarios precompilados funcionan; las compilaciones desde el código fuente chocan con errores de ucontext de Apple
Windows (x86-32/64, arm64) ⚠️ Experimental (backend de fibras + capa de compatibilidad LoadLibrary)

Tutoriales

Aprende BioLang paso a paso — disponible en English:

  • Principiante — primeros pasos: conceptos, tipos, solicitudes, flujo de control.
  • Intermedio — uso real: flujos, clases, need, archivos, hilos, proyectos.
  • Avanzado — clase magistral: referencias inteligentes, bibliotecas nativas, memoria, multiplataforma, un proyecto completo.

Enlaces

Clone this wiki locally