Skip to content

ax-nathan/gen

This branch is 15 commits behind clipperhouse/gen:master.

Folders and files

NameName
Last commit message
Last commit date
Nov 30, 2014
Jan 4, 2015
Jun 1, 2014
Jan 17, 2015
Nov 29, 2014
Nov 26, 2014
Nov 24, 2014
Jan 29, 2015
Feb 7, 2015
Nov 24, 2014
Jan 17, 2015
Dec 14, 2014
Nov 24, 2014
Jan 4, 2015
Feb 7, 2015
Feb 7, 2015
Feb 7, 2015
Jan 29, 2015
Nov 24, 2014
Feb 7, 2015
Feb 7, 2015
Jun 22, 2014
Jun 22, 2014
Jan 18, 2015

Repository files navigation

What’s this?

gen is a code-generation tool for Go. It’s intended to offer generics-like functionality on your types. Out of the box, it offers offers LINQ/underscore-inspired methods.

It also offers third-party, runtime extensibility via typewriters.

####Introduction and docs…

Changelog

Hey, a video

###Contributing

There are three big parts of gen.

####gen

This repository. The gen package is primarily the command-line interface. Most of the work is done by the typewriter package, and individual typewriters.

####typewriter

The typewriter package is where most of the parsing, type evaluation and code generation architecture lives.

####typewriters

Typewriters are where templates and logic live for generating code. Here’s set, which will make a lovely Set container for your type. Here’s slice, which provides the built-in LINQ-like functionality. Here’s stringer, a fork of Rob Pike’s tool.

Third-party typewriters are added easily by the end user. You publish them as Go packages for import. Learn more...

We’d love to see typewriter packages for things like strongly-typed JSON serialization, Queues, Pools or other containers. Anything “of T” is a candidate for a typewriter.

About

Type-driven code generation for Go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.1%
  • Other 0.9%