Pular para o conteúdo

Mapa da API Standard

A API Standard da rc.6 é organizada por namespaces tipados. Um namespace é um proprietário em tempo de compilação; não é uma tabela em runtime.

using Pop.Sequence
using Pop.Text
using Pop.Bytes
namespace StandardExample
function main()
local words = split(trim(" Pop Lang "), " ")
local upper = map<<String, List<String>, String>>(words, toAsciiUpper)
local encoded = Text.encodeUtf8(join<<List<String>>(upper, "-"))
local view = Bytes.view(encoded)
print(Bytes.hexEncode(view))
end
Namespace Superfície principal da rc.6
Pop.Sequence map, filter, take, drop, concat, fold, scan; coleta, busca, agregação, ordenação e igualdade
Pop.Text conversão ASCII, prefixo/sufixo/busca, trim, replace, split/join, parsing de inteiros, UTF-8 e views limitadas
Pop.Unicode predicados de Rune validado e conversões ASCII
Pop.Bytes views imutáveis, Bytes.Buffer, codificação, bits, comparação, busca e leituras/escritas endian
Pop.Math limites inteiros, divisão/resto, potências, raízes, clamp, mínimo/máximo, sinais e teoria dos números
Pop.Time Date, Instant, Duration, deadlines, date-times, offsets e relógios de teste/produção
Pop.Net IPv4/IPv6, DNS, transportes TCP/UDP/Unix, resultados de transferência, deadlines, cancelamento e snapshots de rede
Pop.File / Pop.Directory capacidades explícitas, handles, leitura/escrita limitada, texto, criação/remoção e snapshots
Pop.Terminal / Pop.Process / Pop.Platform saída, flush, erros, argumentos, executável, sistema e arquitetura
Namespaces de valores Pop.Csv, Pop.Guid, Pop.Locale, Pop.Mime, Pop.Path, Pop.Random, Pop.Uri, Pop.Version

Bytes.Buffer é mutável e reutilizável. Bytes.toBytes cria um snapshot imutável independente; não empresta uma view do armazenamento mutável. I/O de arquivo e rede exige handles ou valores de transporte tipados e usa tamanhos limitados. Ausência usa opcionais; falhas recuperáveis usam o resultado tipado documentado por cada API.

HTTP/1.1 fica deliberadamente fora de Pop.Standard:

[dependencies]
PopHttp = { path = "../../crates/extensions/http", version = "0.1.0", bubble = "Pop.Http" }

Pop.Http possui Method, Header, Request e Response tipados, além de parsing, formatação, envio, recebimento e troca com limites explícitos.

Este mapa é um guia. As raízes públicas e assinaturas exatas ficam em libraries/standard/bootstrap/api-baseline.tsv; a implementação e a documentação XML ficam em crates/libraries/standard/pop/src/. Os catálogos da arquitetura definem famílias essenciais, standard, planejadas e limitadas.