diesel = di - es - el = DSL = helper library for creating your own DSL
diesel
is just a small set of functions, macros, and conventions to provide syntactic sugar for creating deeply nested data values.
To my mind, the resulting forms are a bit more readable than the raw data structure they create.
What you end up with may not be a true DSL according to purists. But I think you’ll find it useful. I have.
If nothing else, diesel.core/mk-map
and diesel.core/edit
are worth a look.
They are extremely useful utility functions for creating and editing maps.
To see them in action, look at the core tests.
The functions in diesel.edit
are also general purpose tools for editing nested data.
Take a peek at the edit tests.
For a complete example of a DSL built with the help of diesel
, see seaquell.