Note: this is experimental, pre-alpha software
Metago isn't really a whole language, it's more like a framework for writing "code mods" and code generators in Go's template language ("text/template").
One of Go's strengths is its simplicity. For most code this
simplicity is very beneficial. However there's a certain
kind of code where Go's simplicity can start to get in the
way. Examples of this include the sort
package and
other cases where one would traditionally use generics.
Other examples include boilerplate code such as the code
generated by stringer
. The goal of metago is to help keep
Go simple by adressing the (very few) downsides of
simplicity.
TODO
- More robust support for introspecting Go Code
- Support for importing plugins written in Go