Estado de la pila web

seed Actualmente no ofrece un marco web operativo en lenguaje limpio. el nivel superior Grove El árbol contiene una pila web histórica sustancial, pero sus paquetes principales no se han adaptado a la sintaxis, el modelo de propiedad, las interfaces y los contratos de tiempo de ejecución del sistema operativo. LLVM compilador.

Superficie operativa actual

El compilador limpio actualmente presenta solo los fundamentos relevantes para el futuro trabajo web:

Package/capability Superficie actual
net Apertura de socket de flujo IPv4 propio y acceso a descriptores.
web_core bloqueo acotado HTTP lecturas de encabezado, análisis de encabezado de solicitud de copia cero y escrituras completas con EINTR reintentar
io entrada partial/read-all escrita y salida text/byte de escritura total
byte_buffer construcción de búfer de bytes inicializado falible
text cursor de token delimitado por ASCII sin asignación
parse análisis de enteros comprobado
task canales estructurados, uniones, eventos, cancelación y sincronización
bytes / shared_bytes propiedad binaria única mutable y compartida de solo lectura
str / rebanadas vistas prestadas comprobadas que preservan la procedencia

Esto es suficiente para construir y probar componentes de red de nivel inferior, pero aún no es una solución. HTTP servidor, enrutador, sistema middleware, TLS pila, motor de plantillas, capa de sesión o tiempo de ejecución web de producción.

Grove corpus web

Directorios como estos existen en 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

Conservan una importante API y el trabajo de implementación de una generación de lenguaje anterior. Están transfiriendo entradas, no paquetes limpios actuales. Por ejemplo:

./seed/seed check grove/libs/web/src/lib.sd

Actualmente falla durante el análisis porque la fuente utiliza nombres nominales heredados en mayúsculas y formas adicionales reemplazadas. En consecuencia, los ejemplos que devuelven tipos como WebAppStable, WebContext, o WebResponse no debe presentarse como limpio operativo seed código.

Requisitos para una pila web operativa

Un paquete web Grove se vuelve actual solo después de que cumple con todo lo siguiente:

  1. Utiliza una sintaxis limpia de serpiente inferior y pasa la prueba operativa. parser/type inspector.
  2. Reemplaza las llamadas de tiempo de ejecución heredadas implícitas con paquetes ordinarios actuales o interfaces de tiempo de ejecución auditadas explícitas.
  3. Utiliza bytes/shared_bytes de propiedad y sectores prestados para solicitudes binarias y órganos de respuesta.
  4. Hace visibles la asignación, el bloqueo, el pánico, I/O, FFI y los efectos inseguros.
  5. Codifica la propiedad del socket, la conexión, el cuerpo de la solicitud y el búfer de respuesta con limpieza exacta.
  6. Conserva la procedencia input/receiver para el encabezado, la ruta, la consulta y la copia cero. vistas del cuerpo.
  7. Proporciona errores escritos para análisis, transporte, TLS, tiempo de espera y aplicación. fracasos.
  8. Produce y consume interfaces .sdi actuales sin respaldo de fuente.
  9. Declara requisitos platform/runtime y suministra INSTALL.md para FFI.
  10. Pasa positivo, negativo, desinfectante, entrada mal formada, cancelación y separate-compilation tests.

Reclamaciones de producción

Hasta que se cumplan esos requisitos, la documentación seed no debe reclamar soporte actual para:

Los puntos de referencia históricos sobre el código Grove pueden permanecer como evidencia histórica etiquetada explícitamente. No establecen soporte operativo para el idioma actual.

Dirección de portabilidad

El corte vertical creíble más pequeño es:

owned socket → bounded read into initialized byte buffer
             → checked request-line/header parser over borrowed views
             → owned response bytes → write_all → exact connection cleanup

El enrutamiento, el middleware, el TLS, la agrupación, las plantillas y las capas de aplicaciones superiores deben basarse en ese segmento de transporte verificado en lugar de preservar las API heredadas únicamente por compatibilidad de origen.

Realice un seguimiento de las prioridades del ecosistema en Hoja de ruta de la biblioteca. la corriente compiler/library El límite está documentado en Referencia de la biblioteca operativa, y Grove las reglas de compatibilidad están en Grove Árbol de compatibilidad.