Go to file
2023-10-16 18:20:01 +02:00
cmd/eval Complete refactor vm to not be as stupid 2022-03-31 09:27:52 -06:00
examples Got basic demo working, ran go fmt 2021-12-30 15:29:38 -07:00
gg Complete refactor vm to not be as stupid 2022-03-31 09:27:52 -06:00
graph Got basic demo working, ran go fmt 2021-12-30 15:29:38 -07:00
sandbox rename Junction to Tuple, update syntax, rename Null to ZeroGraph 2021-08-26 21:26:24 -06:00
vm Rename Operation to Function, plus some cleanup 2023-10-16 18:20:01 +02:00
.gitignore gitignore 2016-08-07 09:06:36 -06:00
flake.lock Switch to using nix flakes, and update go to a real version 2023-10-16 18:16:17 +02:00
flake.nix Switch to using nix flakes, and update go to a real version 2023-10-16 18:16:17 +02:00
go.mod Make graph generic 2021-12-29 12:32:53 -07:00
go.sum make into a module 2021-08-26 21:27:47 -06:00
README.md Switch to using nix flakes, and update go to a real version 2023-10-16 18:16:17 +02:00

Ginger

A programming language utilizing a graph datastructure for syntax. Currently in super-early-alpha-don't-actually-use-this-for-anything development.

Development

Current efforts on ginger are focused on a golang-based virtual machine, which will then be used to bootstrap the language.

If you are on a machine with nix installed, you can run:

nix develop

from the repo root and you will be dropped into a shell with all dependencies (including the correct go version) in your PATH, ready to use.

Demo

An example program which computes the Nth fibonacci number can be found at examples/fib.gg. You can try it out by doing:

go run ./cmd/eval/main.go "$(cat examples/fib.gg)" 5

Where you can replace 5 with any number.