Go to file
2015-07-15 20:32:53 -06:00
core added readme for mathgen 2014-10-23 21:04:58 -04:00
docs read through everything again, made some small fixes to docs 2015-07-15 20:32:53 -06:00
eval make sure mathgen outputs code which passes go fmt 2014-10-23 21:00:07 -04:00
macros more additions to pkgctx 2014-10-24 14:10:07 -04:00
parse go fmt ./... 2014-10-20 21:58:09 -04:00
seq add Traverse to seq 2014-10-24 13:32:28 -04:00
types go fmt ./... 2014-10-20 21:58:09 -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
Makefile make sure mathgen outputs code which passes go fmt 2014-10-23 21:00:07 -04:00
README.md read through everything again, made some small fixes to docs 2015-07-15 20:32:53 -06: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/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 functions should be used as little as possible. Possibly not at all

Documentation

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

Here is a list of the docs more or less in the order they should be read for a complete overview of the language: