O seu primeiro programa
Escreva uma função como uma tabela, execute-a com ridgunc run e compile um executável nativo.
Crie um ficheiro chamado hello.rg:
fn :: greet String => String
greet "" = "Hello, mysterious traveler!"
greet "Root" = "Hey there, Root! Careful what you delete today."
greet name = "Hello, {name}! Welcome to Ridgun."
fn :: main => ()
main =
echo (greet "Ada")
echo (greet "Root")
echo (greet "")
Leia-o como uma tabela. A primeira linha é a assinatura: greet recebe uma String e devolve uma String. Cada linha abaixo é uma cláusula, e responde a primeira cláusula cujo padrão coincide com o argumento. {name} dentro de uma cadeia de texto coloca ali o valor de name.
Executar
ridgunc run hello.rg
Hello, Ada! Welcome to Ridgun.
Hey there, Root! Careful what you delete today.
Hello, mysterious traveler!
ridgunc run compila o ficheiro e executa-o de imediato. ridgunc check hello.rg apenas verifica os tipos, que é a forma mais rápida de encontrar um erro.
Compilar um executável
ridgunc build hello.rg -o hello
./hello
hello é um executável ELF64 estático. Copie-o para qualquer máquina Linux com o mesmo processador e ele funciona: não há nenhum runtime para instalar.
Guardas
Quando a escolha depende de uma condição e não de um padrão, use guardas. Cada linha | é testada por ordem:
fn :: size Int => String
size n =
| n == 0 = "nothing"
| n < 100 = "small"
| otherwise = "large"
A seguir, comece um projeto com o stable.