Go to file
Brian Picciano 82e74cb55f Improvements to gg.Graph
An empty `Value` is now valid.

It is now possibly to change the edgeVal of an OpenEdge. It feels like
this shouldn't be necessary, but it greatly simplifies the decoding
logic to have this.

A tuple which is created with just one input edge, and with no edge
value of its own, is now automatically simplified to just that input
edge.
2021-12-27 14:22:56 -07:00
gg Improvements to gg.Graph 2021-12-27 14:22:56 -07:00
gim rename Junction to Tuple, update syntax, rename Null to ZeroGraph 2021-08-26 21:26:24 -06:00
sandbox rename Junction to Tuple, update syntax, rename Null to ZeroGraph 2021-08-26 21:26:24 -06:00
.gitignore gitignore 2016-08-07 09:06:36 -06:00
go.mod make into a module 2021-08-26 21:27:47 -06:00
go.sum make into a module 2021-08-26 21:27:47 -06:00
README.md Remove a bunch of old code, update the README 2021-08-26 21:25:39 -06:00

Ginger

Fibonacci function in ginger:

fib {
    decr { out add(in, -1) }

    out {
        n 0(in),
        a 1(in),
        b 2(in),

        out if(
            zero?(n),
            a,
            recur(decr(n), b, add(a,b))
        )

    }(in, 0, 1)
}

Usage of the function to generate the 6th fibonnaci number:

fib(5)