Saltar al contenido
Ridgun
Español

Ridgun 1.0.9 para Linux, macOS y Windows

Código que se alinea.
Programas que se reparten entre núcleos.

Ridgun es un lenguaje tabular, funcional y de sistemas. Las firmas y las cláusulas se ordenan en columnas que se leen de un vistazo, el paralelismo forma parte de la sintaxis y la memoria se libera de forma determinista, sin recolector de basura.

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

El libro, en tu idioma

Cuarenta y tres capítulos, desde tu primera función hasta los agentes, los tensores, las regiones de memoria y las librerías estándar. Escrito por el equipo en ocho idiomas.

Aún no hay noticias. Aquí aparecerán las versiones y los anuncios.

Pregunta, comparte, participa

¿Atascado en un error de tipos? ¿Has hecho algo en Ridgun? ¿Tienes una idea para el lenguaje? El foro es donde se encuentran el equipo y la comunidad.

Visita el foro

Cuando quieras.

Instala Ridgun y escribe hoy tu primer programa.

Ridgun, la mascota: un lince con cuernos de carnero, dibujado como un grabado a tinta.