You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Brian Picciano 7d0fcbf28a Switch to using nix flakes, and update go to a real version 7 months ago
cmd/eval Complete refactor vm to not be as stupid 2 years ago
examples Got basic demo working, ran go fmt 2 years ago
gg Complete refactor vm to not be as stupid 2 years ago
graph Got basic demo working, ran go fmt 2 years ago
sandbox rename Junction to Tuple, update syntax, rename Null to ZeroGraph 3 years ago
vm Complete refactor vm to not be as stupid 2 years ago
.gitignore gitignore 8 years ago
README.md Switch to using nix flakes, and update go to a real version 7 months ago
flake.lock Switch to using nix flakes, and update go to a real version 7 months ago
flake.nix Switch to using nix flakes, and update go to a real version 7 months ago
go.mod Make graph generic 2 years ago
go.sum make into a module 3 years ago

README.md

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.