Go to file
2014-10-20 21:35:21 -04:00
docs move docs into docs 2014-10-06 17:44:07 -04:00
parse add number tests to parse 2014-10-20 21:35:21 -04:00
seq make Elem interface have a method on it, implement that in seq (bleh), implement GoType 2014-10-18 20:03:16 -04:00
types make Elem interface have a method on it, implement that in seq (bleh), implement GoType 2014-10-18 20:03:16 -04:00
.gitignore don't keep track of test files 2014-10-18 12:03:29 -04:00
.go.yaml add in seq package, borrowed from github.com/mediocregopher/seq 2014-10-06 18:29:52 -04:00
README.md move docs into docs 2014-10-06 17:44:07 -04:00

Ginger

A lisp-like language built on the go programming language. The ideas are still a work-in-progress, and this repo is where I'm jotting down my notes:

Language manifesto

  • Anything written in go should be writeable in ginger in as many lines or fewer.

  • When deciding whether to be more go-like or more like an existing lisp language, err on being go-like.

  • The fewer built-in functions, the better. The standard library should be easily discoverable and always importable so helper functions can be made available.

  • When choosing between adding a syntax rule or a datatype and not adding a feature, err on not adding the feature.

  • It is not a goal to make ginger code be usable from go code.

  • Naming should use words instead of symbols, except when those symbols are existing go operators.

  • Overloading function should be used as little as possible.

Documentation

See the [docs][/docs] folder for more details. Keep in mind that most of ginger is still experimental and definitely not ready for the spotlight.