Genoupe is a language extension of C# that allows you to write and use generators. The generator language is similar to C# and can be used to generate a variety of C# entities.
Genoupe can be applied to a wide range of code generation problems: it is possible to generate adapted class extensions, wrappers and whole sets of specially factured types. All kinds of interfaces can be conveniently generated, no matter if it is a GUI, a web interface, a database interface, or an API.
The language is designed in a way that allows static checking of certain safety issues, like termination and generalized notions of type safety. In particular, parts in a generator that can potetially generate malformed code can be detected.