Verse é um intérprete para a linguagem de programação Verse. No futuro, o objetivo é evoluir este projeto para um pacote completo composto por um interpretador, um compilador e um depurador. O Verse foi projetado para ser compilado diretamente em código de máquina e oferece todos os recursos que uma linguagem de baixo nível ofereceria, ao mesmo tempo que pode ser interpretado como linguagens como Python ou Ruby (aumentando a portabilidade e reduzindo o desperdício de tempo, eliminando a necessidade de executar um compilação completa de sua base de código apenas para executar testes de unidade).
Para instalar o verso, você deve construí-lo a partir do código-fonte. Por padrão, o processo de construção tenta usar clang++
, mas você pode alterar isso para fazê-lo usar g++
, se desejar. De qualquer forma, é necessário c++20
ou superior.
$$ git clone https://www.github.com/fDero/Verse$$ cd Verse$$ make build
Para fazer seu primeiro programa hello-world em verso, basta criar um arquivo com a extensão .verse
(neste caso, ele se chamará hello.verse
) contendo o seguinte código:
func main(){println("Olá mundo!"); }
Depois de configurar o arquivo, para executá-lo basta usar o comando verse -r hello.verse
no console.
$$ verso -r olá.verso$$ Olá, mundo!
Verse é uma linguagem estritamente tipada, possui um sistema de tipos estilo C com Int
, Float
, Bool
, Char
, String
como tipos primitivos.
func main(){var x: Int = 6;var y: Float = 9.4;var f: Bool = false;var c: Char = 'z';var s: String = "olá mundo"; }
O Verse suporta recursão como qualquer outra linguagem, e uma boa maneira de mostrar isso é com o exemplo clássico de Fibonacci, considere o seguinte código:
func fibo(n: Int){se (n <2) {return 1; }else {return fibo(n-1) + fibo(n-2); } }func main(){println(fibo(6)); }
assumindo que o arquivo é chamado fibo.verse
, então ele pode ser executado exatamente como fizemos anteriormente com o exemplo hello-world, usando o comando verse -r
.
$$ verso -r fibo.verso$$ 21