Go to file
2023-11-02 17:43:04 +01:00
cmd/eval Fix go mod import path 2023-10-28 09:53:37 +02:00
examples Automate testing of the examples directory 2023-11-02 17:19:01 +01:00
gg Builtins start with exclamation point 2023-11-02 16:36:43 +01:00
graph Builtins start with exclamation point 2023-11-02 16:36:43 +01:00
sandbox rename Junction to Tuple, update syntax, rename Null to ZeroGraph 2021-08-26 21:26:24 -06:00
vm If a name does not resolve to anything then it resolves to itself 2023-11-02 17:43:04 +01: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 Fix go mod import path 2023-10-28 09:53:37 +02:00
go.sum Completely refactor gg with new BNF file and decoder 2023-10-25 11:32:54 +02: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.