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:

  1. Usa sintaxe limpa de cobra inferior e passa o operacional parser/type verificador.
  2. Substitui chamadas implícitas de tempo de execução legadas por pacotes comuns atuais ou interfaces de tempo de execução auditadas explícitas.
  3. Usa bytes/shared_bytes próprios e fatias emprestadas para solicitação binária e órgãos de resposta.
  4. Torna visíveis a alocação, bloqueio, pânico, I/O, FFI e efeitos inseguros.
  5. Codifica propriedade de soquete, conexão, corpo de solicitação e buffer de resposta com limpeza exata.
  6. Preserva a proveniência input/receiver para cabeçalho, caminho, consulta e cópia zero vistas do corpo.
  7. Fornece erros digitados para análise, transporte, TLS, tempo limite e aplicativo falhas.
  8. Produz e consome interfaces .sdi atuais sem fallback de origem.
  9. Declara os requisitos platform/runtime e fornece INSTALL.md para FFI.
  10. 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:

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.