revo - un lenguaje dinámico para disfrutar la programación
(github.com/if-not-nil)- Lenguaje de tipado dinámico escrito en Zig, que adopta una estructura de "everything is something" donde todo devuelve un valor
- Soporta un modelo de concurrencia fluido donde basta con anteponer
spawnal código bloqueante para convertirlo en no bloqueante - Con el operador de pipe (
|>) se transforman valores en cadena, y_hace referencia al valor inmediatamente anterior- Ejemplo:
"hello" |> _:upper() |> _:sub(1, 2)
- Ejemplo:
- Soporta pattern matching y tipos de resultado; las funciones devuelven valores con forma
(:ok, value)/(:err, reason)y luego se procesan con bifurcaciones usandomatch - Incluye pruebas de primera clase que solo se compilan y ejecutan cuando se agrega el flag
--test, con bloquestestindividuales y bloques agrupadossuite - Ofrece una API de embedding que permite integrarlo directamente en código C mediante
revo.herevo_vm_create,erevo_compile,erevo_run,erevo_eval, etc.
- Incluye el servidor LSP revolt para manejar diagnostic/go-to-definition/hover/references/symbols
- Viene incluido por defecto en los builds de lanzamiento y se ejecuta con
revo --lsp
- Viene incluido por defecto en los builds de lanzamiento y se ejecuta con
- Proporciona isocline como backend REPL predeterminado, con soporte para entrada multilínea, autocompletado con tab y búsqueda en el historial
- La versión para Windows todavía está incompleta: aún no soporta backend asíncrono ni un editor de línea completo
- Licencia MIT
Aún no hay comentarios.