Status da pilha da Web
seed atualmente não fornece uma estrutura web operacional de linguagem limpa. O nível superior Grove tree contém uma pilha histórica substancial da web, mas seus pacotes principais não foram portados para a sintaxe, modelo de propriedade, interfaces e contratos de tempo de execução do operacional LLVM compilador.
Superfície operacional atual
O compilador limpo atualmente prepara apenas as bases relevantes para trabalhos futuros na web:
| Package/capability | Superfície atual |
|---|---|
net |
abertura de soquete de fluxo IPv4 de propriedade e acesso ao descritor |
web_core |
bloqueio limitado HTTP leituras de cabeçalho, análise de cabeçalho de solicitação de cópia zero e gravações completas com EINTR tente novamente |
io |
entrada partial/read-all digitada e saída text/byte write-all |
byte_buffer |
construção falível de buffer de bytes inicializada |
text |
cursor de token delimitado por ASCII livre de alocação |
parse |
análise inteira verificada |
task |
canais estruturados, junções, eventos, cancelamento e sincronização |
bytes / shared_bytes |
propriedade binária somente leitura mutável e compartilhada exclusiva |
str / fatias |
vistas emprestadas que preservam a proveniência verificadas |
Isto é suficiente para construir e testar componentes de rede de nível inferior, mas ainda não é um HTTP servidor, roteador, sistema de middleware, TLS pilha, mecanismo de modelo, camada de sessão ou tempo de execução da Web de produção.
Grove web corpus
Diretórios como estes existem em grove/libs/:
web
web_core
web_request
web_response
web_runtime
web_middleware
web_security
web_static
web_template
web_db
web_metrics
websocket_server
Eles preservam API e trabalho de implementação significativos de uma geração de linguagem anterior. Eles estão portando entradas, não pacotes limpos atuais. Por exemplo:
./seed/seed check grove/libs/web/src/lib.sd
atualmente falha durante a análise porque a fonte usa nomes nominais legados em letras maiúsculas e formas substituídas adicionais. Consequentemente, exemplos que retornam tipos como WebAppStable, WebContext, ou WebResponse não deve ser apresentado como limpo operacional seed código.
Requisitos para uma pilha web operacional
Um pacote da web Grove se torna atual somente depois de satisfazer todos os seguintes itens:
- Usa sintaxe limpa de cobra inferior e passa o operacional parser/type verificador.
- Substitui chamadas implícitas de tempo de execução legadas por pacotes comuns atuais ou interfaces de tempo de execução auditadas explícitas.
- Usa
bytes/shared_bytespróprios e fatias emprestadas para solicitação binária e órgãos de resposta. - Torna visíveis a alocação, bloqueio, pânico, I/O, FFI e efeitos inseguros.
- Codifica propriedade de soquete, conexão, corpo de solicitação e buffer de resposta com limpeza exata.
- Preserva a proveniência input/receiver para cabeçalho, caminho, consulta e cópia zero vistas do corpo.
- Fornece erros digitados para análise, transporte, TLS, tempo limite e aplicativo falhas.
- Produz e consome interfaces
.sdiatuais sem fallback de origem. - Declara os requisitos platform/runtime e fornece
INSTALL.mdpara FFI. - Passa positivo, negativo, sanitizador, entrada malformada, cancelamento e separate-compilation tests.
Reivindicações de produção
Até que esses requisitos sejam atendidos, a documentação seed não deve reivindicar suporte atual para:
- produção HTTP veiculação ou roteamento;
- TLS client/server verificação;
- middleware de estrutura, sessões, CSRF, CORS, modelos ou arquivos estáticos;
- WebSockets;
- Desempenho de produto compatível com TechEmpower por meio da pilha limpa;
- uso direto de importações da web Grove por aplicativos atuais.
Os benchmarks históricos sobre o código Grove podem permanecer como evidências históricas explicitamente rotuladas. Não estabelecem suporte operacional para a linguagem atual.
Direção de portabilidade
A menor fatia vertical confiável é:
owned socket → bounded read into initialized byte buffer
→ checked request-line/header parser over borrowed views
→ owned response bytes → write_all → exact connection cleanup
Roteamento, middleware, TLS, pooling, modelos e camadas superiores de aplicativos devem se basear nessa fatia de transporte verificada, em vez de preservar APIs legadas apenas para compatibilidade de origem.
Acompanhe as prioridades do ecossistema em Library Roadmap. O atual compiler/library limite está documentado em Referência da Biblioteca Operacionale Grove as regras de compatibilidade estão em Grove Árvore de compatibilidade.