Saltar ao contido
Ridgun
Galego

Ridgun 1.0.9 para Linux, macOS e Windows

Código que se aliña.
Programas que se reparten entre núcleos.

Ridgun é unha linguaxe tabular, funcional e de sistemas. As sinaturas e as cláusulas ordénanse en columnas que se len dunha ollada, o paralelismo forma parte da sintaxe e a memoria libérase de forma determinista, sen recolector de lixo.

shapes.rg
type Shape = Circle Int | Rect Int Int

fn :: area Shape      => Int
      area (Circle r) =  3 * r * r
      area (Rect w h) =  w * h

fn :: report [Shape] => Int Int
      report shapes  =  (total, biggest)
        || ||map area shapes               -> areas
        || fold (acc a => acc + a) 0 areas -> total
        || fold bigger 0 areas             -> biggest

fn :: bigger Int Int => Int
      bigger a   b   =
        | a > b     = a
        | otherwise = b

fn :: describe (Int Int)        => String
      describe (total, biggest) =  "total {total}, largest {biggest}"

fn :: main => ()
      main =
        shapes = [Circle 4, Rect 3 5, Rect 20 30]
        echo (describe (report shapes))

ridgunc run shapes.rg
total 663, largest 600

O libro, na túa lingua

Corenta e tres capítulos, desde a túa primeira función ata os axentes, os tensores, as rexións de memoria e as bibliotecas estándar. Escrito polo equipo en oito linguas.

Aínda non hai novas. Aquí aparecerán as versións e os anuncios.

Pregunta, comparte, participa

Atascácheste nun erro de tipos? Fixeches algo en Ridgun? Tes unha idea para a linguaxe? O foro é onde se atopan o equipo e a comunidade.

Visita o foro

Cando queiras.

Instala Ridgun e escribe hoxe o teu primeiro programa.

Ridgun, a mascota: un lince con cornos de carneiro, debuxado como un gravado a tinta.