revo - uma linguagem dinâmica para a diversão de programar
(github.com/if-not-nil)- Linguagem de tipagem dinâmica escrita em Zig, adotando a estrutura "everything is something", em que tudo retorna um valor
- Suporta um modelo de concorrência fluido em que basta adicionar
spawnantes de um código bloqueante para torná-lo não bloqueante - Com o operador de pipe (
|>), os valores são transformados em sequência, e_referencia o valor imediatamente anterior- Exemplo:
"hello" |> _:upper() |> _:sub(1, 2)
- Exemplo:
- Suporte a pattern matching e tipos de resultado, com funções retornando no formato
(:ok, value)/(:err, reason)e tratamento por ramificação commatch - Testes de primeira classe embutidos, compilados e executados apenas quando a flag
--testé usada, com blocostestindividuais e blocos agrupadossuite - Fornece uma API de embedding que permite incorporar diretamente em código C com
revo.herevo_vm_create,erevo_compile,erevo_run,erevo_evaletc.
- Inclui o servidor LSP revolt, que lida com diagnostic/go-to-definition/hover/referências/símbolos
- Vem incluído por padrão nas builds de release e pode ser executado com
revo --lsp
- Vem incluído por padrão nas builds de release e pode ser executado com
- Fornece isocline como backend REPL padrão, com suporte a entrada multilinha/completar com Tab/busca no histórico
- A versão para Windows ainda está incompleta: backend assíncrono e editor de linha completo ainda não são suportados
- Licença MIT
Ainda não há comentários.