ginger/README.md

42 lines
1.3 KiB
Markdown
Raw Normal View History

2014-04-16 16:39:24 +00: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:
2014-04-16 16:39:24 +00:00
# Language manifesto
2014-10-01 21:52:13 +00:00
* Anything written in go should be writeable in ginger in as many lines or
fewer.
2014-10-01 21:52:13 +00:00
* When deciding whether to be more go-like or more like an existing lisp
language, err on being go-like.
2014-10-01 21:52:13 +00:00
* The fewer built-in functions, the better. The standard library should be
easily discoverable and always importable so helper functions can be made
available.
2014-10-01 21:52:13 +00:00
* When choosing between adding a syntax rule/datatype and not adding a feature,
err on not adding the feature.
2014-04-16 16:39:24 +00:00
* It is not a goal to make ginger code be usable from go code.
2014-04-16 16:39:24 +00:00
* Naming should use words instead of symbols, except when those symbols are
existing go operators.
2014-04-16 16:39:24 +00:00
* Overloading functions should be used as little as possible. Possibly not at
all
2014-10-06 21:44:07 +00:00
# Documentation
See the [docs](/docs) folder for more details. Keep in mind that most of ginger
2014-10-06 21:44:07 +00:00
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:
* [syntax](/docs/syntax.md)
* [functions](/docs/functions.md)
* [compilation](/docs/compilation.md)
* [packages](/docs/packages.md)
* [go-interop](/docs/go-interop.md)