Templating language with similar syntax and features to Liquid or Jinja2
ED-E is a templating language written in Haskell with a specific set of
Logicless within reason. A small set of consistent predicates and expressions
for formatting and presentational logic are provided.
Secure. No arbitrary code evaluation, with input data required to be fully
specified at render time.
Stateless. Parsing and rendering are separate steps so that loading, parsing,
include resolution, and embedding of the compiled template can optionally be
done ahead of time, amortising cost.
Markup agnostic. ED-E is used to write out everything from configuration
files for system services, to HTML and formatted emails.
Control over purity. Users can choose pure or IO-based resolution of
No surprises. All parsing, type assurances, and rendering steps report
helpful error messages with line/column metadata. Variable shadowing,
unprintable expressions, implicit type coercion, and unbound variable access
are all treated as errors.