All Projects → clipperhouse → Gen

clipperhouse / Gen

Licence: other
Type-driven code generation for Go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Gen

Goreuse
Generic Code for Go
Stars: ✭ 93 (-92.54%)
Mutual labels:  generics, code-generation
Syncmap
A typed implementation of the Go sync.Map using code generation
Stars: ✭ 200 (-83.95%)
Mutual labels:  generics, code-generation
go-inline
Generic Data Structures/Algorithms in golang.
Stars: ✭ 52 (-95.83%)
Mutual labels:  generics, code-generation
Spoon
Spoon is a metaprogramming library to analyze and transform Java source code (up to Java 15). 🥄 is made with ❤️, 🍻 and ✨. It parses source files to build a well-designed AST with powerful analysis and transformation API.
Stars: ✭ 1,078 (-13.48%)
Mutual labels:  code-generation
Idris Elixir
A code-generator for Idris that targets Elixir
Stars: ✭ 56 (-95.51%)
Mutual labels:  code-generation
Umesimd
UME::SIMD A library for explicit simd vectorization.
Stars: ✭ 66 (-94.7%)
Mutual labels:  code-generation
Gowrtr
gowrtr is a library that supports golang code generation
Stars: ✭ 70 (-94.38%)
Mutual labels:  code-generation
Scala Db Codegen
Scala code/boilerplate generator from a db schema
Stars: ✭ 49 (-96.07%)
Mutual labels:  code-generation
Mid
mid is a generic domain-specific language for generating code and documentation
Stars: ✭ 68 (-94.54%)
Mutual labels:  code-generation
Elm Street
🌳 Crossing the road between Haskell and Elm
Stars: ✭ 65 (-94.78%)
Mutual labels:  code-generation
Expressiontreetostring
String representations of expression trees + library of expression tree objects
Stars: ✭ 62 (-95.02%)
Mutual labels:  code-generation
Pymbolic
A simple package to do symbolic math (focus on code gen and DSLs)
Stars: ✭ 57 (-95.43%)
Mutual labels:  code-generation
Swift Complex
Complex numbers in Swift
Stars: ✭ 66 (-94.7%)
Mutual labels:  generics
Ffcx
Next generation FEniCS Form Compiler
Stars: ✭ 55 (-95.59%)
Mutual labels:  code-generation
Json2java4idea
A JSON to Java conversion plugin for Intellij IDEA and AndroidStudio.
Stars: ✭ 69 (-94.46%)
Mutual labels:  code-generation
Cognicrypt
CogniCrypt is an Eclipse plugin that supports Java developers in using Java Cryptographic APIs.
Stars: ✭ 50 (-95.99%)
Mutual labels:  code-generation
Dbx
A neat codegen-based database wrapper written in Go
Stars: ✭ 68 (-94.54%)
Mutual labels:  code-generation
Gena
Generic pseudo-templated containers for C. Written entirely in C89 with design inspired by the C++ STL. /// DOCS ARE SLIGHTLY OUTDATED, PROJECT IS STABLE AND STILL IN ACTIVE DEVELOPMENT
Stars: ✭ 61 (-95.1%)
Mutual labels:  generics
Genco
A whitespace-aware quasiquoter for beautiful code generation.
Stars: ✭ 59 (-95.26%)
Mutual labels:  code-generation
Pqt
Postgres schema definition, sql/go, code generation package.
Stars: ✭ 65 (-94.78%)
Mutual labels:  code-generation

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

Typewriters

There is a list of open-source typewriters in TYPEWRITERS.md. Please add your own.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].