Ebisu Dlang

Code generation library that supports generating the structure of D code

<!--- custom <introduction> ---> <!--- end <introduction> --->

Purpose

D is complex. The idea of this library is to put a straightjacket on developers, but give them a key to get out. Go sells itself on simplicity and it has it from a language perspective since its feature list is rather sparse. However, some have pointed out that that simplicity just hides the fact that lots of the problems that need to be solved are complex and taking away language features may not be the best way to provide simplicity.

Another way is to find a set of approaches/patterns/idioms, etc that are known to work and stick with them. When the need for complexity arises, use more of the language.

The intended use of this library is to generate D source that, for better or worse, is extremely consistent. It will ensure:

  • All names are consistently defined and cased
  • All files are put in standard places
  • All classes are laid out in standard fashion
  • All members that have accessors do it in a consistent manner

Plus it will provide a key to use the language as developer sees fit. This key is in the form of allowing custom code to be comingled with generated code.

<!--- custom <purpose> ---> <!--- end <purpose> --->

<!--- custom <body> ---> <!--- end <body> --->

Examples

<!--- custom <examples> ---> <!--- end <examples> --->

Libraries

dlang_meta
dlang_meta