Skip to content

Home pt

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

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

BioLang

Uma linguagem de programação orientada a fluxos implementada em C — um interpretador mais um compilador que incorpora o código-fonte. Cada operação é uma requisição que pode ser recusada (res / cause / ref); os programas são construídos a partir de fluxos combináveis.

  • Fluxos: Unistream, Comstream, Remstream, Objstream, Threadstream, Timestream, IOStream, ... — fluxos de assinatura, implementações derivadas, classes-como-fluxos.
  • Referências inteligentes tipadas: 28 tipos de referência (permissões r/w/m/rw/rm/wm/rwm × níveis u/f/a/t). Leia com get p, escreva com p = v, mova o ponteiro com p++.
  • Suposições need: empacotamento de provedores sob demanda a partir de src/ + utils/ + dependências; manifestos de projeto (package.toml) com dependências git/HTTP/locais.
  • Anotações: @unfork (o fluxo não pode ser implementado), @onlyread (nenhum método de escrita pode ser chamado), @read / @write (declaram um método como leitura/escrita).
  • Empacotamento: .img (imagem bruta personalizada, armazena permissões) e .zip (gravador STORE nativo — nenhuma ferramenta externa necessária).
  • Multiplataforma: binários Linux, macOS e Windows (experimental) compilados com make bin via zig; threads cooperativas (ucontext / fibras Win32).

Início 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

Compilação e empacotamento de projetos

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

Empacotamento

bio pack <out.img|.zip> [--entry NAME] <files...>
bio unpack <pkg> [dir]
bio run pkg.img | pkg.zip   # run a packaged entry
  • .img — imagem bruta BIOIMG1 personalizada: sem compressão, totalmente buscável, armazena permissões de arquivo (executáveis mantêm seu bit de execução).
  • .zip — zip padrão, gravado/lido nativamente (método STORE); usa o unzip do sistema como fallback para arquivos deflate legados.

Suporte de plataformas

Plataforma Status
Linux (x86-64, aarch64) ✅ Totalmente suportado
macOS (Intel) ⚠️ Funciona (avisos de depreciação do ucontext)
macOS (Apple Silicon) ⚠️ Binários pré-compilados funcionam; compilações a partir do código-fonte esbarram em bugs do ucontext da Apple
Windows (x86-32/64, arm64) ⚠️ Experimental (backend de fibras + shim LoadLibrary)

Tutoriais

Aprenda BioLang passo a passo — disponível em English:

  • Iniciante — primeiros passos: conceitos, tipos, requisições, fluxo de controle.
  • Intermediário — uso real: fluxos, classes, need, arquivos, threads, projetos.
  • Avançado — masterclass: referências inteligentes, bibliotecas nativas, memória, multiplataforma, um projeto completo.

Links

Clone this wiki locally