@hackage ede0.3.4.0

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 features:

  • 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 include expressions.

  • 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.