Pular para o conteúdo

Especificação §24

O que ainda está em aberto

language-design.md §24 · 22 linhas · 1 min de leitura

Estes pontos ou têm direção decidida mas design fino pendente, ou não foram definidos ainda. (Fechados e movidos para suas seções ao longo das sessões: Strings na seção 16; FFI com C na seção 17; supervisores, links e monitors na seção 8; inline assembly na seção 18; observabilidade na seção 19; extensões de compilador na seção 20; ferramentas na seção 22; ABI na seção 23; referência e registro de processos na seção 3.)

Biblioteca padrão (stdlib), pós-design, guiada pelo slow-core

Seção intitulada “Biblioteca padrão (stdlib), pós-design, guiada pelo slow-core”

A stdlib não é core nem linguagem, é biblioteca, e por isso cresce depois do design da linguagem, guiada pelo slow-core (seção 1: a linguagem cresce em bibliotecas, não em sintaxe). Não há decisão de linguagem aqui; o que segue é um mapa provisório de módulos pra guiar a implementação (um esboço a refinar quando for construído, não um contrato).

Os módulos já comprometidos pelo design (citados em suas seções) e os obviamente necessários, por domínio:

  • Fundamentos: mem (allocators / MemoryManager, seção 5), runtime (introspecção e tracing, seção 19), arch (constantes de arquitetura em comptime, seção 18).
  • Sistema e IO: io (readers/writers), fs (filesystem), os (env, args, exit, processos do SO), time (relógios, durações, timers).
  • Concorrência e rede: net (channels pela rede, seção 4); processos e channels já são da linguagem, então aqui mora só o que toca o SO e a rede.
  • Texto: strings (utilidades sobre string, seção 16), fmt (formatação / Display, seção 16), unicode (helpers de codepoint e grapheme), locale (i18n).
  • Dados e codificação: encoding (a interface Serializable e formatos, seção 4), json, bytes, collections (maps, sets e estruturas além do embutido).
  • Numérico e cripto: math, crypto, hash.
  • Ferramentas: test (o framework de testes, seção 22).
  • FFI (namespaces de import, não módulos comuns): c (do @cimport, seção 17), js (do @jsimport, seção 20).
  • UI (markup): o runtime da extensão de UI (reatividade fina, ilhas), que vive sob a metade markup, seção 20.

Isto é ponto de partida, não especificação: a stdlib se desenha de fato na fase pós-core.