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.
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
Por que Ridgun
Comparado con outras linguaxesTabular por deseño
Cada función é unha táboa: a sinatura arriba, unha cláusula por fila e os argumentos en columnas.
stable formatmantén aliñado cada ficheiro, así que as revisións tratan da lóxica e non da disposición.O paralelismo é sintaxe
||marca as liñas dun grafo de dependencias que o compilador reparte entre os núcleos.||mape||filterreparten o traballo entre fíos, e os axentes con canles cobren os servizos de longa duración.Sen recolector de lixo
O compilador libera cada valor xusto despois do seu último uso. As estruturas compartidas contan referencias, e as rexións liberan unha zona enteira dunha vez. Os programas nunca se deteñen a recoller o lixo.
Binarios nativos e estáticos
ridgunc, o compilador, xera por si só executables ELF64 enlazados estaticamente para x86-64 e ARM64. Sen toolchain de C nin runtime que instalar no servidor. Está escrito en Ridgun, comostable,omni, as bibliotecas e o sitio que estás a ler.Unha soa ferramenta para o proxecto
stablecrea, comproba, proba, formatea e compila proxectos a partir dunbuild.rgescrito no propio Ridgun. Sen YAML nin TOML.Un comando para bibliotecas e ferramentas
omni, o xestor de paquetes, instala desde este sitio e antes comproba cada sinatura:omni install jsonengade unha biblioteca ao teu proxecto,omni install -g unix-toolspon os programas dun paquete no teuPATH.
Novas
Todas as entradasAí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