Hoppa till innehållet
Ridgun
Svenska

Ridgun 1.0.9 för Linux, macOS och Windows

Kod i raka led.
Program som skalar över alla kärnor.

Ridgun är ett tabellbaserat funktionellt språk och systemspråk. Signaturer och klausuler står i kolumner som du kan läsa med en snabb blick, parallellism är en del av syntaxen och minnet frigörs deterministiskt, utan skräpsamlare.

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

Boken på ditt språk

Fyrtiotre kapitel, från din första funktion till agenter, tensorer, minnesregioner och standardbiblioteken. Skriven av teamet på åtta språk.

Inga nyheter än. Versioner och meddelanden dyker upp här.

Fråga, dela, var med

Fastnat på ett typfel? Byggt något i Ridgun? Har du en idé till språket? På forumet möts teamet och gemenskapen.

Besök forumet

När du är redo.

Installera Ridgun och skriv ditt första program i dag.

Ridgun, maskoten: ett lodjur med baggens horn, tecknat som en tuschgravyr.