Skip to content

Home de

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

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

BioLang

Eine streamorientierte Programmiersprache, implementiert in C — ein Interpreter plus ein Compiler zur Einbettung des Quellcodes. Jede Operation ist eine Anfrage, die abgelehnt werden kann (res / cause / ref); Programme werden aus zusammensetzbaren Streams erstellt.

  • Streams: Unistream, Comstream, Remstream, Objstream, Threadstream, Timestream, IOStream, ... — Signatur-Streams, Implementierungen, Klassen-als-Streams.
  • Typisierte intelligente Referenzen: 28 Referenztypen (Berechtigungen r/w/m/rw/rm/wm/rwm × Ebenen u/f/a/t). Lesen mit get p, schreiben mit p = v, den Zeiger bewegen mit p++.
  • need-Annahmen: bedarfsorientiertes Bündeln von Providern aus src/ + utils/ + Abhängigkeiten; Projekt-Manifeste (package.toml) mit Git-/HTTP-/lokalen Abhängigkeiten.
  • Annotationen: @unfork (Stream kann nicht implementiert werden), @onlyread (keine Schreibmethoden dürfen aufgerufen werden), @read / @write (eine Methode als lesend/schreibend deklarieren).
  • Paketierung: .img (benutzerdefiniertes Roh-Image, speichert Berechtigungen) und .zip (nativer STORE-Schreiber — keine externen Werkzeuge nötig).
  • Plattformübergreifend: Linux-, macOS- und Windows-Binaries (experimentell), erstellt mit make bin über zig; kooperative Threads (ucontext / Win32-Fibers).

Schnellstart

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

Projekt-Build & Paket

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

Paketierung

bio pack <out.img|.zip> [--entry NAME] <files...>
bio unpack <pkg> [dir]
bio run pkg.img | pkg.zip   # run a packaged entry
  • .img — benutzerdefiniertes BIOIMG1-Roh-Image: keine Komprimierung, vollständig seekbar, speichert Dateiberechtigungen (ausführbare Dateien behalten ihr Ausführungsbit).
  • .zip — Standard-Zip, nativ geschrieben/gelesen (STORE-Methode); fällt für veraltete Deflate-Archive auf das System-unzip zurück.

Plattformunterstützung

Plattform Status
Linux (x86-64, aarch64) ✅ Vollständig unterstützt
macOS (Intel) ⚠️ Funktioniert (ucontext-Deprecation-Warnungen)
macOS (Apple Silicon) ⚠️ Vorgefertigte Binaries funktionieren; Quell-Builds stoßen auf Apple-ucontext-Fehler
Windows (x86-32/64, arm64) ⚠️ Experimentell (Fiber-Backend + LoadLibrary-Shim)

Tutorials

Lerne BioLang Schritt für Schritt — verfügbar auf English und Deutsch:

  • Einsteiger — erste Schritte: Konzepte, Typen, Anfragen, Kontrollfluss.
  • Fortgeschrittene — praktische Anwendung: Streams, Klassen, need, Dateien, Threads, Projekte.
  • Experte — Meisterkurs: intelligente Referenzen, native Bibliotheken, Speicher, plattformübergreifende Entwicklung, ein vollständiges Projekt.

Links

Clone this wiki locally