Saltar para o conteúdo
Ridgun
Português

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.