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 22e14bbb3f If a name does not resolve to anything then it resolves to itself 1 month ago
cmd/eval Fix go mod import path 1 month ago
examples Automate testing of the examples directory 1 month ago
gg Builtins start with exclamation point 1 month ago
graph Builtins start with exclamation point 1 month ago
sandbox rename Junction to Tuple, update syntax, rename Null to ZeroGraph 2 years ago
vm If a name does not resolve to anything then it resolves to itself 1 month ago
.gitignore gitignore 7 years ago
README.md Switch to using nix flakes, and update go to a real version 2 months ago
flake.lock Switch to using nix flakes, and update go to a real version 2 months ago
flake.nix Switch to using nix flakes, and update go to a real version 2 months ago
go.mod Fix go mod import path 1 month ago
go.sum Completely refactor gg with new BNF file and decoder 1 month 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.