Skip to content

Generative Programming

drasil-bot edited this page Jun 13, 2024 · 5 revisions

Warning: Wiki should not be edited directly. Edit the files in the ./wiki/ folder instead and make a PR.

This following list provides readings for generative programming (in relative decreasing order of importance) and was migrated from this issue on GitLab.

  1. A Survey of Metaprogramming Languages (Lilis and Savidis 2019)
  2. Overview of Generative Software Development (Czarnecki 2005)
  3. Structured Program Generation Techniques (Smaragdakis, Biboudis, Fourtounis 2017)
  4. Taxonomy of Fundamental Concepts of Meta-Programming (Damasevicius and Stuikys 2008)
  5. When And How To Develop Domain-Specific Languages (Mernik, Heering, Sloane 2003)
  6. Typed Tagless Final Interpreters (Kiselyov 2012)
  7. Finally Tagless, Partially Evaluated: Tagless Staged Interpreters for Simpler Typed Languages (Carette, Kiselyov, Shan 2007)
  8. Multi-stage programming with functors and monads: Eliminating abstraction overhead from generic code (Carette and Kiselyov 2011)
  9. Mechanizing the Development of Software (Smith 1999)
  10. Partially-Static Data as Free Extension of Algebras (Yallop, Von Glehn, Kammar 2018)
  11. The Three Projections of Doctor Futamura (Sigfpe 2009)
  12. Is there a fourth Futamura projection? (Glück 2009)

This topic list for Generative programming is good:

  1. Generators
  2. Interpreters
  3. Staging
  4. DSLs
  5. Quasi-quotations
  6. Templates
  7. AST transformations
  8. Compile-time reflection
  9. Traits
  10. Class composition
  11. Rewrite systems
  12. Partial evaluation
  13. Nameless de Bruijn binding constructs
  14. Lightweight codular staging
  15. Class morphing
  16. Splicing binders
  17. AOP techniques to achieve separation of concerns
  18. Parameterizing over types (generic programming)
  19. Feature modeling - domain engineering
  20. Composition vs. transformation generation
Clone this wiki locally