Saltar al contenido
Ridgun
Español

Tu primer programa

Escribe una función como una tabla, ejecútala con ridgunc run y compila un ejecutable nativo.

Crea un archivo llamado 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 "")

Léelo como una tabla. La primera línea es la firma: greet recibe un String y devuelve un String. Cada línea de debajo es una cláusula, y responde la primera cuyo patrón coincide con el argumento. {name} dentro de una cadena coloca ahí el valor de name.

Ejecútalo

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

ridgunc run compila el archivo y lo ejecuta en el momento. ridgunc check hello.rg solo comprueba los tipos, y es la forma más rápida de encontrar un error.

Compila un ejecutable

ridgunc build hello.rg -o hello
./hello

hello es un ejecutable ELF64 estático. Cópialo a cualquier máquina Linux con el mismo procesador y funciona: no hay ningún runtime que instalar.

Guardas

Cuando la elección depende de una condición y no de un patrón, usa guardas. Cada línea | se prueba en orden:

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

Después, empieza un proyecto con stable.