Go to file
2014-10-06 12:34:04 -04:00
.gitignore initial commit, parser is a go, but the data structures generating aren't actually interesting in any way 2013-05-27 00:16:03 -04:00
compilation.md add compilation thoughts 2014-10-04 16:11:52 -04:00
functions.md packages.md 2014-10-06 11:08:47 -04:00
go-interop.md manifesto and half-assed interoperability 2014-10-06 12:34:04 -04:00
packages.md packages.md 2014-10-06 11:08:47 -04:00
README.md manifesto and half-assed interoperability 2014-10-06 12:34:04 -04:00
syntax.md manifesto and half-assed interoperability 2014-10-06 12:34:04 -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.