Vai al contenuto
Ridgun
Italiano

Ridgun 1.0.9 per Linux, macOS e Windows

Codice che si allinea.
Programmi che si distribuiscono sui core.

Ridgun è un linguaggio tabulare, funzionale e di sistema. Firme e clausole stanno in colonne che leggi a colpo d’occhio, il parallelismo fa parte della sintassi e la memoria viene liberata in modo deterministico, senza garbage collector.

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

Il libro, nella tua lingua

Quarantatré capitoli, dalla tua prima funzione fino agli agenti, ai tensori, alle regioni di memoria e alle librerie standard. Scritto dal team in otto lingue.

Ancora nessuna notizia. Qui compariranno le versioni e gli annunci.

Chiedi, condividi, partecipa

Bloccato su un errore di tipo? Hai costruito qualcosa in Ridgun? Hai un’idea per il linguaggio? Il forum è dove si incontrano il team e la comunità.

Visita il forum

Quando vuoi.

Installa Ridgun e scrivi oggi il tuo primo programma.

Ridgun, la mascotte: una lince con le corna di ariete, disegnata come un’incisione a inchiostro.