Demacs is an extensible way of defining various things. Demacs is written from scratch with the idea of syntax of cl-def in mind. Despite there are some other definer utilities in the wide (e.g. definer, cl-def), almost all of them lack of at least one of below functionalities.

  • Extensibility. (definer doesn't support extensions.)
  • Affordable dependency. (cl-def[1] depends on some libraries, and those libraries depend on some other libraries and so on... You're required to install a dozen of libraries to benefit from a single definer utility. Furthermore, a major portion of related libraries are not available via ASDF-INSTALL.)

To summarize, demacs is implemented with KISS principle in mind. And as a bonus, demacs has no dependencies.

For details (syntax, extensibility support, editor indetation stuff, etc.) README.

convenience library