Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 865 Bytes

README.md

File metadata and controls

28 lines (21 loc) · 865 Bytes

Note: this is experimental, pre-alpha software

metago - A metaprogramming language for Golang

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").

Rationale

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.

Examples

TODO

Planned Features

  • More robust support for introspecting Go Code
  • Support for importing plugins written in Go