f5f0f6e436
It was an interesting idea, but now that an actual text-based syntax is worked out and definitely going to be used gim is just making tests fail for no gain. It can be resurrected from the git history in the future, if needed. |
||
---|---|---|
gg | ||
graph | ||
sandbox | ||
vm | ||
.gitignore | ||
default.nix | ||
go.mod | ||
go.sum | ||
README.md |
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;
Development
Current efforts on ginger are focused on a golang-based virtual machine, which will then be used to bootstrap the language. go >=1.18 is required for this vm.
If you are on a linux-amd64 machine with nix installed, you can run:
nix-shell -A shell
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. This could
probably be expanded to other OSs/architectures easily, if you care to do so
please check out the default.nix
file and submit a PR!