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.
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
Perché Ridgun
Confronto con altri linguaggiTabulare per progetto
Ogni funzione è una tabella: la firma in alto, una clausola per riga, gli argomenti in colonne.
stable formatmantiene allineato ogni file, così le revisioni riguardano la logica e non la disposizione.Il parallelismo è sintassi
||formano un grafo di dipendenze che il compilatore distribuisce sui core.||mape||filterdistribuiscono il lavoro sui thread, e gli agenti con canali coprono i servizi di lunga durata.Nessun garbage collector
Il compilatore libera ogni valore subito dopo il suo ultimo uso. Le strutture condivise usano il conteggio dei riferimenti, e le regioni liberano un’intera area in una volta. I programmi non si fermano mai per la garbage collection.
Binari nativi e statici
ridgunc, il compilatore, genera da solo eseguibili ELF64 collegati staticamente per x86-64 e ARM64. Nessuna toolchain C, nessun runtime da installare sul server. È scritto in Ridgun, comestable,omni, le librerie e il sito che stai leggendo.Un solo strumento per il progetto
stablecrea, verifica, testa, formatta e compila progetti a partire da unbuild.rgscritto in Ridgun stesso. Niente YAML, niente TOML.Un comando per librerie e strumenti
omni, il gestore di pacchetti, installa da questo sito e prima verifica ogni firma:omni install jsonaggiunge una libreria al tuo progetto,omni install -g unix-toolsmette i programmi di un pacchetto nel tuoPATH.
Notizie
Tutti i postAncora 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