Guía del lenguaje Zolo
Sigue una ruta, entra directo en código ejecutable o usa el mapa como referencia precisa. Tu progreso de lectura te acompaña.
20 guías están disponibles en inglés por ahora; aparecen marcadas con EN abajo.
Lee por tema
Empieza por valores y funciones. Después, sigue con tipos, errores, concurrencia y efectos.
Aprende con ejemplos Integraciones de lenguajesElige cómo quieres aprender
No hay un único orden correcto. Empieza con la respuesta del código real, sigue una secuencia guiada o encuentra justo lo que necesitas.
5 min · sin instalar
Haz que el lenguaje se mueva
Edita y ejecuta un programa Zolo real en el navegador, con la respuesta del compilador junto al código.
Abrir el PlaygroundPaso a paso
Construye un modelo mental
Sigue lecciones breves que presentan una idea cada vez y convierten cada concepto en un pequeño ejercicio.
Empezar el tutorialConsultar y volver
Encuentra el concepto exacto
Usa el mapa completo del lenguaje cuando ya conoces la pregunta y necesitas una respuesta precisa y conectada.
Leer la introducciónEl mapa completo de aprendizaje
Siete regiones conectadas te llevan del primer programa al entorno de ejecución, la plataforma web y la referencia del lenguaje.
Comenzar
Comprende la forma del lenguaje, ejecuta tu primer programa y prepara el ciclo diario de desarrollo.
Fundamentos
Aprende la sintaxis y el modelo de datos que usarás en casi todos los programas Zolo.
- 03 Variables y Tipos let, const, mut y el sistema de tipos de Zolo.
- 04 Operadores Encadenamiento |>, acceso opcional ?., coalescencia nula ?? y más.
- 05 Cadenas de texto Interpolación, strings multilínea y tagged templates.
- 06 Literales de bytes y formato Conserve los valores exactos de los bytes y elija ancho y precisión en tiempo de ejecución.
- 07 Control de Flujo if/else, match, for, while y loop.
- 08 Condiciones y recuperación de errores Condiciones, entradas de colecciones, comparaciones encadenadas y límites de Result.
- 09 Estructuras de Datos Structs, enums, traits, arrays y maps.
- 10 Records, maps y actualizaciones Records, maps, proyecciones y caminos de campos reutilizables.
- 11 Funciones Funciones, funciones anónimas, generadores y funciones asíncronas.
- 12 Parámetros de funciones y lambdas Lambdas, etiquetas, bloques de callback y cláusulas por patrón.
Módulos y reutilización
Usa patrones, decoradores, generadores, módulos y macros para organizar y reutilizar código.
- 13 Coincidencia de patrones Match exhaustivo, destructuring y guards.
- 14 Decoradores @memoize, @test, @benchmark, @retry y @log.
- 15 Deriving y pruebas con nombre Productores de derive compartidos y títulos conservados por el runner.
- 16 Generadores Funciones generadoras con fn* y yield para secuencias perezosas. EN
- 17 Módulos y Visibilidad Organiza el código con `mod` (archivo o bloque inline), trae nombres con `use`, renombra con `as`, importa el propio módulo con `self` y elige la visibilidad adecuada entre `pub`, `pub(crate)`, `pub(super)` y `pub(mod)`. EN
- 18 Listas de imports jerárquicas Agrupe imports relacionados conservando rutas, alias y visibilidad.
- 19 Macros Macros higiénicas, parámetros, stringify! y expansión en tiempo de compilación. EN
Avanzado
Comprende fallos, concurrencia, efectos, tiempo de compilación y tipos avanzados.
- 20 Manejo de Errores Result, ?, try/catch/finally, panic y guard para manejo robusto de errores. EN
- 21 Tipos Avanzados Genéricos, alias de tipos, newtypes, as/is y tipos asociados. EN
- 22 Validación, esquemas y unidades Valores validados, capturas tipadas, schemas y unidades dimensionales.
- 23 Valores predeterminados de tipos genéricos Elija valores predeterminados después de los argumentos explícitos y la inferencia del constructor.
- 24 Arrays fijos y tamaños genéricos constantes Compruebe el tamaño exacto de un paquete e infiéralo en funciones reutilizables.
- 25 Alias de traits Dé un nombre a un grupo de requisitos de traits para reutilizarlo en los límites.
- 26 Consultas estáticas de tipos Use el tipo comprobado de una expresión sin ejecutarla.
- 27 Flujo de Control Avanzado defer, let-else, while let, guard, loop con valor y rangos. EN
- 28 Estados y eventos tipados Eventos tipados y testigos de estado que restringen transiciones.
- 29 Async & Concurrencia async/await, spawn y every para programación asíncrona y concurrente. EN
- 30 Tareas paralelas y plazos Resultados paralelos nombrados, plazos de await y delegación lazy.
- 31 Efectos Algebraicos Inyección de dependencias declarativa: declara lo que tu función necesita, decide en los bordes. Reemplaza contenedores DI, mocks, monads y async/await viral. EN
- 32 Handlers y ámbitos de recursos Handlers léxicos, reemplazos tipados y limpieza determinista de recursos.
- 33 Filesystem en Comptime Lee archivos en tiempo de compilación con std::fs e incorpóralos como literales en el bytecode — la misma API del entorno de ejecución, prefijada por `comptime`. Inspirado en @embedFile de Zig e include_str! de Rust. EN
- 34 Precisión de Float y Tipos Decimales Comparando floats con seguridad mediante `~=`, más los tipos exactos `decimal` y `bigdecimal`. EN
Web y Verniz
Crea aplicaciones web renderizadas en el servidor e interactivas con HTTP y Verniz.
- 35 Desarrollo Web Crea aplicaciones completas con std::http, std::web y Verniz, desde una View renderizada hasta un binario de producción. EN
- 36 Views y marcado de Verniz Componentes como funciones, marcado similar a HTML, interpolación segura y Views renderizadas en el servidor sin lenguaje de plantillas.
- 37 Islas, Signals y Actions Añade interactividad focalizada con @island, almacenamiento signal, eventos DOM, bindings y acciones del servidor. EN
- 38 CSS con Alcance Escribe bloques style con alcance de componente, CSS global y custom properties reactivas con diagnósticos del compilador. EN
- 39 Flujo de Desarrollo Usa zolo dev, actualización instantánea de todo, revalidación en el navegador y compilaciones de producción en la VM, LLVM y Cranelift. EN
- 40 Componentes y DOM Tipado Usa props concisas, bloques hijos tipados, actions asociadas, validación del DOM nativo, forwarding, refs, portales y boundaries. EN
- 41 Ejecución y Despliegue Genera productos static, hybrid y server sellados, con runtimes reproducibles, caché por contenido y despliegue independiente del proveedor. EN
- 42 Navegación y Prefetch Acelera enlaces multi-page normales con prefetch por intención derivado del WebGraph, caché limitada por bytes y View Transitions opcionales. EN
- 43 Guía de producción de Verniz Sites Compila, inspecciona, prueba y publica productos static, hybrid y server completos con TypeScript, paquetes, contenido y grafos auditables. EN
Bibliotecas, integraciones y herramientas
Trabaja con la biblioteca estándar, bases de datos, HTTP, CLI, editor y todo el conjunto de herramientas.
- 44 Biblioteca Estándar String, Array, Map, Set, Iter, Option, Result y BigInt.
- 45 Integraciones con lenguajes de programación Diez lenguajes, siete familias de providers, runtimes y requisitos de distribución.
- 46 Tipos entre lenguajes Enteros exactos, records copiados, objetos vivos, callbacks y conversión asíncrona.
- 47 Dependencias externas y locks Una declaración de dependencias con políticas explícitas de instalación, frozen y offline.
- 48 Servidor HTTP Router, middleware, path params, JSON y composición con pipes. EN
- 49 Base de Datos SQLite, transpilación SQL, query, execute y gestión de conexiones. EN
- 50 Herramientas CLI, LSP, depurador DAP, formateador y extensión de VS Code.
Referencia
Mantén a mano ejemplos concisos, la guía rápida y la arquitectura del compilador.