Vai al contenuto
Ridgun
Italiano

Il tuo primo programma

Scrivi una funzione come una tabella, eseguila con ridgunc run e compila un eseguibile nativo.

Crea un file chiamato 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 "")

Leggilo come una tabella. La prima riga è la firma: greet riceve una String e restituisce una String. Ogni riga sotto è una clausola, e risponde la prima clausola il cui pattern corrisponde all'argomento. {name} dentro una stringa inserisce in quel punto il valore di name.

Eseguilo

ridgunc run hello.rg
Hello, Ada! Welcome to Ridgun.
Hey there, Root! Careful what you delete today.
Hello, mysterious traveler!

ridgunc run compila il file e lo esegue subito. ridgunc check hello.rg controlla solo i tipi, ed è il modo più rapido per trovare un errore.

Compila un eseguibile

ridgunc build hello.rg -o hello
./hello

hello è un eseguibile ELF64 statico. Copialo su qualsiasi macchina Linux con lo stesso processore e funziona: non c'è nessun runtime da installare.

Guardie

Quando la scelta dipende da una condizione e non da un pattern, usa le guardie. Ogni riga | viene provata in ordine:

fn :: size Int => String
      size n   =
        | n == 0    = "nothing"
        | n < 100   = "small"
        | otherwise = "large"

Poi, inizia un progetto con stable.